{
    "name": "filescom",
    "displayName": "Files.com",
    "description": "A Pulumi package to create and manage Files.com resources.",
    "keywords": [
        "pulumi",
        "filescom",
        "files.com",
        "category/cloud"
    ],
    "homepage": "https://www.files.com",
    "license": "Apache-2.0",
    "attribution": "This Pulumi package is based on the [`filescom` Terraform Provider](https://github.com/Files-com/terraform-provider-files).",
    "repository": "https://github.com/jschady/pulumi-filescom",
    "logoUrl": "https://raw.githubusercontent.com/jschady/pulumi-filescom/main/docs/logo.svg",
    "pluginDownloadURL": "github://api.github.com/jschady/pulumi-filescom",
    "publisher": "jschady",
    "meta": {
        "moduleFormat": "(.*)(?:/[^/]*)"
    },
    "language": {
        "csharp": {
            "packageReferences": {
                "Pulumi": "3.*"
            },
            "compatibility": "tfbridge20",
            "rootNamespace": "Jschady",
            "respectSchemaVersion": true
        },
        "go": {
            "importBasePath": "github.com/jschady/pulumi-filescom/sdk/go/filescom",
            "generateResourceContainerTypes": true,
            "generateExtraInputTypes": true,
            "respectSchemaVersion": true
        },
        "nodejs": {
            "packageName": "pulumi-filescom",
            "packageDescription": "A Pulumi package to create and manage Files.com resources.",
            "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/Files-com/terraform-provider-files)\n\u003e distributed under [MIT](https://mit-license.org/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-filescom` repo](https://github.com/jschady/pulumi-filescom/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-files` repo](https://github.com/Files-com/terraform-provider-files/issues).",
            "compatibility": "tfbridge20",
            "disableUnionOutputTypes": true,
            "respectSchemaVersion": true
        },
        "python": {
            "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/Files-com/terraform-provider-files)\n\u003e distributed under [MIT](https://mit-license.org/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-filescom` repo](https://github.com/jschady/pulumi-filescom/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-files` repo](https://github.com/Files-com/terraform-provider-files/issues).",
            "compatibility": "tfbridge20",
            "respectSchemaVersion": true,
            "pyproject": {
                "enabled": true
            }
        }
    },
    "config": {
        "variables": {
            "apiKey": {
                "type": "string",
                "description": "The API key used to authenticate with Files.com. It can also be sourced from the `FILES_API_KEY` environment variable.",
                "defaultInfo": {
                    "environment": [
                        "FILES_API_KEY"
                    ]
                },
                "secret": true
            },
            "endpointOverride": {
                "type": "string",
                "description": "Required if your site is configured to disable global acceleration. This can also be set to use a mock server in development or CI."
            },
            "environment": {
                "type": "string"
            },
            "featureFlags": {
                "type": "array",
                "items": {
                    "type": "string"
                }
            }
        }
    },
    "types": {
        "filescom:index/AutomationDefinition:AutomationDefinition": {
            "properties": {
                "edges": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionEdge:AutomationDefinitionEdge"
                    },
                    "description": "Directed connections between nodes.\n"
                },
                "nodes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNode:AutomationDefinitionNode"
                    },
                    "description": "Flat list of nodes. Every node requires a unique id and a type, accepts the node-specific config fields documented below, and action or control-flow nodes may set return to true to include their output in the Automation result.\n"
                },
                "schemaVersion": {
                    "type": "integer",
                    "description": "Automation definition schema version.\n"
                }
            },
            "type": "object",
            "required": [
                "edges",
                "nodes",
                "schemaVersion"
            ]
        },
        "filescom:index/AutomationDefinitionEdge:AutomationDefinitionEdge": {
            "properties": {
                "from": {
                    "type": "string",
                    "description": "Source node ID.\n"
                },
                "input": {
                    "type": "string",
                    "description": "Named destination input. Omit for the main input.\n"
                },
                "output": {
                    "type": "string",
                    "description": "Named source output. Omit for the main output.\n"
                },
                "to": {
                    "type": "string",
                    "description": "Destination node ID.\n"
                }
            },
            "type": "object",
            "required": [
                "from",
                "to"
            ]
        },
        "filescom:index/AutomationDefinitionNode:AutomationDefinitionNode": {
            "properties": {
                "agentCompute": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeAgentCompute:AutomationDefinitionNodeAgentCompute"
                },
                "aggregate": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeAggregate:AutomationDefinitionNodeAggregate"
                },
                "as2Send": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeAs2Send:AutomationDefinitionNodeAs2Send"
                },
                "copyFile": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeCopyFile:AutomationDefinitionNodeCopyFile"
                },
                "createFolder": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeCreateFolder:AutomationDefinitionNodeCreateFolder"
                },
                "deleteFile": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeDeleteFile:AutomationDefinitionNodeDeleteFile"
                },
                "documentConvert": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeDocumentConvert:AutomationDefinitionNodeDocumentConvert"
                },
                "extract": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeExtract:AutomationDefinitionNodeExtract"
                },
                "filter": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeFilter:AutomationDefinitionNodeFilter"
                },
                "gpgDecrypt": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeGpgDecrypt:AutomationDefinitionNodeGpgDecrypt"
                },
                "gpgEncrypt": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeGpgEncrypt:AutomationDefinitionNodeGpgEncrypt"
                },
                "if": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeIf:AutomationDefinitionNodeIf"
                },
                "imageConvert": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeImageConvert:AutomationDefinitionNodeImageConvert"
                },
                "importFile": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeImportFile:AutomationDefinitionNodeImportFile"
                },
                "join": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeJoin:AutomationDefinitionNodeJoin"
                },
                "moveFile": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeMoveFile:AutomationDefinitionNodeMoveFile"
                },
                "runAutomation": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeRunAutomation:AutomationDefinitionNodeRunAutomation"
                },
                "runSync": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeRunSync:AutomationDefinitionNodeRunSync"
                },
                "sendEmail": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeSendEmail:AutomationDefinitionNodeSendEmail"
                },
                "setMetadata": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeSetMetadata:AutomationDefinitionNodeSetMetadata"
                },
                "switch": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeSwitch:AutomationDefinitionNodeSwitch"
                },
                "transform": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeTransform:AutomationDefinitionNodeTransform"
                },
                "triggerAction": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeTriggerAction:AutomationDefinitionNodeTriggerAction"
                },
                "triggerEmail": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeTriggerEmail:AutomationDefinitionNodeTriggerEmail"
                },
                "triggerManual": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeTriggerManual:AutomationDefinitionNodeTriggerManual"
                },
                "triggerScheduled": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeTriggerScheduled:AutomationDefinitionNodeTriggerScheduled"
                },
                "triggerWebhook": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeTriggerWebhook:AutomationDefinitionNodeTriggerWebhook"
                },
                "unzip": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeUnzip:AutomationDefinitionNodeUnzip"
                },
                "wait": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeWait:AutomationDefinitionNodeWait"
                },
                "zip": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeZip:AutomationDefinitionNodeZip"
                }
            },
            "type": "object"
        },
        "filescom:index/AutomationDefinitionNodeAgentCompute:AutomationDefinitionNodeAgentCompute": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeAgentComputeConfig:AutomationDefinitionNodeAgentComputeConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeAgentComputeConfig:AutomationDefinitionNodeAgentComputeConfig": {
            "properties": {
                "arguments": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "command": {
                    "type": "string"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeAgentComputeConfigOnError:AutomationDefinitionNodeAgentComputeConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "remoteServerId": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "command",
                "remoteServerId"
            ]
        },
        "filescom:index/AutomationDefinitionNodeAgentComputeConfigOnError:AutomationDefinitionNodeAgentComputeConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/AutomationDefinitionNodeAggregate:AutomationDefinitionNodeAggregate": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeAggregateConfig:AutomationDefinitionNodeAggregateConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeAggregateConfig:AutomationDefinitionNodeAggregateConfig": {
            "properties": {
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeAggregateConfigOnError:AutomationDefinitionNodeAggregateConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                }
            },
            "type": "object"
        },
        "filescom:index/AutomationDefinitionNodeAggregateConfigOnError:AutomationDefinitionNodeAggregateConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/AutomationDefinitionNodeAs2Send:AutomationDefinitionNodeAs2Send": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeAs2SendConfig:AutomationDefinitionNodeAs2SendConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeAs2SendConfig:AutomationDefinitionNodeAs2SendConfig": {
            "properties": {
                "as2PartnerId": {
                    "type": "integer"
                },
                "as2StationId": {
                    "type": "integer"
                },
                "as2Subject": {
                    "type": "string"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeAs2SendConfigOnError:AutomationDefinitionNodeAs2SendConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                }
            },
            "type": "object",
            "required": [
                "as2PartnerId",
                "as2StationId"
            ]
        },
        "filescom:index/AutomationDefinitionNodeAs2SendConfigOnError:AutomationDefinitionNodeAs2SendConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/AutomationDefinitionNodeCopyFile:AutomationDefinitionNodeCopyFile": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeCopyFileConfig:AutomationDefinitionNodeCopyFileConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeCopyFileConfig:AutomationDefinitionNodeCopyFileConfig": {
            "properties": {
                "alwaysOverwriteSizeMatchingFiles": {
                    "type": "boolean"
                },
                "destinationReplaceFrom": {
                    "type": "string"
                },
                "destinationReplaceTo": {
                    "type": "string"
                },
                "destinations": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "One or more destination path templates.\n"
                },
                "excludePattern": {
                    "type": "string"
                },
                "flattenDestinationStructure": {
                    "type": "boolean"
                },
                "ignoreLockedFolders": {
                    "type": "boolean"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeCopyFileConfigOnError:AutomationDefinitionNodeCopyFileConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "overwriteFiles": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "filescom:index/AutomationDefinitionNodeCopyFileConfigOnError:AutomationDefinitionNodeCopyFileConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/AutomationDefinitionNodeCreateFolder:AutomationDefinitionNodeCreateFolder": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeCreateFolderConfig:AutomationDefinitionNodeCreateFolderConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeCreateFolderConfig:AutomationDefinitionNodeCreateFolderConfig": {
            "properties": {
                "destinations": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "One or more destination path templates.\n"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeCreateFolderConfigOnError:AutomationDefinitionNodeCreateFolderConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                }
            },
            "type": "object",
            "required": [
                "destinations"
            ]
        },
        "filescom:index/AutomationDefinitionNodeCreateFolderConfigOnError:AutomationDefinitionNodeCreateFolderConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/AutomationDefinitionNodeDeleteFile:AutomationDefinitionNodeDeleteFile": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeDeleteFileConfig:AutomationDefinitionNodeDeleteFileConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeDeleteFileConfig:AutomationDefinitionNodeDeleteFileConfig": {
            "properties": {
                "excludePattern": {
                    "type": "string"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeDeleteFileConfigOnError:AutomationDefinitionNodeDeleteFileConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                }
            },
            "type": "object"
        },
        "filescom:index/AutomationDefinitionNodeDeleteFileConfigOnError:AutomationDefinitionNodeDeleteFileConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/AutomationDefinitionNodeDocumentConvert:AutomationDefinitionNodeDocumentConvert": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeDocumentConvertConfig:AutomationDefinitionNodeDocumentConvertConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeDocumentConvertConfig:AutomationDefinitionNodeDocumentConvertConfig": {
            "properties": {
                "destination": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeDocumentConvertConfigOnError:AutomationDefinitionNodeDocumentConvertConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "overwriteFiles": {
                    "type": "boolean"
                },
                "targetFormat": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "targetFormat"
            ]
        },
        "filescom:index/AutomationDefinitionNodeDocumentConvertConfigOnError:AutomationDefinitionNodeDocumentConvertConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/AutomationDefinitionNodeExtract:AutomationDefinitionNodeExtract": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeExtractConfig:AutomationDefinitionNodeExtractConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeExtractConfig:AutomationDefinitionNodeExtractConfig": {
            "properties": {
                "contentMode": {
                    "type": "string"
                },
                "includeContent": {
                    "type": "boolean"
                },
                "includeMetadata": {
                    "type": "boolean"
                },
                "maxChars": {
                    "type": "integer"
                },
                "maxPages": {
                    "type": "integer"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeExtractConfigOnError:AutomationDefinitionNodeExtractConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                }
            },
            "type": "object"
        },
        "filescom:index/AutomationDefinitionNodeExtractConfigOnError:AutomationDefinitionNodeExtractConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/AutomationDefinitionNodeFilter:AutomationDefinitionNodeFilter": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeFilterConfig:AutomationDefinitionNodeFilterConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeFilterConfig:AutomationDefinitionNodeFilterConfig": {
            "properties": {
                "condition": {
                    "type": "string",
                    "description": "A bare Files TransformScript expression, no braces.\n"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeFilterConfigOnError:AutomationDefinitionNodeFilterConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                }
            },
            "type": "object",
            "required": [
                "condition"
            ]
        },
        "filescom:index/AutomationDefinitionNodeFilterConfigOnError:AutomationDefinitionNodeFilterConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/AutomationDefinitionNodeGpgDecrypt:AutomationDefinitionNodeGpgDecrypt": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeGpgDecryptConfig:AutomationDefinitionNodeGpgDecryptConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeGpgDecryptConfig:AutomationDefinitionNodeGpgDecryptConfig": {
            "properties": {
                "destination": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                },
                "gpgKeyId": {
                    "type": "integer"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeGpgDecryptConfigOnError:AutomationDefinitionNodeGpgDecryptConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "overwriteFiles": {
                    "type": "boolean"
                }
            },
            "type": "object",
            "required": [
                "gpgKeyId"
            ]
        },
        "filescom:index/AutomationDefinitionNodeGpgDecryptConfigOnError:AutomationDefinitionNodeGpgDecryptConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/AutomationDefinitionNodeGpgEncrypt:AutomationDefinitionNodeGpgEncrypt": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeGpgEncryptConfig:AutomationDefinitionNodeGpgEncryptConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeGpgEncryptConfig:AutomationDefinitionNodeGpgEncryptConfig": {
            "properties": {
                "destination": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                },
                "gpgKeyId": {
                    "type": "integer"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeGpgEncryptConfigOnError:AutomationDefinitionNodeGpgEncryptConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "overwriteFiles": {
                    "type": "boolean"
                }
            },
            "type": "object",
            "required": [
                "gpgKeyId"
            ]
        },
        "filescom:index/AutomationDefinitionNodeGpgEncryptConfigOnError:AutomationDefinitionNodeGpgEncryptConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/AutomationDefinitionNodeIf:AutomationDefinitionNodeIf": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeIfConfig:AutomationDefinitionNodeIfConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeIfConfig:AutomationDefinitionNodeIfConfig": {
            "properties": {
                "condition": {
                    "type": "string",
                    "description": "A bare Files TransformScript expression, no braces.\n"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeIfConfigOnError:AutomationDefinitionNodeIfConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                }
            },
            "type": "object",
            "required": [
                "condition"
            ]
        },
        "filescom:index/AutomationDefinitionNodeIfConfigOnError:AutomationDefinitionNodeIfConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/AutomationDefinitionNodeImageConvert:AutomationDefinitionNodeImageConvert": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeImageConvertConfig:AutomationDefinitionNodeImageConvertConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeImageConvertConfig:AutomationDefinitionNodeImageConvertConfig": {
            "properties": {
                "destination": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                },
                "height": {
                    "type": "integer"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeImageConvertConfigOnError:AutomationDefinitionNodeImageConvertConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "overwriteFiles": {
                    "type": "boolean"
                },
                "targetFormat": {
                    "type": "string"
                },
                "width": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "targetFormat"
            ]
        },
        "filescom:index/AutomationDefinitionNodeImageConvertConfigOnError:AutomationDefinitionNodeImageConvertConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/AutomationDefinitionNodeImportFile:AutomationDefinitionNodeImportFile": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeImportFileConfig:AutomationDefinitionNodeImportFileConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeImportFileConfig:AutomationDefinitionNodeImportFileConfig": {
            "properties": {
                "content": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                },
                "destination": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                },
                "headers": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "method": {
                    "type": "string"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeImportFileConfigOnError:AutomationDefinitionNodeImportFileConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "url": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "filescom:index/AutomationDefinitionNodeImportFileConfigOnError:AutomationDefinitionNodeImportFileConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/AutomationDefinitionNodeJoin:AutomationDefinitionNodeJoin": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeJoinConfig:AutomationDefinitionNodeJoinConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeJoinConfig:AutomationDefinitionNodeJoinConfig": {
            "properties": {
                "joinType": {
                    "type": "string"
                },
                "leftKey": {
                    "type": "string",
                    "description": "A bare Files TransformScript expression, no braces.\n"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeJoinConfigOnError:AutomationDefinitionNodeJoinConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "rightKey": {
                    "type": "string",
                    "description": "A bare Files TransformScript expression, no braces.\n"
                }
            },
            "type": "object",
            "required": [
                "leftKey",
                "rightKey"
            ]
        },
        "filescom:index/AutomationDefinitionNodeJoinConfigOnError:AutomationDefinitionNodeJoinConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/AutomationDefinitionNodeMoveFile:AutomationDefinitionNodeMoveFile": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeMoveFileConfig:AutomationDefinitionNodeMoveFileConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeMoveFileConfig:AutomationDefinitionNodeMoveFileConfig": {
            "properties": {
                "destinationReplaceFrom": {
                    "type": "string"
                },
                "destinationReplaceTo": {
                    "type": "string"
                },
                "destinations": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "One or more destination path templates.\n"
                },
                "excludePattern": {
                    "type": "string"
                },
                "flattenDestinationStructure": {
                    "type": "boolean"
                },
                "ignoreLockedFolders": {
                    "type": "boolean"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeMoveFileConfigOnError:AutomationDefinitionNodeMoveFileConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "overwriteFiles": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "filescom:index/AutomationDefinitionNodeMoveFileConfigOnError:AutomationDefinitionNodeMoveFileConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/AutomationDefinitionNodeRunAutomation:AutomationDefinitionNodeRunAutomation": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeRunAutomationConfig:AutomationDefinitionNodeRunAutomationConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeRunAutomationConfig:AutomationDefinitionNodeRunAutomationConfig": {
            "properties": {
                "automationId": {
                    "type": "integer"
                },
                "automationVersion": {
                    "type": "integer"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeRunAutomationConfigOnError:AutomationDefinitionNodeRunAutomationConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                }
            },
            "type": "object",
            "required": [
                "automationId",
                "automationVersion"
            ]
        },
        "filescom:index/AutomationDefinitionNodeRunAutomationConfigOnError:AutomationDefinitionNodeRunAutomationConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/AutomationDefinitionNodeRunSync:AutomationDefinitionNodeRunSync": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeRunSyncConfig:AutomationDefinitionNodeRunSyncConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeRunSyncConfig:AutomationDefinitionNodeRunSyncConfig": {
            "properties": {
                "legacySyncIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeRunSyncConfigOnError:AutomationDefinitionNodeRunSyncConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "syncIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            },
            "type": "object"
        },
        "filescom:index/AutomationDefinitionNodeRunSyncConfigOnError:AutomationDefinitionNodeRunSyncConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/AutomationDefinitionNodeSendEmail:AutomationDefinitionNodeSendEmail": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeSendEmailConfig:AutomationDefinitionNodeSendEmailConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeSendEmailConfig:AutomationDefinitionNodeSendEmailConfig": {
            "properties": {
                "attachments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "bccs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "body": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                },
                "ccs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "from": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeSendEmailConfigOnError:AutomationDefinitionNodeSendEmailConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "subject": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                },
                "tos": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "tos"
            ]
        },
        "filescom:index/AutomationDefinitionNodeSendEmailConfigOnError:AutomationDefinitionNodeSendEmailConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/AutomationDefinitionNodeSetMetadata:AutomationDefinitionNodeSetMetadata": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeSetMetadataConfig:AutomationDefinitionNodeSetMetadataConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeSetMetadataConfig:AutomationDefinitionNodeSetMetadataConfig": {
            "properties": {
                "metadata": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeSetMetadataConfigOnError:AutomationDefinitionNodeSetMetadataConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                }
            },
            "type": "object",
            "required": [
                "metadata"
            ]
        },
        "filescom:index/AutomationDefinitionNodeSetMetadataConfigOnError:AutomationDefinitionNodeSetMetadataConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/AutomationDefinitionNodeSwitch:AutomationDefinitionNodeSwitch": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeSwitchConfig:AutomationDefinitionNodeSwitchConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeSwitchConfig:AutomationDefinitionNodeSwitchConfig": {
            "properties": {
                "cases": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeSwitchConfigCase:AutomationDefinitionNodeSwitchConfigCase"
                    },
                    "description": "Switch cases. Each item contains a unique output name and the condition that sends items to it.\n"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeSwitchConfigOnError:AutomationDefinitionNodeSwitchConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                }
            },
            "type": "object",
            "required": [
                "cases"
            ]
        },
        "filescom:index/AutomationDefinitionNodeSwitchConfigCase:AutomationDefinitionNodeSwitchConfigCase": {
            "properties": {
                "condition": {
                    "type": "string",
                    "description": "A bare Files TransformScript expression, no braces.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Identifier used to connect nodes and named inputs or outputs.\n"
                }
            },
            "type": "object",
            "required": [
                "condition",
                "name"
            ]
        },
        "filescom:index/AutomationDefinitionNodeSwitchConfigOnError:AutomationDefinitionNodeSwitchConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/AutomationDefinitionNodeTransform:AutomationDefinitionNodeTransform": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeTransformConfig:AutomationDefinitionNodeTransformConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeTransformConfig:AutomationDefinitionNodeTransformConfig": {
            "properties": {
                "destination": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                },
                "fts": {
                    "type": "string"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeTransformConfigOnError:AutomationDefinitionNodeTransformConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                }
            },
            "type": "object",
            "required": [
                "fts"
            ]
        },
        "filescom:index/AutomationDefinitionNodeTransformConfigOnError:AutomationDefinitionNodeTransformConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/AutomationDefinitionNodeTriggerAction:AutomationDefinitionNodeTriggerAction": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeTriggerActionConfig:AutomationDefinitionNodeTriggerActionConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeTriggerActionConfig:AutomationDefinitionNodeTriggerActionConfig": {
            "properties": {
                "excludePattern": {
                    "type": "string"
                },
                "path": {
                    "type": "string"
                },
                "pathTimeZone": {
                    "type": "string"
                },
                "source": {
                    "type": "string"
                },
                "triggerActions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "triggerActions"
            ]
        },
        "filescom:index/AutomationDefinitionNodeTriggerEmail:AutomationDefinitionNodeTriggerEmail": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeTriggerEmailConfig:AutomationDefinitionNodeTriggerEmailConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                }
            },
            "type": "object",
            "required": [
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeTriggerEmailConfig:AutomationDefinitionNodeTriggerEmailConfig": {
            "properties": {
                "allowedSenders": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "excludePattern": {
                    "type": "string"
                },
                "limit": {
                    "type": "integer"
                },
                "pathTimeZone": {
                    "type": "string"
                },
                "saveBody": {
                    "type": "boolean"
                },
                "source": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "filescom:index/AutomationDefinitionNodeTriggerManual:AutomationDefinitionNodeTriggerManual": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeTriggerManualConfig:AutomationDefinitionNodeTriggerManualConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                }
            },
            "type": "object",
            "required": [
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeTriggerManualConfig:AutomationDefinitionNodeTriggerManualConfig": {
            "properties": {
                "excludePattern": {
                    "type": "string"
                },
                "limit": {
                    "type": "integer"
                },
                "path": {
                    "type": "string"
                },
                "pathTimeZone": {
                    "type": "string"
                },
                "source": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "filescom:index/AutomationDefinitionNodeTriggerScheduled:AutomationDefinitionNodeTriggerScheduled": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeTriggerScheduledConfig:AutomationDefinitionNodeTriggerScheduledConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                }
            },
            "type": "object",
            "required": [
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeTriggerScheduledConfig:AutomationDefinitionNodeTriggerScheduledConfig": {
            "properties": {
                "excludePattern": {
                    "type": "string"
                },
                "holidayRegion": {
                    "type": "string"
                },
                "interval": {
                    "type": "string"
                },
                "limit": {
                    "type": "integer"
                },
                "path": {
                    "type": "string"
                },
                "pathTimeZone": {
                    "type": "string"
                },
                "recurringDay": {
                    "type": "integer"
                },
                "recurringDays": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "scheduleDaysOfWeeks": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "scheduleId": {
                    "type": "integer"
                },
                "scheduleTimeZone": {
                    "type": "string"
                },
                "scheduleTimesOfDays": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "source": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "filescom:index/AutomationDefinitionNodeTriggerWebhook:AutomationDefinitionNodeTriggerWebhook": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeTriggerWebhookConfig:AutomationDefinitionNodeTriggerWebhookConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                }
            },
            "type": "object",
            "required": [
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeTriggerWebhookConfig:AutomationDefinitionNodeTriggerWebhookConfig": {
            "properties": {
                "excludePattern": {
                    "type": "string"
                },
                "limit": {
                    "type": "integer"
                },
                "path": {
                    "type": "string"
                },
                "pathTimeZone": {
                    "type": "string"
                },
                "source": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "filescom:index/AutomationDefinitionNodeUnzip:AutomationDefinitionNodeUnzip": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeUnzipConfig:AutomationDefinitionNodeUnzipConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeUnzipConfig:AutomationDefinitionNodeUnzipConfig": {
            "properties": {
                "destination": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeUnzipConfigOnError:AutomationDefinitionNodeUnzipConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "overwriteFiles": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "filescom:index/AutomationDefinitionNodeUnzipConfigOnError:AutomationDefinitionNodeUnzipConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/AutomationDefinitionNodeWait:AutomationDefinitionNodeWait": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeWaitConfig:AutomationDefinitionNodeWaitConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeWaitConfig:AutomationDefinitionNodeWaitConfig": {
            "properties": {
                "delaySeconds": {
                    "type": "integer"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeWaitConfigOnError:AutomationDefinitionNodeWaitConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                }
            },
            "type": "object"
        },
        "filescom:index/AutomationDefinitionNodeWaitConfigOnError:AutomationDefinitionNodeWaitConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/AutomationDefinitionNodeZip:AutomationDefinitionNodeZip": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/AutomationDefinitionNodeZipConfig:AutomationDefinitionNodeZipConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id"
            ]
        },
        "filescom:index/AutomationDefinitionNodeZipConfig:AutomationDefinitionNodeZipConfig": {
            "properties": {
                "destination": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/AutomationDefinitionNodeZipConfigOnError:AutomationDefinitionNodeZipConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "overwriteFiles": {
                    "type": "boolean"
                }
            },
            "type": "object",
            "required": [
                "destination"
            ]
        },
        "filescom:index/AutomationDefinitionNodeZipConfigOnError:AutomationDefinitionNodeZipConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ]
        },
        "filescom:index/HolidayCalendarDefinition:HolidayCalendarDefinition": {
            "properties": {
                "months": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/filescom:index/HolidayCalendarDefinitionMonths:HolidayCalendarDefinitionMonths"
                    },
                    "description": "Keys 1 through 12 contain rules for that month. Key 0 contains calculated-date rules. At most 366 rules are allowed across all months.\n"
                }
            },
            "type": "object",
            "required": [
                "months"
            ]
        },
        "filescom:index/HolidayCalendarDefinitionMonths:HolidayCalendarDefinitionMonths": {
            "properties": {
                "calculatedRules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/HolidayCalendarDefinitionMonthsCalculatedRule:HolidayCalendarDefinitionMonthsCalculatedRule"
                    }
                },
                "fixedRules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/HolidayCalendarDefinitionMonthsFixedRule:HolidayCalendarDefinitionMonthsFixedRule"
                    }
                },
                "weekdayRules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/HolidayCalendarDefinitionMonthsWeekdayRule:HolidayCalendarDefinitionMonthsWeekdayRule"
                    }
                }
            },
            "type": "object"
        },
        "filescom:index/HolidayCalendarDefinitionMonthsCalculatedRule:HolidayCalendarDefinitionMonthsCalculatedRule": {
            "properties": {
                "endTime": {
                    "type": "string",
                    "description": "Exclusive end of a partial-day window in 24-hour HH:MM or HH:MM:SS format. Must be later than start_time.\n"
                },
                "function": {
                    "type": "string",
                    "description": "Supported calculated-date function.\n"
                },
                "functionModifier": {
                    "type": "integer",
                    "description": "Number of days to add to or subtract from the calculated date.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Optional rule name.\n"
                },
                "observed": {
                    "type": "string",
                    "description": "Optional function used to move the selected date when it falls on a weekend.\n"
                },
                "startTime": {
                    "type": "string",
                    "description": "Inclusive start of a partial-day window in 24-hour HH:MM or HH:MM:SS format. Must be earlier than end_time.\n"
                },
                "yearRanges": {
                    "$ref": "#/types/filescom:index/HolidayCalendarDefinitionMonthsCalculatedRuleYearRanges:HolidayCalendarDefinitionMonthsCalculatedRuleYearRanges",
                    "description": "Optional inclusive year restriction.\n"
                }
            },
            "type": "object",
            "required": [
                "function"
            ]
        },
        "filescom:index/HolidayCalendarDefinitionMonthsCalculatedRuleYearRanges:HolidayCalendarDefinitionMonthsCalculatedRuleYearRanges": {
            "properties": {
                "between": {
                    "$ref": "#/types/filescom:index/HolidayCalendarDefinitionMonthsCalculatedRuleYearRangesBetween:HolidayCalendarDefinitionMonthsCalculatedRuleYearRangesBetween",
                    "description": "Required start and end years.\n"
                },
                "from": {
                    "type": "integer",
                    "description": "First year in which the rule applies.\n"
                },
                "limiteds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Years in which the rule applies.\n"
                },
                "until": {
                    "type": "integer",
                    "description": "Last year in which the rule applies.\n"
                }
            },
            "type": "object"
        },
        "filescom:index/HolidayCalendarDefinitionMonthsCalculatedRuleYearRangesBetween:HolidayCalendarDefinitionMonthsCalculatedRuleYearRangesBetween": {
            "properties": {
                "end": {
                    "type": "integer"
                },
                "start": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "end",
                "start"
            ]
        },
        "filescom:index/HolidayCalendarDefinitionMonthsFixedRule:HolidayCalendarDefinitionMonthsFixedRule": {
            "properties": {
                "endTime": {
                    "type": "string",
                    "description": "Exclusive end of a partial-day window in 24-hour HH:MM or HH:MM:SS format. Must be later than start_time.\n"
                },
                "mday": {
                    "type": "integer",
                    "description": "Day of the month. Must be valid for the selected month.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Optional rule name.\n"
                },
                "observed": {
                    "type": "string",
                    "description": "Optional function used to move the selected date when it falls on a weekend.\n"
                },
                "startTime": {
                    "type": "string",
                    "description": "Inclusive start of a partial-day window in 24-hour HH:MM or HH:MM:SS format. Must be earlier than end_time.\n"
                },
                "yearRanges": {
                    "$ref": "#/types/filescom:index/HolidayCalendarDefinitionMonthsFixedRuleYearRanges:HolidayCalendarDefinitionMonthsFixedRuleYearRanges",
                    "description": "Optional inclusive year restriction.\n"
                }
            },
            "type": "object",
            "required": [
                "mday"
            ]
        },
        "filescom:index/HolidayCalendarDefinitionMonthsFixedRuleYearRanges:HolidayCalendarDefinitionMonthsFixedRuleYearRanges": {
            "properties": {
                "between": {
                    "$ref": "#/types/filescom:index/HolidayCalendarDefinitionMonthsFixedRuleYearRangesBetween:HolidayCalendarDefinitionMonthsFixedRuleYearRangesBetween",
                    "description": "Required start and end years.\n"
                },
                "from": {
                    "type": "integer",
                    "description": "First year in which the rule applies.\n"
                },
                "limiteds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Years in which the rule applies.\n"
                },
                "until": {
                    "type": "integer",
                    "description": "Last year in which the rule applies.\n"
                }
            },
            "type": "object"
        },
        "filescom:index/HolidayCalendarDefinitionMonthsFixedRuleYearRangesBetween:HolidayCalendarDefinitionMonthsFixedRuleYearRangesBetween": {
            "properties": {
                "end": {
                    "type": "integer"
                },
                "start": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "end",
                "start"
            ]
        },
        "filescom:index/HolidayCalendarDefinitionMonthsWeekdayRule:HolidayCalendarDefinitionMonthsWeekdayRule": {
            "properties": {
                "endTime": {
                    "type": "string",
                    "description": "Exclusive end of a partial-day window in 24-hour HH:MM or HH:MM:SS format. Must be later than start_time.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Optional rule name.\n"
                },
                "observed": {
                    "type": "string",
                    "description": "Optional function used to move the selected date when it falls on a weekend.\n"
                },
                "startTime": {
                    "type": "string",
                    "description": "Inclusive start of a partial-day window in 24-hour HH:MM or HH:MM:SS format. Must be earlier than end_time.\n"
                },
                "wday": {
                    "type": "integer",
                    "description": "Day of the week, where 0 is Sunday and 6 is Saturday.\n"
                },
                "week": {
                    "type": "integer",
                    "description": "Occurrence of the weekday in the month. Negative values count from the end of the month.\n"
                },
                "yearRanges": {
                    "$ref": "#/types/filescom:index/HolidayCalendarDefinitionMonthsWeekdayRuleYearRanges:HolidayCalendarDefinitionMonthsWeekdayRuleYearRanges",
                    "description": "Optional inclusive year restriction.\n"
                }
            },
            "type": "object",
            "required": [
                "wday",
                "week"
            ]
        },
        "filescom:index/HolidayCalendarDefinitionMonthsWeekdayRuleYearRanges:HolidayCalendarDefinitionMonthsWeekdayRuleYearRanges": {
            "properties": {
                "between": {
                    "$ref": "#/types/filescom:index/HolidayCalendarDefinitionMonthsWeekdayRuleYearRangesBetween:HolidayCalendarDefinitionMonthsWeekdayRuleYearRangesBetween",
                    "description": "Required start and end years.\n"
                },
                "from": {
                    "type": "integer",
                    "description": "First year in which the rule applies.\n"
                },
                "limiteds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Years in which the rule applies.\n"
                },
                "until": {
                    "type": "integer",
                    "description": "Last year in which the rule applies.\n"
                }
            },
            "type": "object"
        },
        "filescom:index/HolidayCalendarDefinitionMonthsWeekdayRuleYearRangesBetween:HolidayCalendarDefinitionMonthsWeekdayRuleYearRangesBetween": {
            "properties": {
                "end": {
                    "type": "integer"
                },
                "start": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "end",
                "start"
            ]
        },
        "filescom:index/getAutomationDefinition:getAutomationDefinition": {
            "properties": {
                "edges": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionEdge:getAutomationDefinitionEdge"
                    },
                    "description": "Directed connections between nodes.\n"
                },
                "nodes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNode:getAutomationDefinitionNode"
                    },
                    "description": "Flat list of nodes. Every node requires a unique id and a type, accepts the node-specific config fields documented below, and action or control-flow nodes may set return to true to include their output in the Automation result.\n"
                },
                "schemaVersion": {
                    "type": "integer",
                    "description": "Automation definition schema version.\n"
                }
            },
            "type": "object",
            "required": [
                "edges",
                "nodes",
                "schemaVersion"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionEdge:getAutomationDefinitionEdge": {
            "properties": {
                "from": {
                    "type": "string",
                    "description": "Source node ID.\n"
                },
                "input": {
                    "type": "string",
                    "description": "Named destination input. Omit for the main input.\n"
                },
                "output": {
                    "type": "string",
                    "description": "Named source output. Omit for the main output.\n"
                },
                "to": {
                    "type": "string",
                    "description": "Destination node ID.\n"
                }
            },
            "type": "object",
            "required": [
                "from",
                "input",
                "output",
                "to"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNode:getAutomationDefinitionNode": {
            "properties": {
                "agentCompute": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeAgentCompute:getAutomationDefinitionNodeAgentCompute"
                },
                "aggregate": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeAggregate:getAutomationDefinitionNodeAggregate"
                },
                "as2Send": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeAs2Send:getAutomationDefinitionNodeAs2Send"
                },
                "copyFile": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeCopyFile:getAutomationDefinitionNodeCopyFile"
                },
                "createFolder": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeCreateFolder:getAutomationDefinitionNodeCreateFolder"
                },
                "deleteFile": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeDeleteFile:getAutomationDefinitionNodeDeleteFile"
                },
                "documentConvert": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeDocumentConvert:getAutomationDefinitionNodeDocumentConvert"
                },
                "extract": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeExtract:getAutomationDefinitionNodeExtract"
                },
                "filter": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeFilter:getAutomationDefinitionNodeFilter"
                },
                "gpgDecrypt": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeGpgDecrypt:getAutomationDefinitionNodeGpgDecrypt"
                },
                "gpgEncrypt": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeGpgEncrypt:getAutomationDefinitionNodeGpgEncrypt"
                },
                "if": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeIf:getAutomationDefinitionNodeIf"
                },
                "imageConvert": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeImageConvert:getAutomationDefinitionNodeImageConvert"
                },
                "importFile": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeImportFile:getAutomationDefinitionNodeImportFile"
                },
                "join": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeJoin:getAutomationDefinitionNodeJoin"
                },
                "moveFile": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeMoveFile:getAutomationDefinitionNodeMoveFile"
                },
                "runAutomation": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeRunAutomation:getAutomationDefinitionNodeRunAutomation"
                },
                "runSync": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeRunSync:getAutomationDefinitionNodeRunSync"
                },
                "sendEmail": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeSendEmail:getAutomationDefinitionNodeSendEmail"
                },
                "setMetadata": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeSetMetadata:getAutomationDefinitionNodeSetMetadata"
                },
                "switch": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeSwitch:getAutomationDefinitionNodeSwitch"
                },
                "transform": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeTransform:getAutomationDefinitionNodeTransform"
                },
                "triggerAction": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeTriggerAction:getAutomationDefinitionNodeTriggerAction"
                },
                "triggerEmail": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeTriggerEmail:getAutomationDefinitionNodeTriggerEmail"
                },
                "triggerManual": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeTriggerManual:getAutomationDefinitionNodeTriggerManual"
                },
                "triggerScheduled": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeTriggerScheduled:getAutomationDefinitionNodeTriggerScheduled"
                },
                "triggerWebhook": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeTriggerWebhook:getAutomationDefinitionNodeTriggerWebhook"
                },
                "unzip": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeUnzip:getAutomationDefinitionNodeUnzip"
                },
                "wait": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeWait:getAutomationDefinitionNodeWait"
                },
                "zip": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeZip:getAutomationDefinitionNodeZip"
                }
            },
            "type": "object",
            "required": [
                "agentCompute",
                "aggregate",
                "as2Send",
                "copyFile",
                "createFolder",
                "deleteFile",
                "documentConvert",
                "extract",
                "filter",
                "gpgDecrypt",
                "gpgEncrypt",
                "if",
                "imageConvert",
                "importFile",
                "join",
                "moveFile",
                "runAutomation",
                "runSync",
                "sendEmail",
                "setMetadata",
                "switch",
                "transform",
                "triggerAction",
                "triggerEmail",
                "triggerManual",
                "triggerScheduled",
                "triggerWebhook",
                "unzip",
                "wait",
                "zip"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeAgentCompute:getAutomationDefinitionNodeAgentCompute": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeAgentComputeConfig:getAutomationDefinitionNodeAgentComputeConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeAgentComputeConfig:getAutomationDefinitionNodeAgentComputeConfig": {
            "properties": {
                "arguments": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "command": {
                    "type": "string"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeAgentComputeConfigOnError:getAutomationDefinitionNodeAgentComputeConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "remoteServerId": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "arguments",
                "command",
                "onErrors",
                "remoteServerId"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeAgentComputeConfigOnError:getAutomationDefinitionNodeAgentComputeConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeAggregate:getAutomationDefinitionNodeAggregate": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeAggregateConfig:getAutomationDefinitionNodeAggregateConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeAggregateConfig:getAutomationDefinitionNodeAggregateConfig": {
            "properties": {
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeAggregateConfigOnError:getAutomationDefinitionNodeAggregateConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                }
            },
            "type": "object",
            "required": [
                "onErrors"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeAggregateConfigOnError:getAutomationDefinitionNodeAggregateConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeAs2Send:getAutomationDefinitionNodeAs2Send": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeAs2SendConfig:getAutomationDefinitionNodeAs2SendConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeAs2SendConfig:getAutomationDefinitionNodeAs2SendConfig": {
            "properties": {
                "as2PartnerId": {
                    "type": "integer"
                },
                "as2StationId": {
                    "type": "integer"
                },
                "as2Subject": {
                    "type": "string"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeAs2SendConfigOnError:getAutomationDefinitionNodeAs2SendConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                }
            },
            "type": "object",
            "required": [
                "as2PartnerId",
                "as2StationId",
                "as2Subject",
                "onErrors"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeAs2SendConfigOnError:getAutomationDefinitionNodeAs2SendConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeCopyFile:getAutomationDefinitionNodeCopyFile": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeCopyFileConfig:getAutomationDefinitionNodeCopyFileConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeCopyFileConfig:getAutomationDefinitionNodeCopyFileConfig": {
            "properties": {
                "alwaysOverwriteSizeMatchingFiles": {
                    "type": "boolean"
                },
                "destinationReplaceFrom": {
                    "type": "string"
                },
                "destinationReplaceTo": {
                    "type": "string"
                },
                "destinations": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "One or more destination path templates.\n"
                },
                "excludePattern": {
                    "type": "string"
                },
                "flattenDestinationStructure": {
                    "type": "boolean"
                },
                "ignoreLockedFolders": {
                    "type": "boolean"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeCopyFileConfigOnError:getAutomationDefinitionNodeCopyFileConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "overwriteFiles": {
                    "type": "boolean"
                }
            },
            "type": "object",
            "required": [
                "alwaysOverwriteSizeMatchingFiles",
                "destinationReplaceFrom",
                "destinationReplaceTo",
                "destinations",
                "excludePattern",
                "flattenDestinationStructure",
                "ignoreLockedFolders",
                "onErrors",
                "overwriteFiles"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeCopyFileConfigOnError:getAutomationDefinitionNodeCopyFileConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeCreateFolder:getAutomationDefinitionNodeCreateFolder": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeCreateFolderConfig:getAutomationDefinitionNodeCreateFolderConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeCreateFolderConfig:getAutomationDefinitionNodeCreateFolderConfig": {
            "properties": {
                "destinations": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "One or more destination path templates.\n"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeCreateFolderConfigOnError:getAutomationDefinitionNodeCreateFolderConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                }
            },
            "type": "object",
            "required": [
                "destinations",
                "onErrors"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeCreateFolderConfigOnError:getAutomationDefinitionNodeCreateFolderConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeDeleteFile:getAutomationDefinitionNodeDeleteFile": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeDeleteFileConfig:getAutomationDefinitionNodeDeleteFileConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeDeleteFileConfig:getAutomationDefinitionNodeDeleteFileConfig": {
            "properties": {
                "excludePattern": {
                    "type": "string"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeDeleteFileConfigOnError:getAutomationDefinitionNodeDeleteFileConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                }
            },
            "type": "object",
            "required": [
                "excludePattern",
                "onErrors"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeDeleteFileConfigOnError:getAutomationDefinitionNodeDeleteFileConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeDocumentConvert:getAutomationDefinitionNodeDocumentConvert": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeDocumentConvertConfig:getAutomationDefinitionNodeDocumentConvertConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeDocumentConvertConfig:getAutomationDefinitionNodeDocumentConvertConfig": {
            "properties": {
                "destination": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeDocumentConvertConfigOnError:getAutomationDefinitionNodeDocumentConvertConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "overwriteFiles": {
                    "type": "boolean"
                },
                "targetFormat": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "destination",
                "onErrors",
                "overwriteFiles",
                "targetFormat"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeDocumentConvertConfigOnError:getAutomationDefinitionNodeDocumentConvertConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeExtract:getAutomationDefinitionNodeExtract": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeExtractConfig:getAutomationDefinitionNodeExtractConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeExtractConfig:getAutomationDefinitionNodeExtractConfig": {
            "properties": {
                "contentMode": {
                    "type": "string"
                },
                "includeContent": {
                    "type": "boolean"
                },
                "includeMetadata": {
                    "type": "boolean"
                },
                "maxChars": {
                    "type": "integer"
                },
                "maxPages": {
                    "type": "integer"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeExtractConfigOnError:getAutomationDefinitionNodeExtractConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                }
            },
            "type": "object",
            "required": [
                "contentMode",
                "includeContent",
                "includeMetadata",
                "maxChars",
                "maxPages",
                "onErrors"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeExtractConfigOnError:getAutomationDefinitionNodeExtractConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeFilter:getAutomationDefinitionNodeFilter": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeFilterConfig:getAutomationDefinitionNodeFilterConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeFilterConfig:getAutomationDefinitionNodeFilterConfig": {
            "properties": {
                "condition": {
                    "type": "string",
                    "description": "A bare Files TransformScript expression, no braces.\n"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeFilterConfigOnError:getAutomationDefinitionNodeFilterConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                }
            },
            "type": "object",
            "required": [
                "condition",
                "onErrors"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeFilterConfigOnError:getAutomationDefinitionNodeFilterConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeGpgDecrypt:getAutomationDefinitionNodeGpgDecrypt": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeGpgDecryptConfig:getAutomationDefinitionNodeGpgDecryptConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeGpgDecryptConfig:getAutomationDefinitionNodeGpgDecryptConfig": {
            "properties": {
                "destination": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                },
                "gpgKeyId": {
                    "type": "integer"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeGpgDecryptConfigOnError:getAutomationDefinitionNodeGpgDecryptConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "overwriteFiles": {
                    "type": "boolean"
                }
            },
            "type": "object",
            "required": [
                "destination",
                "gpgKeyId",
                "onErrors",
                "overwriteFiles"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeGpgDecryptConfigOnError:getAutomationDefinitionNodeGpgDecryptConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeGpgEncrypt:getAutomationDefinitionNodeGpgEncrypt": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeGpgEncryptConfig:getAutomationDefinitionNodeGpgEncryptConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeGpgEncryptConfig:getAutomationDefinitionNodeGpgEncryptConfig": {
            "properties": {
                "destination": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                },
                "gpgKeyId": {
                    "type": "integer"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeGpgEncryptConfigOnError:getAutomationDefinitionNodeGpgEncryptConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "overwriteFiles": {
                    "type": "boolean"
                }
            },
            "type": "object",
            "required": [
                "destination",
                "gpgKeyId",
                "onErrors",
                "overwriteFiles"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeGpgEncryptConfigOnError:getAutomationDefinitionNodeGpgEncryptConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeIf:getAutomationDefinitionNodeIf": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeIfConfig:getAutomationDefinitionNodeIfConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeIfConfig:getAutomationDefinitionNodeIfConfig": {
            "properties": {
                "condition": {
                    "type": "string",
                    "description": "A bare Files TransformScript expression, no braces.\n"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeIfConfigOnError:getAutomationDefinitionNodeIfConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                }
            },
            "type": "object",
            "required": [
                "condition",
                "onErrors"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeIfConfigOnError:getAutomationDefinitionNodeIfConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeImageConvert:getAutomationDefinitionNodeImageConvert": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeImageConvertConfig:getAutomationDefinitionNodeImageConvertConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeImageConvertConfig:getAutomationDefinitionNodeImageConvertConfig": {
            "properties": {
                "destination": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                },
                "height": {
                    "type": "integer"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeImageConvertConfigOnError:getAutomationDefinitionNodeImageConvertConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "overwriteFiles": {
                    "type": "boolean"
                },
                "targetFormat": {
                    "type": "string"
                },
                "width": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "destination",
                "height",
                "onErrors",
                "overwriteFiles",
                "targetFormat",
                "width"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeImageConvertConfigOnError:getAutomationDefinitionNodeImageConvertConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeImportFile:getAutomationDefinitionNodeImportFile": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeImportFileConfig:getAutomationDefinitionNodeImportFileConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeImportFileConfig:getAutomationDefinitionNodeImportFileConfig": {
            "properties": {
                "content": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                },
                "destination": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                },
                "headers": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "method": {
                    "type": "string"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeImportFileConfigOnError:getAutomationDefinitionNodeImportFileConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "url": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                }
            },
            "type": "object",
            "required": [
                "content",
                "destination",
                "headers",
                "method",
                "onErrors",
                "url"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeImportFileConfigOnError:getAutomationDefinitionNodeImportFileConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeJoin:getAutomationDefinitionNodeJoin": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeJoinConfig:getAutomationDefinitionNodeJoinConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeJoinConfig:getAutomationDefinitionNodeJoinConfig": {
            "properties": {
                "joinType": {
                    "type": "string"
                },
                "leftKey": {
                    "type": "string",
                    "description": "A bare Files TransformScript expression, no braces.\n"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeJoinConfigOnError:getAutomationDefinitionNodeJoinConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "rightKey": {
                    "type": "string",
                    "description": "A bare Files TransformScript expression, no braces.\n"
                }
            },
            "type": "object",
            "required": [
                "joinType",
                "leftKey",
                "onErrors",
                "rightKey"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeJoinConfigOnError:getAutomationDefinitionNodeJoinConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeMoveFile:getAutomationDefinitionNodeMoveFile": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeMoveFileConfig:getAutomationDefinitionNodeMoveFileConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeMoveFileConfig:getAutomationDefinitionNodeMoveFileConfig": {
            "properties": {
                "destinationReplaceFrom": {
                    "type": "string"
                },
                "destinationReplaceTo": {
                    "type": "string"
                },
                "destinations": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "One or more destination path templates.\n"
                },
                "excludePattern": {
                    "type": "string"
                },
                "flattenDestinationStructure": {
                    "type": "boolean"
                },
                "ignoreLockedFolders": {
                    "type": "boolean"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeMoveFileConfigOnError:getAutomationDefinitionNodeMoveFileConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "overwriteFiles": {
                    "type": "boolean"
                }
            },
            "type": "object",
            "required": [
                "destinationReplaceFrom",
                "destinationReplaceTo",
                "destinations",
                "excludePattern",
                "flattenDestinationStructure",
                "ignoreLockedFolders",
                "onErrors",
                "overwriteFiles"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeMoveFileConfigOnError:getAutomationDefinitionNodeMoveFileConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeRunAutomation:getAutomationDefinitionNodeRunAutomation": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeRunAutomationConfig:getAutomationDefinitionNodeRunAutomationConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeRunAutomationConfig:getAutomationDefinitionNodeRunAutomationConfig": {
            "properties": {
                "automationId": {
                    "type": "integer"
                },
                "automationVersion": {
                    "type": "integer"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeRunAutomationConfigOnError:getAutomationDefinitionNodeRunAutomationConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                }
            },
            "type": "object",
            "required": [
                "automationId",
                "automationVersion",
                "onErrors"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeRunAutomationConfigOnError:getAutomationDefinitionNodeRunAutomationConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeRunSync:getAutomationDefinitionNodeRunSync": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeRunSyncConfig:getAutomationDefinitionNodeRunSyncConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeRunSyncConfig:getAutomationDefinitionNodeRunSyncConfig": {
            "properties": {
                "legacySyncIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeRunSyncConfigOnError:getAutomationDefinitionNodeRunSyncConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "syncIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            },
            "type": "object",
            "required": [
                "legacySyncIds",
                "onErrors",
                "syncIds"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeRunSyncConfigOnError:getAutomationDefinitionNodeRunSyncConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeSendEmail:getAutomationDefinitionNodeSendEmail": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeSendEmailConfig:getAutomationDefinitionNodeSendEmailConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeSendEmailConfig:getAutomationDefinitionNodeSendEmailConfig": {
            "properties": {
                "attachments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "bccs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "body": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                },
                "ccs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "from": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeSendEmailConfigOnError:getAutomationDefinitionNodeSendEmailConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "subject": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                },
                "tos": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "attachments",
                "bccs",
                "body",
                "ccs",
                "from",
                "onErrors",
                "subject",
                "tos"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeSendEmailConfigOnError:getAutomationDefinitionNodeSendEmailConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeSetMetadata:getAutomationDefinitionNodeSetMetadata": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeSetMetadataConfig:getAutomationDefinitionNodeSetMetadataConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeSetMetadataConfig:getAutomationDefinitionNodeSetMetadataConfig": {
            "properties": {
                "metadata": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeSetMetadataConfigOnError:getAutomationDefinitionNodeSetMetadataConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                }
            },
            "type": "object",
            "required": [
                "metadata",
                "onErrors"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeSetMetadataConfigOnError:getAutomationDefinitionNodeSetMetadataConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeSwitch:getAutomationDefinitionNodeSwitch": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeSwitchConfig:getAutomationDefinitionNodeSwitchConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeSwitchConfig:getAutomationDefinitionNodeSwitchConfig": {
            "properties": {
                "cases": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeSwitchConfigCase:getAutomationDefinitionNodeSwitchConfigCase"
                    },
                    "description": "Switch cases. Each item contains a unique output name and the condition that sends items to it.\n"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeSwitchConfigOnError:getAutomationDefinitionNodeSwitchConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                }
            },
            "type": "object",
            "required": [
                "cases",
                "onErrors"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeSwitchConfigCase:getAutomationDefinitionNodeSwitchConfigCase": {
            "properties": {
                "condition": {
                    "type": "string",
                    "description": "A bare Files TransformScript expression, no braces.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Identifier used to connect nodes and named inputs or outputs.\n"
                }
            },
            "type": "object",
            "required": [
                "condition",
                "name"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeSwitchConfigOnError:getAutomationDefinitionNodeSwitchConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeTransform:getAutomationDefinitionNodeTransform": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeTransformConfig:getAutomationDefinitionNodeTransformConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeTransformConfig:getAutomationDefinitionNodeTransformConfig": {
            "properties": {
                "destination": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                },
                "fts": {
                    "type": "string"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeTransformConfigOnError:getAutomationDefinitionNodeTransformConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                }
            },
            "type": "object",
            "required": [
                "destination",
                "fts",
                "onErrors"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeTransformConfigOnError:getAutomationDefinitionNodeTransformConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeTriggerAction:getAutomationDefinitionNodeTriggerAction": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeTriggerActionConfig:getAutomationDefinitionNodeTriggerActionConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeTriggerActionConfig:getAutomationDefinitionNodeTriggerActionConfig": {
            "properties": {
                "excludePattern": {
                    "type": "string"
                },
                "path": {
                    "type": "string"
                },
                "pathTimeZone": {
                    "type": "string"
                },
                "source": {
                    "type": "string"
                },
                "triggerActions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "excludePattern",
                "path",
                "pathTimeZone",
                "source",
                "triggerActions"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeTriggerEmail:getAutomationDefinitionNodeTriggerEmail": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeTriggerEmailConfig:getAutomationDefinitionNodeTriggerEmailConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeTriggerEmailConfig:getAutomationDefinitionNodeTriggerEmailConfig": {
            "properties": {
                "allowedSenders": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "excludePattern": {
                    "type": "string"
                },
                "limit": {
                    "type": "integer"
                },
                "pathTimeZone": {
                    "type": "string"
                },
                "saveBody": {
                    "type": "boolean"
                },
                "source": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "allowedSenders",
                "excludePattern",
                "limit",
                "pathTimeZone",
                "saveBody",
                "source"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeTriggerManual:getAutomationDefinitionNodeTriggerManual": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeTriggerManualConfig:getAutomationDefinitionNodeTriggerManualConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeTriggerManualConfig:getAutomationDefinitionNodeTriggerManualConfig": {
            "properties": {
                "excludePattern": {
                    "type": "string"
                },
                "limit": {
                    "type": "integer"
                },
                "path": {
                    "type": "string"
                },
                "pathTimeZone": {
                    "type": "string"
                },
                "source": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "excludePattern",
                "limit",
                "path",
                "pathTimeZone",
                "source"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeTriggerScheduled:getAutomationDefinitionNodeTriggerScheduled": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeTriggerScheduledConfig:getAutomationDefinitionNodeTriggerScheduledConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeTriggerScheduledConfig:getAutomationDefinitionNodeTriggerScheduledConfig": {
            "properties": {
                "excludePattern": {
                    "type": "string"
                },
                "holidayRegion": {
                    "type": "string"
                },
                "interval": {
                    "type": "string"
                },
                "limit": {
                    "type": "integer"
                },
                "path": {
                    "type": "string"
                },
                "pathTimeZone": {
                    "type": "string"
                },
                "recurringDay": {
                    "type": "integer"
                },
                "recurringDays": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "scheduleDaysOfWeeks": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "scheduleId": {
                    "type": "integer"
                },
                "scheduleTimeZone": {
                    "type": "string"
                },
                "scheduleTimesOfDays": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "source": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "excludePattern",
                "holidayRegion",
                "interval",
                "limit",
                "path",
                "pathTimeZone",
                "recurringDay",
                "recurringDays",
                "scheduleDaysOfWeeks",
                "scheduleId",
                "scheduleTimeZone",
                "scheduleTimesOfDays",
                "source"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeTriggerWebhook:getAutomationDefinitionNodeTriggerWebhook": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeTriggerWebhookConfig:getAutomationDefinitionNodeTriggerWebhookConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeTriggerWebhookConfig:getAutomationDefinitionNodeTriggerWebhookConfig": {
            "properties": {
                "excludePattern": {
                    "type": "string"
                },
                "limit": {
                    "type": "integer"
                },
                "path": {
                    "type": "string"
                },
                "pathTimeZone": {
                    "type": "string"
                },
                "source": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "excludePattern",
                "limit",
                "path",
                "pathTimeZone",
                "source"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeUnzip:getAutomationDefinitionNodeUnzip": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeUnzipConfig:getAutomationDefinitionNodeUnzipConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeUnzipConfig:getAutomationDefinitionNodeUnzipConfig": {
            "properties": {
                "destination": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeUnzipConfigOnError:getAutomationDefinitionNodeUnzipConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "overwriteFiles": {
                    "type": "boolean"
                }
            },
            "type": "object",
            "required": [
                "destination",
                "onErrors",
                "overwriteFiles"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeUnzipConfigOnError:getAutomationDefinitionNodeUnzipConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeWait:getAutomationDefinitionNodeWait": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeWaitConfig:getAutomationDefinitionNodeWaitConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeWaitConfig:getAutomationDefinitionNodeWaitConfig": {
            "properties": {
                "delaySeconds": {
                    "type": "integer"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeWaitConfigOnError:getAutomationDefinitionNodeWaitConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                }
            },
            "type": "object",
            "required": [
                "delaySeconds",
                "onErrors"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeWaitConfigOnError:getAutomationDefinitionNodeWaitConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeZip:getAutomationDefinitionNodeZip": {
            "properties": {
                "config": {
                    "$ref": "#/types/filescom:index/getAutomationDefinitionNodeZipConfig:getAutomationDefinitionNodeZipConfig",
                    "description": "Configuration fields for this node type.\n"
                },
                "id": {
                    "type": "string",
                    "description": "Unique node ID within the graph.\n"
                },
                "return": {
                    "type": "boolean",
                    "description": "Whether this node's output is included in the Automation result.\n"
                }
            },
            "type": "object",
            "required": [
                "config",
                "id",
                "return"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeZipConfig:getAutomationDefinitionNodeZipConfig": {
            "properties": {
                "destination": {
                    "type": "string",
                    "description": "A string value. Supports {{ fts }} interpolation, evaluated per item at execution time.\n"
                },
                "onErrors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getAutomationDefinitionNodeZipConfigOnError:getAutomationDefinitionNodeZipConfigOnError"
                    },
                    "description": "Error handlers. Each item selects an error pattern and whether to continue or propagate it.\n"
                },
                "overwriteFiles": {
                    "type": "boolean"
                }
            },
            "type": "object",
            "required": [
                "destination",
                "onErrors",
                "overwriteFiles"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getAutomationDefinitionNodeZipConfigOnError:getAutomationDefinitionNodeZipConfigOnError": {
            "properties": {
                "action": {
                    "type": "string"
                },
                "error": {
                    "type": "string",
                    "description": "A typed error family (not-found, processing-failure, service-unavailable), family/specific-error, or * for all.\n"
                }
            },
            "type": "object",
            "required": [
                "action",
                "error"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getHolidayCalendarDefinition:getHolidayCalendarDefinition": {
            "properties": {
                "months": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/types/filescom:index/getHolidayCalendarDefinitionMonths:getHolidayCalendarDefinitionMonths"
                    },
                    "description": "Keys 1 through 12 contain rules for that month. Key 0 contains calculated-date rules. At most 366 rules are allowed across all months.\n"
                }
            },
            "type": "object",
            "required": [
                "months"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getHolidayCalendarDefinitionMonths:getHolidayCalendarDefinitionMonths": {
            "properties": {
                "calculatedRules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getHolidayCalendarDefinitionMonthsCalculatedRule:getHolidayCalendarDefinitionMonthsCalculatedRule"
                    }
                },
                "fixedRules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getHolidayCalendarDefinitionMonthsFixedRule:getHolidayCalendarDefinitionMonthsFixedRule"
                    }
                },
                "weekdayRules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/filescom:index/getHolidayCalendarDefinitionMonthsWeekdayRule:getHolidayCalendarDefinitionMonthsWeekdayRule"
                    }
                }
            },
            "type": "object",
            "required": [
                "calculatedRules",
                "fixedRules",
                "weekdayRules"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getHolidayCalendarDefinitionMonthsCalculatedRule:getHolidayCalendarDefinitionMonthsCalculatedRule": {
            "properties": {
                "endTime": {
                    "type": "string",
                    "description": "Exclusive end of a partial-day window in 24-hour HH:MM or HH:MM:SS format. Must be later than start_time.\n"
                },
                "function": {
                    "type": "string",
                    "description": "Supported calculated-date function.\n"
                },
                "functionModifier": {
                    "type": "integer",
                    "description": "Number of days to add to or subtract from the calculated date.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Optional rule name.\n"
                },
                "observed": {
                    "type": "string",
                    "description": "Optional function used to move the selected date when it falls on a weekend.\n"
                },
                "startTime": {
                    "type": "string",
                    "description": "Inclusive start of a partial-day window in 24-hour HH:MM or HH:MM:SS format. Must be earlier than end_time.\n"
                },
                "yearRanges": {
                    "$ref": "#/types/filescom:index/getHolidayCalendarDefinitionMonthsCalculatedRuleYearRanges:getHolidayCalendarDefinitionMonthsCalculatedRuleYearRanges",
                    "description": "Optional inclusive year restriction.\n"
                }
            },
            "type": "object",
            "required": [
                "endTime",
                "function",
                "functionModifier",
                "name",
                "observed",
                "startTime",
                "yearRanges"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getHolidayCalendarDefinitionMonthsCalculatedRuleYearRanges:getHolidayCalendarDefinitionMonthsCalculatedRuleYearRanges": {
            "properties": {
                "between": {
                    "$ref": "#/types/filescom:index/getHolidayCalendarDefinitionMonthsCalculatedRuleYearRangesBetween:getHolidayCalendarDefinitionMonthsCalculatedRuleYearRangesBetween",
                    "description": "Required start and end years.\n"
                },
                "from": {
                    "type": "integer",
                    "description": "First year in which the rule applies.\n"
                },
                "limiteds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Years in which the rule applies.\n"
                },
                "until": {
                    "type": "integer",
                    "description": "Last year in which the rule applies.\n"
                }
            },
            "type": "object",
            "required": [
                "between",
                "from",
                "limiteds",
                "until"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getHolidayCalendarDefinitionMonthsCalculatedRuleYearRangesBetween:getHolidayCalendarDefinitionMonthsCalculatedRuleYearRangesBetween": {
            "properties": {
                "end": {
                    "type": "integer"
                },
                "start": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "end",
                "start"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getHolidayCalendarDefinitionMonthsFixedRule:getHolidayCalendarDefinitionMonthsFixedRule": {
            "properties": {
                "endTime": {
                    "type": "string",
                    "description": "Exclusive end of a partial-day window in 24-hour HH:MM or HH:MM:SS format. Must be later than start_time.\n"
                },
                "mday": {
                    "type": "integer",
                    "description": "Day of the month. Must be valid for the selected month.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Optional rule name.\n"
                },
                "observed": {
                    "type": "string",
                    "description": "Optional function used to move the selected date when it falls on a weekend.\n"
                },
                "startTime": {
                    "type": "string",
                    "description": "Inclusive start of a partial-day window in 24-hour HH:MM or HH:MM:SS format. Must be earlier than end_time.\n"
                },
                "yearRanges": {
                    "$ref": "#/types/filescom:index/getHolidayCalendarDefinitionMonthsFixedRuleYearRanges:getHolidayCalendarDefinitionMonthsFixedRuleYearRanges",
                    "description": "Optional inclusive year restriction.\n"
                }
            },
            "type": "object",
            "required": [
                "endTime",
                "mday",
                "name",
                "observed",
                "startTime",
                "yearRanges"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getHolidayCalendarDefinitionMonthsFixedRuleYearRanges:getHolidayCalendarDefinitionMonthsFixedRuleYearRanges": {
            "properties": {
                "between": {
                    "$ref": "#/types/filescom:index/getHolidayCalendarDefinitionMonthsFixedRuleYearRangesBetween:getHolidayCalendarDefinitionMonthsFixedRuleYearRangesBetween",
                    "description": "Required start and end years.\n"
                },
                "from": {
                    "type": "integer",
                    "description": "First year in which the rule applies.\n"
                },
                "limiteds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Years in which the rule applies.\n"
                },
                "until": {
                    "type": "integer",
                    "description": "Last year in which the rule applies.\n"
                }
            },
            "type": "object",
            "required": [
                "between",
                "from",
                "limiteds",
                "until"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getHolidayCalendarDefinitionMonthsFixedRuleYearRangesBetween:getHolidayCalendarDefinitionMonthsFixedRuleYearRangesBetween": {
            "properties": {
                "end": {
                    "type": "integer"
                },
                "start": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "end",
                "start"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getHolidayCalendarDefinitionMonthsWeekdayRule:getHolidayCalendarDefinitionMonthsWeekdayRule": {
            "properties": {
                "endTime": {
                    "type": "string",
                    "description": "Exclusive end of a partial-day window in 24-hour HH:MM or HH:MM:SS format. Must be later than start_time.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Optional rule name.\n"
                },
                "observed": {
                    "type": "string",
                    "description": "Optional function used to move the selected date when it falls on a weekend.\n"
                },
                "startTime": {
                    "type": "string",
                    "description": "Inclusive start of a partial-day window in 24-hour HH:MM or HH:MM:SS format. Must be earlier than end_time.\n"
                },
                "wday": {
                    "type": "integer",
                    "description": "Day of the week, where 0 is Sunday and 6 is Saturday.\n"
                },
                "week": {
                    "type": "integer",
                    "description": "Occurrence of the weekday in the month. Negative values count from the end of the month.\n"
                },
                "yearRanges": {
                    "$ref": "#/types/filescom:index/getHolidayCalendarDefinitionMonthsWeekdayRuleYearRanges:getHolidayCalendarDefinitionMonthsWeekdayRuleYearRanges",
                    "description": "Optional inclusive year restriction.\n"
                }
            },
            "type": "object",
            "required": [
                "endTime",
                "name",
                "observed",
                "startTime",
                "wday",
                "week",
                "yearRanges"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getHolidayCalendarDefinitionMonthsWeekdayRuleYearRanges:getHolidayCalendarDefinitionMonthsWeekdayRuleYearRanges": {
            "properties": {
                "between": {
                    "$ref": "#/types/filescom:index/getHolidayCalendarDefinitionMonthsWeekdayRuleYearRangesBetween:getHolidayCalendarDefinitionMonthsWeekdayRuleYearRangesBetween",
                    "description": "Required start and end years.\n"
                },
                "from": {
                    "type": "integer",
                    "description": "First year in which the rule applies.\n"
                },
                "limiteds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Years in which the rule applies.\n"
                },
                "until": {
                    "type": "integer",
                    "description": "Last year in which the rule applies.\n"
                }
            },
            "type": "object",
            "required": [
                "between",
                "from",
                "limiteds",
                "until"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "filescom:index/getHolidayCalendarDefinitionMonthsWeekdayRuleYearRangesBetween:getHolidayCalendarDefinitionMonthsWeekdayRuleYearRangesBetween": {
            "properties": {
                "end": {
                    "type": "integer"
                },
                "start": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "end",
                "start"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        }
    },
    "provider": {
        "description": "The provider type for the filescom package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n",
        "properties": {
            "apiKey": {
                "type": "string",
                "description": "The API key used to authenticate with Files.com. It can also be sourced from the `FILES_API_KEY` environment variable.",
                "secret": true
            },
            "endpointOverride": {
                "type": "string",
                "description": "Required if your site is configured to disable global acceleration. This can also be set to use a mock server in development or CI."
            },
            "environment": {
                "type": "string"
            },
            "featureFlags": {
                "type": "array",
                "items": {
                    "type": "string"
                }
            }
        },
        "inputProperties": {
            "apiKey": {
                "type": "string",
                "description": "The API key used to authenticate with Files.com. It can also be sourced from the `FILES_API_KEY` environment variable.",
                "defaultInfo": {
                    "environment": [
                        "FILES_API_KEY"
                    ]
                },
                "secret": true
            },
            "endpointOverride": {
                "type": "string",
                "description": "Required if your site is configured to disable global acceleration. This can also be set to use a mock server in development or CI."
            },
            "environment": {
                "type": "string"
            },
            "featureFlags": {
                "type": "array",
                "items": {
                    "type": "string"
                }
            }
        },
        "methods": {
            "terraformConfig": "pulumi:providers:filescom/terraformConfig"
        }
    },
    "resources": {
        "filescom:index/aiAssistantPersonality:AiAssistantPersonality": {
            "description": "An AI Assistant Personality defines a system prompt used to customize the in-app AI Assistant.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleAiAssistantPersonality = new filescom.AiAssistantPersonality(\"example_ai_assistant_personality\", {\n    applyToAllWorkspaces: false,\n    name: \"Concise Assistant\",\n    systemPrompt: \"Respond as a concise operations assistant.\",\n    useByDefault: false,\n    workspaceId: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_ai_assistant_personality = filescom.AiAssistantPersonality(\"example_ai_assistant_personality\",\n    apply_to_all_workspaces=False,\n    name=\"Concise Assistant\",\n    system_prompt=\"Respond as a concise operations assistant.\",\n    use_by_default=False,\n    workspace_id=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleAiAssistantPersonality = new Filescom.AiAssistantPersonality(\"example_ai_assistant_personality\", new()\n    {\n        ApplyToAllWorkspaces = false,\n        Name = \"Concise Assistant\",\n        SystemPrompt = \"Respond as a concise operations assistant.\",\n        UseByDefault = false,\n        WorkspaceId = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewAiAssistantPersonality(ctx, \"example_ai_assistant_personality\", \u0026filescom.AiAssistantPersonalityArgs{\n\t\t\tApplyToAllWorkspaces: pulumi.Bool(false),\n\t\t\tName:                 pulumi.String(\"Concise Assistant\"),\n\t\t\tSystemPrompt:         pulumi.String(\"Respond as a concise operations assistant.\"),\n\t\t\tUseByDefault:         pulumi.Bool(false),\n\t\t\tWorkspaceId:          pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_aiassistantpersonality\" \"example_ai_assistant_personality\" {\n  apply_to_all_workspaces = false\n  name                    = \"Concise Assistant\"\n  system_prompt           = \"Respond as a concise operations assistant.\"\n  use_by_default          = false\n  workspace_id            = 0\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.AiAssistantPersonality;\nimport com.pulumi.filescom.AiAssistantPersonalityArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleAiAssistantPersonality = new AiAssistantPersonality(\"exampleAiAssistantPersonality\", AiAssistantPersonalityArgs.builder()\n            .applyToAllWorkspaces(false)\n            .name(\"Concise Assistant\")\n            .systemPrompt(\"Respond as a concise operations assistant.\")\n            .useByDefault(false)\n            .workspaceId(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleAiAssistantPersonality:\n    type: filescom:AiAssistantPersonality\n    name: example_ai_assistant_personality\n    properties:\n      applyToAllWorkspaces: false\n      name: Concise Assistant\n      systemPrompt: Respond as a concise operations assistant.\n      useByDefault: false\n      workspaceId: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nAi Assistant Personalities can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/aiAssistantPersonality:AiAssistantPersonality example_ai_assistant_personality 1\n```\n\n",
            "properties": {
                "applyToAllWorkspaces": {
                    "type": "boolean",
                    "description": "If true, this default-workspace personality can apply to users in all workspaces.\n"
                },
                "createdAt": {
                    "type": "string",
                    "description": "Creation time.\n"
                },
                "name": {
                    "type": "string",
                    "description": "AI Assistant Personality name.\n"
                },
                "systemPrompt": {
                    "type": "string",
                    "description": "System prompt injected into the in-app AI Assistant.\n"
                },
                "updatedAt": {
                    "type": "string",
                    "description": "Last update time.\n"
                },
                "useByDefault": {
                    "type": "boolean",
                    "description": "Whether this personality is the default personality for the Workspace.\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n"
                }
            },
            "required": [
                "applyToAllWorkspaces",
                "createdAt",
                "name",
                "systemPrompt",
                "updatedAt",
                "useByDefault",
                "workspaceId"
            ],
            "inputProperties": {
                "applyToAllWorkspaces": {
                    "type": "boolean",
                    "description": "If true, this default-workspace personality can apply to users in all workspaces.\n"
                },
                "name": {
                    "type": "string",
                    "description": "AI Assistant Personality name.\n"
                },
                "systemPrompt": {
                    "type": "string",
                    "description": "System prompt injected into the in-app AI Assistant.\n"
                },
                "useByDefault": {
                    "type": "boolean",
                    "description": "Whether this personality is the default personality for the Workspace.\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n"
                }
            },
            "requiredInputs": [
                "systemPrompt"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering AiAssistantPersonality resources.\n",
                "properties": {
                    "applyToAllWorkspaces": {
                        "type": "boolean",
                        "description": "If true, this default-workspace personality can apply to users in all workspaces.\n"
                    },
                    "createdAt": {
                        "type": "string",
                        "description": "Creation time.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "AI Assistant Personality name.\n"
                    },
                    "systemPrompt": {
                        "type": "string",
                        "description": "System prompt injected into the in-app AI Assistant.\n"
                    },
                    "updatedAt": {
                        "type": "string",
                        "description": "Last update time.\n"
                    },
                    "useByDefault": {
                        "type": "boolean",
                        "description": "Whether this personality is the default personality for the Workspace.\n"
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/aiTask:AiTask": {
            "description": "An AI Task defines a Files.com AI prompt that can run on a schedule or in response to file actions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleAiTask = new filescom.AiTask(\"example_ai_task\", {\n    description: \"Summarizes files uploaded by the accounting team.\",\n    disabled: true,\n    holidayRegion: \"us\",\n    interval: \"day\",\n    name: \"Summarize daily reports\",\n    path: \"incoming/reports\",\n    permissionSet: \"files_only\",\n    prompt: \"Summarize the uploaded file and identify follow-up actions.\",\n    recurringDay: 1,\n    recurringDays: [\n        1,\n        15,\n    ],\n    scheduleId: 1,\n    scheduleDaysOfWeeks: [\n        1,\n        3,\n        5,\n    ],\n    scheduleTimeZone: \"Eastern Time (US \u0026 Canada)\",\n    scheduleTimesOfDays: [\"06:30\"],\n    source: \"*.pdf\",\n    trigger: \"daily\",\n    triggerActions: [\"create\"],\n    workspaceId: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_ai_task = filescom.AiTask(\"example_ai_task\",\n    description=\"Summarizes files uploaded by the accounting team.\",\n    disabled=True,\n    holiday_region=\"us\",\n    interval=\"day\",\n    name=\"Summarize daily reports\",\n    path=\"incoming/reports\",\n    permission_set=\"files_only\",\n    prompt=\"Summarize the uploaded file and identify follow-up actions.\",\n    recurring_day=1,\n    recurring_days=[\n        1,\n        15,\n    ],\n    schedule_id=1,\n    schedule_days_of_weeks=[\n        1,\n        3,\n        5,\n    ],\n    schedule_time_zone=\"Eastern Time (US \u0026 Canada)\",\n    schedule_times_of_days=[\"06:30\"],\n    source=\"*.pdf\",\n    trigger=\"daily\",\n    trigger_actions=[\"create\"],\n    workspace_id=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleAiTask = new Filescom.AiTask(\"example_ai_task\", new()\n    {\n        Description = \"Summarizes files uploaded by the accounting team.\",\n        Disabled = true,\n        HolidayRegion = \"us\",\n        Interval = \"day\",\n        Name = \"Summarize daily reports\",\n        Path = \"incoming/reports\",\n        PermissionSet = \"files_only\",\n        Prompt = \"Summarize the uploaded file and identify follow-up actions.\",\n        RecurringDay = 1,\n        RecurringDays = new[]\n        {\n            1,\n            15,\n        },\n        ScheduleId = 1,\n        ScheduleDaysOfWeeks = new[]\n        {\n            1,\n            3,\n            5,\n        },\n        ScheduleTimeZone = \"Eastern Time (US \u0026 Canada)\",\n        ScheduleTimesOfDays = new[]\n        {\n            \"06:30\",\n        },\n        Source = \"*.pdf\",\n        Trigger = \"daily\",\n        TriggerActions = new[]\n        {\n            \"create\",\n        },\n        WorkspaceId = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewAiTask(ctx, \"example_ai_task\", \u0026filescom.AiTaskArgs{\n\t\t\tDescription:   pulumi.String(\"Summarizes files uploaded by the accounting team.\"),\n\t\t\tDisabled:      pulumi.Bool(true),\n\t\t\tHolidayRegion: pulumi.String(\"us\"),\n\t\t\tInterval:      pulumi.String(\"day\"),\n\t\t\tName:          pulumi.String(\"Summarize daily reports\"),\n\t\t\tPath:          pulumi.String(\"incoming/reports\"),\n\t\t\tPermissionSet: pulumi.String(\"files_only\"),\n\t\t\tPrompt:        pulumi.String(\"Summarize the uploaded file and identify follow-up actions.\"),\n\t\t\tRecurringDay:  pulumi.Int(1),\n\t\t\tRecurringDays: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(15),\n\t\t\t},\n\t\t\tScheduleId: pulumi.Int(1),\n\t\t\tScheduleDaysOfWeeks: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(3),\n\t\t\t\tpulumi.Int(5),\n\t\t\t},\n\t\t\tScheduleTimeZone: pulumi.String(\"Eastern Time (US \u0026 Canada)\"),\n\t\t\tScheduleTimesOfDays: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"06:30\"),\n\t\t\t},\n\t\t\tSource:  pulumi.String(\"*.pdf\"),\n\t\t\tTrigger: pulumi.String(\"daily\"),\n\t\t\tTriggerActions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"create\"),\n\t\t\t},\n\t\t\tWorkspaceId: pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_aitask\" \"example_ai_task\" {\n  description            = \"Summarizes files uploaded by the accounting team.\"\n  disabled               = true\n  holiday_region         = \"us\"\n  interval               = \"day\"\n  name                   = \"Summarize daily reports\"\n  path                   = \"incoming/reports\"\n  permission_set         = \"files_only\"\n  prompt                 = \"Summarize the uploaded file and identify follow-up actions.\"\n  recurring_day          = 1\n  recurring_days         = [1, 15]\n  schedule_id            = 1\n  schedule_days_of_weeks = [1, 3, 5]\n  schedule_time_zone     = \"Eastern Time (US \u0026 Canada)\"\n  schedule_times_of_days = [\"06:30\"]\n  source                 = \"*.pdf\"\n  trigger                = \"daily\"\n  trigger_actions        = [\"create\"]\n  workspace_id           = 0\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.AiTask;\nimport com.pulumi.filescom.AiTaskArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleAiTask = new AiTask(\"exampleAiTask\", AiTaskArgs.builder()\n            .description(\"Summarizes files uploaded by the accounting team.\")\n            .disabled(true)\n            .holidayRegion(\"us\")\n            .interval(\"day\")\n            .name(\"Summarize daily reports\")\n            .path(\"incoming/reports\")\n            .permissionSet(\"files_only\")\n            .prompt(\"Summarize the uploaded file and identify follow-up actions.\")\n            .recurringDay(1)\n            .recurringDays(            \n                1,\n                15)\n            .scheduleId(1)\n            .scheduleDaysOfWeeks(            \n                1,\n                3,\n                5)\n            .scheduleTimeZone(\"Eastern Time (US \u0026 Canada)\")\n            .scheduleTimesOfDays(\"06:30\")\n            .source(\"*.pdf\")\n            .trigger(\"daily\")\n            .triggerActions(\"create\")\n            .workspaceId(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleAiTask:\n    type: filescom:AiTask\n    name: example_ai_task\n    properties:\n      description: Summarizes files uploaded by the accounting team.\n      disabled: true\n      holidayRegion: us\n      interval: day\n      name: Summarize daily reports\n      path: incoming/reports\n      permissionSet: files_only\n      prompt: Summarize the uploaded file and identify follow-up actions.\n      recurringDay: 1\n      recurringDays:\n        - 1\n        - 15\n      scheduleId: 1\n      scheduleDaysOfWeeks:\n        - 1\n        - 3\n        - 5\n      scheduleTimeZone: Eastern Time (US \u0026 Canada)\n      scheduleTimesOfDays:\n        - 06:30\n      source: '*.pdf'\n      trigger: daily\n      triggerActions:\n        - create\n      workspaceId: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nAi Tasks can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/aiTask:AiTask example_ai_task 1\n```\n\n",
            "properties": {
                "createdAt": {
                    "type": "string",
                    "description": "Creation time.\n"
                },
                "description": {
                    "type": "string",
                    "description": "AI Task description.\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "If true, this AI Task will not run.\n"
                },
                "holidayRegion": {
                    "type": "string",
                    "description": "Optional holiday region used by the AI Task schedule.\n"
                },
                "humanReadableSchedule": {
                    "type": "string",
                    "description": "Human-readable schedule description.\n"
                },
                "interval": {
                    "type": "string",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies how often to run the AI Task.\n"
                },
                "lastRunAt": {
                    "type": "string",
                    "description": "Most recent successful invocation time.\n"
                },
                "masterAdminUserId": {
                    "type": "integer",
                    "description": "Master User ID used for AI Task invocations.\n"
                },
                "name": {
                    "type": "string",
                    "description": "AI Task name.\n"
                },
                "path": {
                    "type": "string",
                    "description": "Path scope used for action-triggered AI Tasks. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                },
                "permissionSet": {
                    "type": "string",
                    "description": "Permissions used by the internal API key for this AI Task. Valid values are \u003cspan pulumi-lang-nodejs=\"`full`\" pulumi-lang-dotnet=\"`Full`\" pulumi-lang-go=\"`full`\" pulumi-lang-python=\"`full`\" pulumi-lang-yaml=\"`full`\" pulumi-lang-java=\"`full`\" pulumi-lang-hcl=\"`full`\"\u003e`full`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`filesOnly`\" pulumi-lang-dotnet=\"`FilesOnly`\" pulumi-lang-go=\"`filesOnly`\" pulumi-lang-python=\"`files_only`\" pulumi-lang-yaml=\"`filesOnly`\" pulumi-lang-java=\"`filesOnly`\" pulumi-lang-hcl=\"`files_only`\"\u003e`filesOnly`\u003c/span\u003e.\n"
                },
                "prompt": {
                    "type": "string",
                    "description": "Prompt sent when this AI Task is invoked.\n"
                },
                "recurringDay": {
                    "type": "integer",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this selects the day number inside the chosen interval.\n"
                },
                "recurringDays": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this selects one or more day numbers inside a \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e interval.\n"
                },
                "scheduleDaysOfWeeks": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the 0-based weekdays used by the schedule.\n"
                },
                "scheduleId": {
                    "type": "integer",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the reusable Schedule used instead of the AI Task's schedule fields.\n"
                },
                "scheduleTimeZone": {
                    "type": "string",
                    "description": "Time zone used by the AI Task schedule.\n"
                },
                "scheduleTimesOfDays": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Times of day in HH:MM format for the AI Task schedule.\n"
                },
                "source": {
                    "type": "string",
                    "description": "Source glob used with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e for action-triggered AI Tasks.\n"
                },
                "trigger": {
                    "type": "string",
                    "description": "How this AI Task is triggered.\n"
                },
                "triggerActions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\" pulumi-lang-hcl=\"`action`\"\u003e`action`\u003c/span\u003e, the file action types that invoke this AI Task. Valid actions are create, copy, move, archived_delete, update, read, destroy.\n"
                },
                "updatedAt": {
                    "type": "string",
                    "description": "Last update time.\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n"
                }
            },
            "required": [
                "createdAt",
                "description",
                "disabled",
                "holidayRegion",
                "humanReadableSchedule",
                "interval",
                "lastRunAt",
                "masterAdminUserId",
                "name",
                "path",
                "permissionSet",
                "prompt",
                "recurringDay",
                "recurringDays",
                "scheduleDaysOfWeeks",
                "scheduleId",
                "scheduleTimeZone",
                "scheduleTimesOfDays",
                "source",
                "trigger",
                "triggerActions",
                "updatedAt",
                "workspaceId"
            ],
            "inputProperties": {
                "description": {
                    "type": "string",
                    "description": "AI Task description.\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "If true, this AI Task will not run.\n"
                },
                "holidayRegion": {
                    "type": "string",
                    "description": "Optional holiday region used by the AI Task schedule.\n"
                },
                "interval": {
                    "type": "string",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies how often to run the AI Task.\n"
                },
                "name": {
                    "type": "string",
                    "description": "AI Task name.\n"
                },
                "path": {
                    "type": "string",
                    "description": "Path scope used for action-triggered AI Tasks. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                },
                "permissionSet": {
                    "type": "string",
                    "description": "Permissions used by the internal API key for this AI Task. Valid values are \u003cspan pulumi-lang-nodejs=\"`full`\" pulumi-lang-dotnet=\"`Full`\" pulumi-lang-go=\"`full`\" pulumi-lang-python=\"`full`\" pulumi-lang-yaml=\"`full`\" pulumi-lang-java=\"`full`\" pulumi-lang-hcl=\"`full`\"\u003e`full`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`filesOnly`\" pulumi-lang-dotnet=\"`FilesOnly`\" pulumi-lang-go=\"`filesOnly`\" pulumi-lang-python=\"`files_only`\" pulumi-lang-yaml=\"`filesOnly`\" pulumi-lang-java=\"`filesOnly`\" pulumi-lang-hcl=\"`files_only`\"\u003e`filesOnly`\u003c/span\u003e.\n"
                },
                "prompt": {
                    "type": "string",
                    "description": "Prompt sent when this AI Task is invoked.\n"
                },
                "recurringDay": {
                    "type": "integer",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this selects the day number inside the chosen interval.\n"
                },
                "recurringDays": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this selects one or more day numbers inside a \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e interval.\n"
                },
                "scheduleDaysOfWeeks": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the 0-based weekdays used by the schedule.\n"
                },
                "scheduleId": {
                    "type": "integer",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the reusable Schedule used instead of the AI Task's schedule fields.\n"
                },
                "scheduleTimeZone": {
                    "type": "string",
                    "description": "Time zone used by the AI Task schedule.\n"
                },
                "scheduleTimesOfDays": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Times of day in HH:MM format for the AI Task schedule.\n"
                },
                "source": {
                    "type": "string",
                    "description": "Source glob used with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e for action-triggered AI Tasks.\n"
                },
                "trigger": {
                    "type": "string",
                    "description": "How this AI Task is triggered.\n"
                },
                "triggerActions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\" pulumi-lang-hcl=\"`action`\"\u003e`action`\u003c/span\u003e, the file action types that invoke this AI Task. Valid actions are create, copy, move, archived_delete, update, read, destroy.\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n"
                }
            },
            "requiredInputs": [
                "prompt"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering AiTask resources.\n",
                "properties": {
                    "createdAt": {
                        "type": "string",
                        "description": "Creation time.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "AI Task description.\n"
                    },
                    "disabled": {
                        "type": "boolean",
                        "description": "If true, this AI Task will not run.\n"
                    },
                    "holidayRegion": {
                        "type": "string",
                        "description": "Optional holiday region used by the AI Task schedule.\n"
                    },
                    "humanReadableSchedule": {
                        "type": "string",
                        "description": "Human-readable schedule description.\n"
                    },
                    "interval": {
                        "type": "string",
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies how often to run the AI Task.\n"
                    },
                    "lastRunAt": {
                        "type": "string",
                        "description": "Most recent successful invocation time.\n"
                    },
                    "masterAdminUserId": {
                        "type": "integer",
                        "description": "Master User ID used for AI Task invocations.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "AI Task name.\n"
                    },
                    "path": {
                        "type": "string",
                        "description": "Path scope used for action-triggered AI Tasks. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                    },
                    "permissionSet": {
                        "type": "string",
                        "description": "Permissions used by the internal API key for this AI Task. Valid values are \u003cspan pulumi-lang-nodejs=\"`full`\" pulumi-lang-dotnet=\"`Full`\" pulumi-lang-go=\"`full`\" pulumi-lang-python=\"`full`\" pulumi-lang-yaml=\"`full`\" pulumi-lang-java=\"`full`\" pulumi-lang-hcl=\"`full`\"\u003e`full`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`filesOnly`\" pulumi-lang-dotnet=\"`FilesOnly`\" pulumi-lang-go=\"`filesOnly`\" pulumi-lang-python=\"`files_only`\" pulumi-lang-yaml=\"`filesOnly`\" pulumi-lang-java=\"`filesOnly`\" pulumi-lang-hcl=\"`files_only`\"\u003e`filesOnly`\u003c/span\u003e.\n"
                    },
                    "prompt": {
                        "type": "string",
                        "description": "Prompt sent when this AI Task is invoked.\n"
                    },
                    "recurringDay": {
                        "type": "integer",
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this selects the day number inside the chosen interval.\n"
                    },
                    "recurringDays": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this selects one or more day numbers inside a \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e interval.\n"
                    },
                    "scheduleDaysOfWeeks": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the 0-based weekdays used by the schedule.\n"
                    },
                    "scheduleId": {
                        "type": "integer",
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the reusable Schedule used instead of the AI Task's schedule fields.\n"
                    },
                    "scheduleTimeZone": {
                        "type": "string",
                        "description": "Time zone used by the AI Task schedule.\n"
                    },
                    "scheduleTimesOfDays": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Times of day in HH:MM format for the AI Task schedule.\n"
                    },
                    "source": {
                        "type": "string",
                        "description": "Source glob used with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e for action-triggered AI Tasks.\n"
                    },
                    "trigger": {
                        "type": "string",
                        "description": "How this AI Task is triggered.\n"
                    },
                    "triggerActions": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\" pulumi-lang-hcl=\"`action`\"\u003e`action`\u003c/span\u003e, the file action types that invoke this AI Task. Valid actions are create, copy, move, archived_delete, update, read, destroy.\n"
                    },
                    "updatedAt": {
                        "type": "string",
                        "description": "Last update time.\n"
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/apiKey:ApiKey": {
            "description": "An APIKey is a key that allows programmatic access to your Site.\n\n\n\nAPI keys confer all the permissions of the user who owns them unless the key uses a restricted permission set.\n\nIf an API key is created without a user owner, it is considered a site-wide API key. Site-wide API keys with the \u003cspan pulumi-lang-nodejs=\"`filesOnly`\" pulumi-lang-dotnet=\"`FilesOnly`\" pulumi-lang-go=\"`filesOnly`\" pulumi-lang-python=\"`files_only`\" pulumi-lang-yaml=\"`filesOnly`\" pulumi-lang-java=\"`filesOnly`\" pulumi-lang-hcl=\"`files_only`\"\u003e`filesOnly`\u003c/span\u003e permission set are restricted to file-user permissions and workspace scoping.\n\n\n\nWe recommend registering API keys to service users wherever possible and then using User or Group Permissions to restrict that API Key appropriately.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleApiKey = new filescom.ApiKey(\"example_api_key\", {\n    userId: 1,\n    description: \"example\",\n    expiresAt: \"2000-01-01T01:00:00Z\",\n    name: \"My Main API Key\",\n    awsStyleCredentials: true,\n    path: \"shared/docs\",\n    permissionSet: \"full\",\n    workspaceId: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_api_key = filescom.ApiKey(\"example_api_key\",\n    user_id=1,\n    description=\"example\",\n    expires_at=\"2000-01-01T01:00:00Z\",\n    name=\"My Main API Key\",\n    aws_style_credentials=True,\n    path=\"shared/docs\",\n    permission_set=\"full\",\n    workspace_id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleApiKey = new Filescom.ApiKey(\"example_api_key\", new()\n    {\n        UserId = 1,\n        Description = \"example\",\n        ExpiresAt = \"2000-01-01T01:00:00Z\",\n        Name = \"My Main API Key\",\n        AwsStyleCredentials = true,\n        Path = \"shared/docs\",\n        PermissionSet = \"full\",\n        WorkspaceId = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewApiKey(ctx, \"example_api_key\", \u0026filescom.ApiKeyArgs{\n\t\t\tUserId:              pulumi.Int(1),\n\t\t\tDescription:         pulumi.String(\"example\"),\n\t\t\tExpiresAt:           pulumi.String(\"2000-01-01T01:00:00Z\"),\n\t\t\tName:                pulumi.String(\"My Main API Key\"),\n\t\t\tAwsStyleCredentials: pulumi.Bool(true),\n\t\t\tPath:                pulumi.String(\"shared/docs\"),\n\t\t\tPermissionSet:       pulumi.String(\"full\"),\n\t\t\tWorkspaceId:         pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_apikey\" \"example_api_key\" {\n  user_id               = 1\n  description           = \"example\"\n  expires_at            = \"2000-01-01T01:00:00Z\"\n  name                  = \"My Main API Key\"\n  aws_style_credentials = true\n  path                  = \"shared/docs\"\n  permission_set        = \"full\"\n  workspace_id          = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.ApiKey;\nimport com.pulumi.filescom.ApiKeyArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleApiKey = new ApiKey(\"exampleApiKey\", ApiKeyArgs.builder()\n            .userId(1)\n            .description(\"example\")\n            .expiresAt(\"2000-01-01T01:00:00Z\")\n            .name(\"My Main API Key\")\n            .awsStyleCredentials(true)\n            .path(\"shared/docs\")\n            .permissionSet(\"full\")\n            .workspaceId(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleApiKey:\n    type: filescom:ApiKey\n    name: example_api_key\n    properties:\n      userId: 1\n      description: example\n      expiresAt: 2000-01-01T01:00:00Z\n      name: My Main API Key\n      awsStyleCredentials: true\n      path: shared/docs\n      permissionSet: full\n      workspaceId: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nApi Keys can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/apiKey:ApiKey example_api_key 1\n```\n\n",
            "properties": {
                "awsAccessKeyId": {
                    "type": "string",
                    "description": "AWS Access Key ID to use with AWS-compatible endpoints, such as our Inbound S3-compatible endpoint."
                },
                "awsSecretKey": {
                    "type": "string",
                    "description": "AWS Secret Key to use with AWS-compatible endpoints, such as our Inbound S3-compatible endpoint.",
                    "secret": true
                },
                "awsStyleCredentials": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, this API key will be usable with AWS-compatible endpoints, such as our Inbound S3-compatible endpoint."
                },
                "createdAt": {
                    "type": "string",
                    "description": "Time which API Key was created"
                },
                "description": {
                    "type": "string",
                    "description": "User-supplied description of API key."
                },
                "descriptiveLabel": {
                    "type": "string",
                    "description": "Unique label that describes this API key.  Useful for external systems where you may have API keys from multiple accounts and want a human-readable label for each key."
                },
                "expiresAt": {
                    "type": "string",
                    "description": "API Key expiration date"
                },
                "key": {
                    "type": "string",
                    "description": "API Key actual key string",
                    "secret": true
                },
                "lastUseAt": {
                    "type": "string",
                    "description": "API Key last used - note this value is only updated once per 3 hour period, so the 'actual' time of last use may be up to 3 hours later than this timestamp."
                },
                "name": {
                    "type": "string",
                    "description": "Internal name for the API Key.  For your use.\n"
                },
                "path": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nFolder path restriction for \u003cspan pulumi-lang-nodejs=\"`officeIntegration`\" pulumi-lang-dotnet=\"`OfficeIntegration`\" pulumi-lang-go=\"`officeIntegration`\" pulumi-lang-python=\"`office_integration`\" pulumi-lang-yaml=\"`officeIntegration`\" pulumi-lang-java=\"`officeIntegration`\" pulumi-lang-hcl=\"`office_integration`\"\u003e`officeIntegration`\u003c/span\u003e permission set API keys.",
                    "secret": true
                },
                "permissionSet": {
                    "type": "string",
                    "description": "Permissions for this API Key. Keys with the \u003cspan pulumi-lang-nodejs=\"`desktopApp`\" pulumi-lang-dotnet=\"`DesktopApp`\" pulumi-lang-go=\"`desktopApp`\" pulumi-lang-python=\"`desktop_app`\" pulumi-lang-yaml=\"`desktopApp`\" pulumi-lang-java=\"`desktopApp`\" pulumi-lang-hcl=\"`desktop_app`\"\u003e`desktopApp`\u003c/span\u003e permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the \u003cspan pulumi-lang-nodejs=\"`officeIntegration`\" pulumi-lang-dotnet=\"`OfficeIntegration`\" pulumi-lang-go=\"`officeIntegration`\" pulumi-lang-python=\"`office_integration`\" pulumi-lang-yaml=\"`officeIntegration`\" pulumi-lang-java=\"`officeIntegration`\" pulumi-lang-hcl=\"`office_integration`\"\u003e`officeIntegration`\u003c/span\u003e permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Keys with the \u003cspan pulumi-lang-nodejs=\"`filesOnly`\" pulumi-lang-dotnet=\"`FilesOnly`\" pulumi-lang-go=\"`filesOnly`\" pulumi-lang-python=\"`files_only`\" pulumi-lang-yaml=\"`filesOnly`\" pulumi-lang-java=\"`filesOnly`\" pulumi-lang-hcl=\"`files_only`\"\u003e`filesOnly`\u003c/span\u003e permission set can perform file operations as a full-access file user in the key's workspace scope, but cannot use site admin, workspace admin, folder admin, group admin, partner admin, or billing privileges from the owning user."
                },
                "platform": {
                    "type": "string",
                    "description": "If this API key represents a Desktop app, what platform was it created on?"
                },
                "siteId": {
                    "type": "integer",
                    "description": "Site ID"
                },
                "siteName": {
                    "type": "string",
                    "description": "Site Name"
                },
                "url": {
                    "type": "string",
                    "description": "URL for API host."
                },
                "userId": {
                    "type": "integer",
                    "description": "User ID for the owner of this API Key.  May be blank for Site-wide API Keys."
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID for this API Key. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace."
                }
            },
            "required": [
                "awsAccessKeyId",
                "awsSecretKey",
                "awsStyleCredentials",
                "createdAt",
                "description",
                "descriptiveLabel",
                "expiresAt",
                "key",
                "lastUseAt",
                "name",
                "permissionSet",
                "platform",
                "siteId",
                "siteName",
                "url",
                "userId",
                "workspaceId"
            ],
            "inputProperties": {
                "awsStyleCredentials": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, this API key will be usable with AWS-compatible endpoints, such as our Inbound S3-compatible endpoint.",
                    "willReplaceOnChanges": true
                },
                "description": {
                    "type": "string",
                    "description": "User-supplied description of API key."
                },
                "expiresAt": {
                    "type": "string",
                    "description": "API Key expiration date"
                },
                "name": {
                    "type": "string",
                    "description": "Internal name for the API Key.  For your use.\n"
                },
                "path": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nFolder path restriction for \u003cspan pulumi-lang-nodejs=\"`officeIntegration`\" pulumi-lang-dotnet=\"`OfficeIntegration`\" pulumi-lang-go=\"`officeIntegration`\" pulumi-lang-python=\"`office_integration`\" pulumi-lang-yaml=\"`officeIntegration`\" pulumi-lang-java=\"`officeIntegration`\" pulumi-lang-hcl=\"`office_integration`\"\u003e`officeIntegration`\u003c/span\u003e permission set API keys.",
                    "secret": true,
                    "willReplaceOnChanges": true
                },
                "permissionSet": {
                    "type": "string",
                    "description": "Permissions for this API Key. Keys with the \u003cspan pulumi-lang-nodejs=\"`desktopApp`\" pulumi-lang-dotnet=\"`DesktopApp`\" pulumi-lang-go=\"`desktopApp`\" pulumi-lang-python=\"`desktop_app`\" pulumi-lang-yaml=\"`desktopApp`\" pulumi-lang-java=\"`desktopApp`\" pulumi-lang-hcl=\"`desktop_app`\"\u003e`desktopApp`\u003c/span\u003e permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the \u003cspan pulumi-lang-nodejs=\"`officeIntegration`\" pulumi-lang-dotnet=\"`OfficeIntegration`\" pulumi-lang-go=\"`officeIntegration`\" pulumi-lang-python=\"`office_integration`\" pulumi-lang-yaml=\"`officeIntegration`\" pulumi-lang-java=\"`officeIntegration`\" pulumi-lang-hcl=\"`office_integration`\"\u003e`officeIntegration`\u003c/span\u003e permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Keys with the \u003cspan pulumi-lang-nodejs=\"`filesOnly`\" pulumi-lang-dotnet=\"`FilesOnly`\" pulumi-lang-go=\"`filesOnly`\" pulumi-lang-python=\"`files_only`\" pulumi-lang-yaml=\"`filesOnly`\" pulumi-lang-java=\"`filesOnly`\" pulumi-lang-hcl=\"`files_only`\"\u003e`filesOnly`\u003c/span\u003e permission set can perform file operations as a full-access file user in the key's workspace scope, but cannot use site admin, workspace admin, folder admin, group admin, partner admin, or billing privileges from the owning user.",
                    "willReplaceOnChanges": true
                },
                "userId": {
                    "type": "integer",
                    "description": "User ID for the owner of this API Key.  May be blank for Site-wide API Keys.",
                    "willReplaceOnChanges": true
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID for this API Key. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.",
                    "willReplaceOnChanges": true
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ApiKey resources.\n",
                "properties": {
                    "awsAccessKeyId": {
                        "type": "string",
                        "description": "AWS Access Key ID to use with AWS-compatible endpoints, such as our Inbound S3-compatible endpoint."
                    },
                    "awsSecretKey": {
                        "type": "string",
                        "description": "AWS Secret Key to use with AWS-compatible endpoints, such as our Inbound S3-compatible endpoint.",
                        "secret": true
                    },
                    "awsStyleCredentials": {
                        "type": "boolean",
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, this API key will be usable with AWS-compatible endpoints, such as our Inbound S3-compatible endpoint."
                    },
                    "createdAt": {
                        "type": "string",
                        "description": "Time which API Key was created"
                    },
                    "description": {
                        "type": "string",
                        "description": "User-supplied description of API key."
                    },
                    "descriptiveLabel": {
                        "type": "string",
                        "description": "Unique label that describes this API key.  Useful for external systems where you may have API keys from multiple accounts and want a human-readable label for each key."
                    },
                    "expiresAt": {
                        "type": "string",
                        "description": "API Key expiration date"
                    },
                    "key": {
                        "type": "string",
                        "description": "API Key actual key string",
                        "secret": true
                    },
                    "lastUseAt": {
                        "type": "string",
                        "description": "API Key last used - note this value is only updated once per 3 hour period, so the 'actual' time of last use may be up to 3 hours later than this timestamp."
                    },
                    "name": {
                        "type": "string",
                        "description": "Internal name for the API Key.  For your use.\n"
                    },
                    "path": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nFolder path restriction for \u003cspan pulumi-lang-nodejs=\"`officeIntegration`\" pulumi-lang-dotnet=\"`OfficeIntegration`\" pulumi-lang-go=\"`officeIntegration`\" pulumi-lang-python=\"`office_integration`\" pulumi-lang-yaml=\"`officeIntegration`\" pulumi-lang-java=\"`officeIntegration`\" pulumi-lang-hcl=\"`office_integration`\"\u003e`officeIntegration`\u003c/span\u003e permission set API keys.",
                        "secret": true
                    },
                    "permissionSet": {
                        "type": "string",
                        "description": "Permissions for this API Key. Keys with the \u003cspan pulumi-lang-nodejs=\"`desktopApp`\" pulumi-lang-dotnet=\"`DesktopApp`\" pulumi-lang-go=\"`desktopApp`\" pulumi-lang-python=\"`desktop_app`\" pulumi-lang-yaml=\"`desktopApp`\" pulumi-lang-java=\"`desktopApp`\" pulumi-lang-hcl=\"`desktop_app`\"\u003e`desktopApp`\u003c/span\u003e permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the \u003cspan pulumi-lang-nodejs=\"`officeIntegration`\" pulumi-lang-dotnet=\"`OfficeIntegration`\" pulumi-lang-go=\"`officeIntegration`\" pulumi-lang-python=\"`office_integration`\" pulumi-lang-yaml=\"`officeIntegration`\" pulumi-lang-java=\"`officeIntegration`\" pulumi-lang-hcl=\"`office_integration`\"\u003e`officeIntegration`\u003c/span\u003e permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Keys with the \u003cspan pulumi-lang-nodejs=\"`filesOnly`\" pulumi-lang-dotnet=\"`FilesOnly`\" pulumi-lang-go=\"`filesOnly`\" pulumi-lang-python=\"`files_only`\" pulumi-lang-yaml=\"`filesOnly`\" pulumi-lang-java=\"`filesOnly`\" pulumi-lang-hcl=\"`files_only`\"\u003e`filesOnly`\u003c/span\u003e permission set can perform file operations as a full-access file user in the key's workspace scope, but cannot use site admin, workspace admin, folder admin, group admin, partner admin, or billing privileges from the owning user."
                    },
                    "platform": {
                        "type": "string",
                        "description": "If this API key represents a Desktop app, what platform was it created on?"
                    },
                    "siteId": {
                        "type": "integer",
                        "description": "Site ID"
                    },
                    "siteName": {
                        "type": "string",
                        "description": "Site Name"
                    },
                    "url": {
                        "type": "string",
                        "description": "URL for API host."
                    },
                    "userId": {
                        "type": "integer",
                        "description": "User ID for the owner of this API Key.  May be blank for Site-wide API Keys."
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID for this API Key. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace."
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/as2Partner:As2Partner": {
            "description": "An AS2Partner is a counterparty of the Files.com site's AS2 connectivity. Generally you will have one AS2 Partner created for each counterparty with whom you send and/or receive files via AS2.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleAs2Partner = new filescom.As2Partner(\"example_as2_partner\", {\n    enableDedicatedIps: true,\n    httpAuthUsername: \"username\",\n    mdnValidationLevel: \"none\",\n    signatureValidationLevel: \"normal\",\n    serverCertificate: \"require_match\",\n    defaultMimeType: \"application/octet-stream\",\n    additionalHttpHeaders: {\n        key: \"example value\",\n    },\n    as2StationId: 1,\n    name: \"AS2 Partner Name\",\n    uri: \"example\",\n    publicCertificate: \"public_certificate\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_as2_partner = filescom.As2Partner(\"example_as2_partner\",\n    enable_dedicated_ips=True,\n    http_auth_username=\"username\",\n    mdn_validation_level=\"none\",\n    signature_validation_level=\"normal\",\n    server_certificate=\"require_match\",\n    default_mime_type=\"application/octet-stream\",\n    additional_http_headers={\n        \"key\": \"example value\",\n    },\n    as2_station_id=1,\n    name=\"AS2 Partner Name\",\n    uri=\"example\",\n    public_certificate=\"public_certificate\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleAs2Partner = new Filescom.As2Partner(\"example_as2_partner\", new()\n    {\n        EnableDedicatedIps = true,\n        HttpAuthUsername = \"username\",\n        MdnValidationLevel = \"none\",\n        SignatureValidationLevel = \"normal\",\n        ServerCertificate = \"require_match\",\n        DefaultMimeType = \"application/octet-stream\",\n        AdditionalHttpHeaders = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"key\"] = \"example value\",\n        },\n        As2StationId = 1,\n        Name = \"AS2 Partner Name\",\n        Uri = \"example\",\n        PublicCertificate = \"public_certificate\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewAs2Partner(ctx, \"example_as2_partner\", \u0026filescom.As2PartnerArgs{\n\t\t\tEnableDedicatedIps:       pulumi.Bool(true),\n\t\t\tHttpAuthUsername:         pulumi.String(\"username\"),\n\t\t\tMdnValidationLevel:       pulumi.String(\"none\"),\n\t\t\tSignatureValidationLevel: pulumi.String(\"normal\"),\n\t\t\tServerCertificate:        pulumi.String(\"require_match\"),\n\t\t\tDefaultMimeType:          pulumi.String(\"application/octet-stream\"),\n\t\t\tAdditionalHttpHeaders: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"key\": \"example value\",\n\t\t\t}),\n\t\t\tAs2StationId:      pulumi.Int(1),\n\t\t\tName:              pulumi.String(\"AS2 Partner Name\"),\n\t\t\tUri:               pulumi.String(\"example\"),\n\t\t\tPublicCertificate: pulumi.String(\"public_certificate\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_as2partner\" \"example_as2_partner\" {\n  enable_dedicated_ips       = true\n  http_auth_username         = \"username\"\n  mdn_validation_level       = \"none\"\n  signature_validation_level = \"normal\"\n  server_certificate         = \"require_match\"\n  default_mime_type          = \"application/octet-stream\"\n  additional_http_headers = {\n    \"key\" = \"example value\"\n  }\n  as2_station_id     = 1\n  name               = \"AS2 Partner Name\"\n  uri                = \"example\"\n  public_certificate = \"public_certificate\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.As2Partner;\nimport com.pulumi.filescom.As2PartnerArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleAs2Partner = new As2Partner(\"exampleAs2Partner\", As2PartnerArgs.builder()\n            .enableDedicatedIps(true)\n            .httpAuthUsername(\"username\")\n            .mdnValidationLevel(\"none\")\n            .signatureValidationLevel(\"normal\")\n            .serverCertificate(\"require_match\")\n            .defaultMimeType(\"application/octet-stream\")\n            .additionalHttpHeaders(Map.of(\"key\", \"example value\"))\n            .as2StationId(1)\n            .name(\"AS2 Partner Name\")\n            .uri(\"example\")\n            .publicCertificate(\"public_certificate\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleAs2Partner:\n    type: filescom:As2Partner\n    name: example_as2_partner\n    properties:\n      enableDedicatedIps: true\n      httpAuthUsername: username\n      mdnValidationLevel: none\n      signatureValidationLevel: normal\n      serverCertificate: require_match\n      defaultMimeType: application/octet-stream\n      additionalHttpHeaders:\n        key: example value\n      as2StationId: 1\n      name: AS2 Partner Name\n      uri: example\n      publicCertificate: public_certificate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nAs2 Partners can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/as2Partner:As2Partner example_as2_partner 1\n```\n\n",
            "properties": {
                "additionalHttpHeaders": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Additional HTTP Headers for outgoing message sent to this partner."
                },
                "as2StationId": {
                    "type": "integer",
                    "description": "ID of the AS2 Station associated with this partner.\n"
                },
                "defaultMimeType": {
                    "type": "string",
                    "description": "Default mime type of the file attached to the encrypted message"
                },
                "enableDedicatedIps": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, we will use your site's dedicated IPs for all outbound connections to this AS2 Partner."
                },
                "hexPublicCertificateSerial": {
                    "type": "string",
                    "description": "Serial of public certificate used for message security in hex format."
                },
                "httpAuthPassword": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPassword to send to server for HTTP Authentication.",
                    "secret": true
                },
                "httpAuthUsername": {
                    "type": "string",
                    "description": "Username to send to server for HTTP Authentication."
                },
                "mdnValidationLevel": {
                    "type": "string",
                    "description": "How should Files.com evaluate message transfer success based on a partner's MDN response?  This setting does not affect MDN storage; all MDNs received from a partner are always stored. \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e: MDN is stored for informational purposes only, a successful HTTPS transfer is a successful AS2 transfer. \u003cspan pulumi-lang-nodejs=\"`weak`\" pulumi-lang-dotnet=\"`Weak`\" pulumi-lang-go=\"`weak`\" pulumi-lang-python=\"`weak`\" pulumi-lang-yaml=\"`weak`\" pulumi-lang-java=\"`weak`\" pulumi-lang-hcl=\"`weak`\"\u003e`weak`\u003c/span\u003e: Inspect the MDN for MIC and Disposition only. \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\" pulumi-lang-hcl=\"`normal`\"\u003e`normal`\u003c/span\u003e: \u003cspan pulumi-lang-nodejs=\"`weak`\" pulumi-lang-dotnet=\"`Weak`\" pulumi-lang-go=\"`weak`\" pulumi-lang-python=\"`weak`\" pulumi-lang-yaml=\"`weak`\" pulumi-lang-java=\"`weak`\" pulumi-lang-hcl=\"`weak`\"\u003e`weak`\u003c/span\u003e plus validate MDN signature matches body, \u003cspan pulumi-lang-nodejs=\"`strict`\" pulumi-lang-dotnet=\"`Strict`\" pulumi-lang-go=\"`strict`\" pulumi-lang-python=\"`strict`\" pulumi-lang-yaml=\"`strict`\" pulumi-lang-java=\"`strict`\" pulumi-lang-hcl=\"`strict`\"\u003e`strict`\u003c/span\u003e: \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\" pulumi-lang-hcl=\"`normal`\"\u003e`normal`\u003c/span\u003e but do not allow signatures from self-signed or incorrectly purposed certificates. \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\" pulumi-lang-hcl=\"`auto`\"\u003e`auto`\u003c/span\u003e: Automatically set the correct value for this setting based on next mdn received."
                },
                "name": {
                    "type": "string",
                    "description": "The partner's formal AS2 name.\n"
                },
                "publicCertificate": {
                    "type": "string",
                    "description": "Public certificate used for message security.\n"
                },
                "publicCertificateIssuer": {
                    "type": "string",
                    "description": "Issuer of public certificate used for message security."
                },
                "publicCertificateMd5": {
                    "type": "string",
                    "description": "MD5 hash of public certificate used for message security."
                },
                "publicCertificateNotAfter": {
                    "type": "string",
                    "description": "Not after value of public certificate used for message security."
                },
                "publicCertificateNotBefore": {
                    "type": "string",
                    "description": "Not before value of public certificate used for message security."
                },
                "publicCertificateSerial": {
                    "type": "string",
                    "description": "Serial of public certificate used for message security."
                },
                "publicCertificateSubject": {
                    "type": "string",
                    "description": "Subject of public certificate used for message security."
                },
                "serverCertificate": {
                    "type": "string",
                    "description": "Should we require that the remote HTTP server have a valid SSL Certificate for HTTPS? (This only applies to Outgoing AS2 message from Files.com to a Partner.)"
                },
                "signatureValidationLevel": {
                    "type": "string",
                    "description": "Should Files.com require signatures on incoming AS2 messages?  \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\" pulumi-lang-hcl=\"`normal`\"\u003e`normal`\u003c/span\u003e: require that incoming messages are signed with a valid matching signature. \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e: Unsigned incoming messages are allowed. \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\" pulumi-lang-hcl=\"`auto`\"\u003e`auto`\u003c/span\u003e: Automatically set the correct value for this setting based on next message received."
                },
                "uri": {
                    "type": "string",
                    "description": "Public URI where we will send the AS2 messages (via HTTP/HTTPS).\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "ID of the Workspace associated with this AS2 Partner."
                }
            },
            "required": [
                "additionalHttpHeaders",
                "as2StationId",
                "defaultMimeType",
                "enableDedicatedIps",
                "hexPublicCertificateSerial",
                "httpAuthUsername",
                "mdnValidationLevel",
                "name",
                "publicCertificate",
                "publicCertificateIssuer",
                "publicCertificateMd5",
                "publicCertificateNotAfter",
                "publicCertificateNotBefore",
                "publicCertificateSerial",
                "publicCertificateSubject",
                "serverCertificate",
                "signatureValidationLevel",
                "uri",
                "workspaceId"
            ],
            "inputProperties": {
                "additionalHttpHeaders": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Additional HTTP Headers for outgoing message sent to this partner."
                },
                "as2StationId": {
                    "type": "integer",
                    "description": "ID of the AS2 Station associated with this partner.\n",
                    "willReplaceOnChanges": true
                },
                "defaultMimeType": {
                    "type": "string",
                    "description": "Default mime type of the file attached to the encrypted message"
                },
                "enableDedicatedIps": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, we will use your site's dedicated IPs for all outbound connections to this AS2 Partner."
                },
                "httpAuthPassword": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPassword to send to server for HTTP Authentication.",
                    "secret": true
                },
                "httpAuthUsername": {
                    "type": "string",
                    "description": "Username to send to server for HTTP Authentication."
                },
                "mdnValidationLevel": {
                    "type": "string",
                    "description": "How should Files.com evaluate message transfer success based on a partner's MDN response?  This setting does not affect MDN storage; all MDNs received from a partner are always stored. \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e: MDN is stored for informational purposes only, a successful HTTPS transfer is a successful AS2 transfer. \u003cspan pulumi-lang-nodejs=\"`weak`\" pulumi-lang-dotnet=\"`Weak`\" pulumi-lang-go=\"`weak`\" pulumi-lang-python=\"`weak`\" pulumi-lang-yaml=\"`weak`\" pulumi-lang-java=\"`weak`\" pulumi-lang-hcl=\"`weak`\"\u003e`weak`\u003c/span\u003e: Inspect the MDN for MIC and Disposition only. \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\" pulumi-lang-hcl=\"`normal`\"\u003e`normal`\u003c/span\u003e: \u003cspan pulumi-lang-nodejs=\"`weak`\" pulumi-lang-dotnet=\"`Weak`\" pulumi-lang-go=\"`weak`\" pulumi-lang-python=\"`weak`\" pulumi-lang-yaml=\"`weak`\" pulumi-lang-java=\"`weak`\" pulumi-lang-hcl=\"`weak`\"\u003e`weak`\u003c/span\u003e plus validate MDN signature matches body, \u003cspan pulumi-lang-nodejs=\"`strict`\" pulumi-lang-dotnet=\"`Strict`\" pulumi-lang-go=\"`strict`\" pulumi-lang-python=\"`strict`\" pulumi-lang-yaml=\"`strict`\" pulumi-lang-java=\"`strict`\" pulumi-lang-hcl=\"`strict`\"\u003e`strict`\u003c/span\u003e: \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\" pulumi-lang-hcl=\"`normal`\"\u003e`normal`\u003c/span\u003e but do not allow signatures from self-signed or incorrectly purposed certificates. \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\" pulumi-lang-hcl=\"`auto`\"\u003e`auto`\u003c/span\u003e: Automatically set the correct value for this setting based on next mdn received."
                },
                "name": {
                    "type": "string",
                    "description": "The partner's formal AS2 name.\n"
                },
                "publicCertificate": {
                    "type": "string",
                    "description": "Public certificate used for message security.\n"
                },
                "serverCertificate": {
                    "type": "string",
                    "description": "Should we require that the remote HTTP server have a valid SSL Certificate for HTTPS? (This only applies to Outgoing AS2 message from Files.com to a Partner.)"
                },
                "signatureValidationLevel": {
                    "type": "string",
                    "description": "Should Files.com require signatures on incoming AS2 messages?  \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\" pulumi-lang-hcl=\"`normal`\"\u003e`normal`\u003c/span\u003e: require that incoming messages are signed with a valid matching signature. \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e: Unsigned incoming messages are allowed. \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\" pulumi-lang-hcl=\"`auto`\"\u003e`auto`\u003c/span\u003e: Automatically set the correct value for this setting based on next message received."
                },
                "uri": {
                    "type": "string",
                    "description": "Public URI where we will send the AS2 messages (via HTTP/HTTPS).\n"
                }
            },
            "requiredInputs": [
                "as2StationId",
                "publicCertificate",
                "uri"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering As2Partner resources.\n",
                "properties": {
                    "additionalHttpHeaders": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Additional HTTP Headers for outgoing message sent to this partner."
                    },
                    "as2StationId": {
                        "type": "integer",
                        "description": "ID of the AS2 Station associated with this partner.\n"
                    },
                    "defaultMimeType": {
                        "type": "string",
                        "description": "Default mime type of the file attached to the encrypted message"
                    },
                    "enableDedicatedIps": {
                        "type": "boolean",
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, we will use your site's dedicated IPs for all outbound connections to this AS2 Partner."
                    },
                    "hexPublicCertificateSerial": {
                        "type": "string",
                        "description": "Serial of public certificate used for message security in hex format."
                    },
                    "httpAuthPassword": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPassword to send to server for HTTP Authentication.",
                        "secret": true
                    },
                    "httpAuthUsername": {
                        "type": "string",
                        "description": "Username to send to server for HTTP Authentication."
                    },
                    "mdnValidationLevel": {
                        "type": "string",
                        "description": "How should Files.com evaluate message transfer success based on a partner's MDN response?  This setting does not affect MDN storage; all MDNs received from a partner are always stored. \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e: MDN is stored for informational purposes only, a successful HTTPS transfer is a successful AS2 transfer. \u003cspan pulumi-lang-nodejs=\"`weak`\" pulumi-lang-dotnet=\"`Weak`\" pulumi-lang-go=\"`weak`\" pulumi-lang-python=\"`weak`\" pulumi-lang-yaml=\"`weak`\" pulumi-lang-java=\"`weak`\" pulumi-lang-hcl=\"`weak`\"\u003e`weak`\u003c/span\u003e: Inspect the MDN for MIC and Disposition only. \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\" pulumi-lang-hcl=\"`normal`\"\u003e`normal`\u003c/span\u003e: \u003cspan pulumi-lang-nodejs=\"`weak`\" pulumi-lang-dotnet=\"`Weak`\" pulumi-lang-go=\"`weak`\" pulumi-lang-python=\"`weak`\" pulumi-lang-yaml=\"`weak`\" pulumi-lang-java=\"`weak`\" pulumi-lang-hcl=\"`weak`\"\u003e`weak`\u003c/span\u003e plus validate MDN signature matches body, \u003cspan pulumi-lang-nodejs=\"`strict`\" pulumi-lang-dotnet=\"`Strict`\" pulumi-lang-go=\"`strict`\" pulumi-lang-python=\"`strict`\" pulumi-lang-yaml=\"`strict`\" pulumi-lang-java=\"`strict`\" pulumi-lang-hcl=\"`strict`\"\u003e`strict`\u003c/span\u003e: \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\" pulumi-lang-hcl=\"`normal`\"\u003e`normal`\u003c/span\u003e but do not allow signatures from self-signed or incorrectly purposed certificates. \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\" pulumi-lang-hcl=\"`auto`\"\u003e`auto`\u003c/span\u003e: Automatically set the correct value for this setting based on next mdn received."
                    },
                    "name": {
                        "type": "string",
                        "description": "The partner's formal AS2 name.\n"
                    },
                    "publicCertificate": {
                        "type": "string",
                        "description": "Public certificate used for message security.\n"
                    },
                    "publicCertificateIssuer": {
                        "type": "string",
                        "description": "Issuer of public certificate used for message security."
                    },
                    "publicCertificateMd5": {
                        "type": "string",
                        "description": "MD5 hash of public certificate used for message security."
                    },
                    "publicCertificateNotAfter": {
                        "type": "string",
                        "description": "Not after value of public certificate used for message security."
                    },
                    "publicCertificateNotBefore": {
                        "type": "string",
                        "description": "Not before value of public certificate used for message security."
                    },
                    "publicCertificateSerial": {
                        "type": "string",
                        "description": "Serial of public certificate used for message security."
                    },
                    "publicCertificateSubject": {
                        "type": "string",
                        "description": "Subject of public certificate used for message security."
                    },
                    "serverCertificate": {
                        "type": "string",
                        "description": "Should we require that the remote HTTP server have a valid SSL Certificate for HTTPS? (This only applies to Outgoing AS2 message from Files.com to a Partner.)"
                    },
                    "signatureValidationLevel": {
                        "type": "string",
                        "description": "Should Files.com require signatures on incoming AS2 messages?  \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\" pulumi-lang-hcl=\"`normal`\"\u003e`normal`\u003c/span\u003e: require that incoming messages are signed with a valid matching signature. \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e: Unsigned incoming messages are allowed. \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\" pulumi-lang-hcl=\"`auto`\"\u003e`auto`\u003c/span\u003e: Automatically set the correct value for this setting based on next message received."
                    },
                    "uri": {
                        "type": "string",
                        "description": "Public URI where we will send the AS2 messages (via HTTP/HTTPS).\n"
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "ID of the Workspace associated with this AS2 Partner."
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/as2Station:As2Station": {
            "description": "An AS2Station is a remote AS2 server that can send data into Files.com and receive data from Files.com.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleAs2Station = new filescom.As2Station(\"example_as2_station\", {\n    name: \"AS2 Station Name\",\n    workspaceId: 1,\n    publicCertificate: \"public_certificate\",\n    privateKey: \"private_key\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_as2_station = filescom.As2Station(\"example_as2_station\",\n    name=\"AS2 Station Name\",\n    workspace_id=1,\n    public_certificate=\"public_certificate\",\n    private_key=\"private_key\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleAs2Station = new Filescom.As2Station(\"example_as2_station\", new()\n    {\n        Name = \"AS2 Station Name\",\n        WorkspaceId = 1,\n        PublicCertificate = \"public_certificate\",\n        PrivateKey = \"private_key\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewAs2Station(ctx, \"example_as2_station\", \u0026filescom.As2StationArgs{\n\t\t\tName:              pulumi.String(\"AS2 Station Name\"),\n\t\t\tWorkspaceId:       pulumi.Int(1),\n\t\t\tPublicCertificate: pulumi.String(\"public_certificate\"),\n\t\t\tPrivateKey:        pulumi.String(\"private_key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_as2station\" \"example_as2_station\" {\n  name               = \"AS2 Station Name\"\n  workspace_id       = 1\n  public_certificate = \"public_certificate\"\n  private_key        = \"private_key\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.As2Station;\nimport com.pulumi.filescom.As2StationArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleAs2Station = new As2Station(\"exampleAs2Station\", As2StationArgs.builder()\n            .name(\"AS2 Station Name\")\n            .workspaceId(1)\n            .publicCertificate(\"public_certificate\")\n            .privateKey(\"private_key\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleAs2Station:\n    type: filescom:As2Station\n    name: example_as2_station\n    properties:\n      name: AS2 Station Name\n      workspaceId: 1\n      publicCertificate: public_certificate\n      privateKey: private_key\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nAs2 Stations can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/as2Station:As2Station example_as2_station 1\n```\n\n",
            "properties": {
                "domain": {
                    "type": "string",
                    "description": "The station's AS2 domain name."
                },
                "hexPublicCertificateSerial": {
                    "type": "string",
                    "description": "Serial of public certificate used for message security in hex format."
                },
                "name": {
                    "type": "string",
                    "description": "The station's formal AS2 name."
                },
                "privateKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\n",
                    "secret": true
                },
                "privateKeyMd5": {
                    "type": "string",
                    "description": "MD5 hash of private key used for message security."
                },
                "privateKeyPassword": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\n",
                    "secret": true
                },
                "privateKeyPasswordMd5": {
                    "type": "string",
                    "description": "MD5 hash of private key password used for message security."
                },
                "publicCertificate": {
                    "type": "string",
                    "description": "Public certificate used for message security."
                },
                "publicCertificateIssuer": {
                    "type": "string",
                    "description": "Issuer of public certificate used for message security."
                },
                "publicCertificateMd5": {
                    "type": "string",
                    "description": "MD5 hash of public certificate used for message security."
                },
                "publicCertificateNotAfter": {
                    "type": "string",
                    "description": "Not after value of public certificate used for message security."
                },
                "publicCertificateNotBefore": {
                    "type": "string",
                    "description": "Not before value of public certificate used for message security."
                },
                "publicCertificateSerial": {
                    "type": "string",
                    "description": "Serial of public certificate used for message security."
                },
                "publicCertificateSubject": {
                    "type": "string",
                    "description": "Subject of public certificate used for message security."
                },
                "uri": {
                    "type": "string",
                    "description": "Public URI for sending AS2 message to."
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "ID of the Workspace associated with this AS2 Station."
                }
            },
            "required": [
                "domain",
                "hexPublicCertificateSerial",
                "name",
                "privateKey",
                "privateKeyMd5",
                "privateKeyPasswordMd5",
                "publicCertificate",
                "publicCertificateIssuer",
                "publicCertificateMd5",
                "publicCertificateNotAfter",
                "publicCertificateNotBefore",
                "publicCertificateSerial",
                "publicCertificateSubject",
                "uri",
                "workspaceId"
            ],
            "inputProperties": {
                "name": {
                    "type": "string",
                    "description": "The station's formal AS2 name."
                },
                "privateKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\n",
                    "secret": true
                },
                "privateKeyPassword": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\n",
                    "secret": true
                },
                "publicCertificate": {
                    "type": "string",
                    "description": "Public certificate used for message security."
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "ID of the Workspace associated with this AS2 Station.",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "privateKey",
                "publicCertificate"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering As2Station resources.\n",
                "properties": {
                    "domain": {
                        "type": "string",
                        "description": "The station's AS2 domain name."
                    },
                    "hexPublicCertificateSerial": {
                        "type": "string",
                        "description": "Serial of public certificate used for message security in hex format."
                    },
                    "name": {
                        "type": "string",
                        "description": "The station's formal AS2 name."
                    },
                    "privateKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\n",
                        "secret": true
                    },
                    "privateKeyMd5": {
                        "type": "string",
                        "description": "MD5 hash of private key used for message security."
                    },
                    "privateKeyPassword": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\n",
                        "secret": true
                    },
                    "privateKeyPasswordMd5": {
                        "type": "string",
                        "description": "MD5 hash of private key password used for message security."
                    },
                    "publicCertificate": {
                        "type": "string",
                        "description": "Public certificate used for message security."
                    },
                    "publicCertificateIssuer": {
                        "type": "string",
                        "description": "Issuer of public certificate used for message security."
                    },
                    "publicCertificateMd5": {
                        "type": "string",
                        "description": "MD5 hash of public certificate used for message security."
                    },
                    "publicCertificateNotAfter": {
                        "type": "string",
                        "description": "Not after value of public certificate used for message security."
                    },
                    "publicCertificateNotBefore": {
                        "type": "string",
                        "description": "Not before value of public certificate used for message security."
                    },
                    "publicCertificateSerial": {
                        "type": "string",
                        "description": "Serial of public certificate used for message security."
                    },
                    "publicCertificateSubject": {
                        "type": "string",
                        "description": "Subject of public certificate used for message security."
                    },
                    "uri": {
                        "type": "string",
                        "description": "Public URI for sending AS2 message to."
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "ID of the Workspace associated with this AS2 Station."
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/automation:Automation": {
            "description": "An Automation is an automated process of controlling workflows on your Files.com site.\n\n\n\nAutomations are different from Behaviors because Behaviors are associated with a current folder, while Automations apply across your entire site.\n\n\n\nAutomations are never removed when folders are removed, while Behaviors are removed when the associated folder is removed.\n\n\n\n## Path Matching\n\n\n\nThe \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e attribute specifies which folders this automation applies to.\n\nIt gets combined with the \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e attribute to determine which files are actually affected by the automation.\n\nNote that the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e attribute supports globs, and only refers to _folders_.\n\nIt's the \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e attribute, which also supports globs, combined with the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e attribute that determines which files are affected, and automations only operate on the files themselves.\n\nAdditionally, paths in Automations can refer to folders which don't yet exist.\n\n\n\n### Path Globs\n\n\n\nAlthough Automations may have a \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e specified, it can be a glob (which includes wildcards), which affects multiple folders.\n\n\n\n`*` matches any folder at that level of the path, but not subfolders. For example, `path/to/*` matches `path/to/folder1` and `path/to/folder2`, but not `path/to/folder1/subfolder`.\n\n\n\n`**` matches subfolders recursively. For example, `path/to/**` matches `path/to/folder1`, `path/to/folder1/subfolder`, `path/to/folder2`, `path/to/folder2/subfolder`, etc.\n\n\n\n`?` matches any one character.\n\n\n\nUse square brackets `[]` to match any character from a set. This works like a regular expression, including negation using `^`.\n\n\n\nCurly brackets `{}` can be used to denote parts of a pattern which will accept a number of alternatives, separated by commas `,`.\n\nThese alternatives can either be literal text or include special characters including nested curly brackets.\n\nFor example `{Mon,Tue,Wed,Thu,Fri}` would match abbreviated weekdays, and `202{3-{0[7-9],1?},4-0[1-6]}-*` would match dates from `2023-07-01` through `2024-06-30`.\n\n\n\nTo match any of the special characters literally, precede it with a backslash and enclose that pair with square brackets. For example to match a literal `?`, use `[\\?]`.\n\n\n\nGlobs are supported on \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`excludePattern`\" pulumi-lang-dotnet=\"`ExcludePattern`\" pulumi-lang-go=\"`excludePattern`\" pulumi-lang-python=\"`exclude_pattern`\" pulumi-lang-yaml=\"`excludePattern`\" pulumi-lang-java=\"`excludePattern`\" pulumi-lang-hcl=\"`exclude_pattern`\"\u003e`excludePattern`\u003c/span\u003e fields. Globs are not supported on remote paths of any kind or for any field.\n\n\n\nBy default, Copy and Move automations that use globs will implicitly replicate matched folder structures at the destination. If you want to flatten the folder structure, set \u003cspan pulumi-lang-nodejs=\"`flattenDestinationStructure`\" pulumi-lang-dotnet=\"`FlattenDestinationStructure`\" pulumi-lang-go=\"`flattenDestinationStructure`\" pulumi-lang-python=\"`flatten_destination_structure`\" pulumi-lang-yaml=\"`flattenDestinationStructure`\" pulumi-lang-java=\"`flattenDestinationStructure`\" pulumi-lang-hcl=\"`flatten_destination_structure`\"\u003e`flattenDestinationStructure`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\n\n## Automation Triggers\n\n\n\nAutomations can be triggered in the following ways:\n\n\n\n* \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e : The automation will run according to either the reusable Site-level Schedule selected by \u003cspan pulumi-lang-nodejs=\"`scheduleId`\" pulumi-lang-dotnet=\"`ScheduleId`\" pulumi-lang-go=\"`scheduleId`\" pulumi-lang-python=\"`schedule_id`\" pulumi-lang-yaml=\"`scheduleId`\" pulumi-lang-java=\"`scheduleId`\" pulumi-lang-hcl=\"`schedule_id`\"\u003e`scheduleId`\u003c/span\u003e or its own custom schedule fields for \u003cspan pulumi-lang-nodejs=\"`daysOfWeek`\" pulumi-lang-dotnet=\"`DaysOfWeek`\" pulumi-lang-go=\"`daysOfWeek`\" pulumi-lang-python=\"`days_of_week`\" pulumi-lang-yaml=\"`daysOfWeek`\" pulumi-lang-java=\"`daysOfWeek`\" pulumi-lang-hcl=\"`days_of_week`\"\u003e`daysOfWeek`\u003c/span\u003e (0-based) and \u003cspan pulumi-lang-nodejs=\"`timesOfDay`\" pulumi-lang-dotnet=\"`TimesOfDay`\" pulumi-lang-go=\"`timesOfDay`\" pulumi-lang-python=\"`times_of_day`\" pulumi-lang-yaml=\"`timesOfDay`\" pulumi-lang-java=\"`timesOfDay`\" pulumi-lang-hcl=\"`times_of_day`\"\u003e`timesOfDay`\u003c/span\u003e. A time zone may be specified via \u003cspan pulumi-lang-nodejs=\"`timeZone`\" pulumi-lang-dotnet=\"`TimeZone`\" pulumi-lang-go=\"`timeZone`\" pulumi-lang-python=\"`time_zone`\" pulumi-lang-yaml=\"`timeZone`\" pulumi-lang-java=\"`timeZone`\" pulumi-lang-hcl=\"`time_zone`\"\u003e`timeZone`\u003c/span\u003e in Rails TimeZone name format.\n\n* \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e : The automation will run in a picked \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\" pulumi-lang-hcl=\"`interval`\"\u003e`interval`\u003c/span\u003e. You can specify \u003cspan pulumi-lang-nodejs=\"`recurringDay`\" pulumi-lang-dotnet=\"`RecurringDay`\" pulumi-lang-go=\"`recurringDay`\" pulumi-lang-python=\"`recurring_day`\" pulumi-lang-yaml=\"`recurringDay`\" pulumi-lang-java=\"`recurringDay`\" pulumi-lang-hcl=\"`recurring_day`\"\u003e`recurringDay`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`recurringDays`\" pulumi-lang-dotnet=\"`RecurringDays`\" pulumi-lang-go=\"`recurringDays`\" pulumi-lang-python=\"`recurring_days`\" pulumi-lang-yaml=\"`recurringDays`\" pulumi-lang-java=\"`recurringDays`\" pulumi-lang-hcl=\"`recurring_days`\"\u003e`recurringDays`\u003c/span\u003e to select one or more day numbers inside the interval.\n\n* \u003cspan pulumi-lang-nodejs=\"`webhook`\" pulumi-lang-dotnet=\"`Webhook`\" pulumi-lang-go=\"`webhook`\" pulumi-lang-python=\"`webhook`\" pulumi-lang-yaml=\"`webhook`\" pulumi-lang-java=\"`webhook`\" pulumi-lang-hcl=\"`webhook`\"\u003e`webhook`\u003c/span\u003e : the automation will run when a request is sent to the corresponding webhook URL.\n\n* \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\" pulumi-lang-hcl=\"`action`\"\u003e`action`\u003c/span\u003e : The automation will run when a specific action happens, e.g. a file is created or downloaded.\n\n\n\nFuture enhancements will allow Automations to be triggered by an incoming email, or by other services.\n\n\n\nCurrently, all Automation types support all triggers, with the following exceptions: `Create Folder` and `Run Remote Server Sync` are not supported by the \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\" pulumi-lang-hcl=\"`action`\"\u003e`action`\u003c/span\u003e trigger.\n\n\n\nAutomations can be triggered manually if trigger is not set to \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\" pulumi-lang-hcl=\"`action`\"\u003e`action`\u003c/span\u003e.\n\n\n\n## Destinations\n\n\n\nThe \u003cspan pulumi-lang-nodejs=\"`destinations`\" pulumi-lang-dotnet=\"`Destinations`\" pulumi-lang-go=\"`destinations`\" pulumi-lang-python=\"`destinations`\" pulumi-lang-yaml=\"`destinations`\" pulumi-lang-java=\"`destinations`\" pulumi-lang-hcl=\"`destinations`\"\u003e`destinations`\u003c/span\u003e parameter is a list of paths where files will be copied, moved, or created. It may include formatting parameters to dynamically determine the destination at runtime.\n\n\n\n### Relative vs. Absolute Paths\n\n\n\nIn order to specify a relative path, it must start with either `./` or `../`. All other paths are considered absolute. In general, leading slashes should never be used on Files.com paths, including here. Paths are interpreted as absolute in all contexts, even without a leading slash.\n\n\n\n### Files vs. Folders\n\n\n\nIf the destination path ends with a `/`, the filename from the source path will be preserved and put into the folder of this name. If the destination path does not end with a `/`, it will be interpreted as a filename and will override the source file's filename entirely.\n\n\n\n### Formatting Parameters\n\n\n\n**Action-Triggered Automations**\n\n\n\n* `%tf` : The name of the file that triggered the automation.\n\n* `%tp` : The path of the file that triggered the automation.\n\n* `%td` : The directory of the file that triggered the automation.\n\n* `%tb` : The name of the file (without extension) that triggered the automation.\n\n* `%te` : The extension of the file that triggered the automation.\n\n\n\nFor example, if the triggering file is at `path/to/file.txt`, then the automation destination `path/to/dest/incoming-%tf` will result in the actual destination being `path/to/dest/incoming-file.txt`.\n\n\n\n**Parent Folders**\n\n\n\nTo reference the parent folder of a source file, use `%p1`, `%p2`, `%p3`, etc. for the first, second, third, etc. parent folder, respectively.\n\n\n\nTo reference path components from the root downward, use `%P1`, `%P2`, `%P3`, etc. for the first, second, third, etc. path component, respectively.\n\n\n\nFor example, if the source file is at `accounts/file.txt`, then the automation destination `path/to/dest/%p1/some_file_name.txt` will result in the actual destination being `path/to/dest/accounts/some_file_name.txt`.\n\n\n\nIf the source file is at `partner/app/team/inbound/file.txt`, then the automation destination `path/to/dest/%P1/%P3/%P4/file.txt` will result in the actual destination being `path/to/dest/partner/team/inbound/file.txt`.\n\n\n\n**Source File Name**\n\n\n\nTo reference the name of the source file being processed, use the following tokens:\n\n\n\n* `%Ff` : The name of the source file, with extension.\n\n* `%Fb` : The name of the source file, without extension.\n\n* `%Fe` : The extension of the source file.\n\n* `%Fl` : The name of the source file, with extension, converted to lowercase.\n\n* `%Fn` : The name of the source file, without non-alphanumeric characters, with extension.\n\n* `%Fp` : The name of the source file, with extension, spaces removed, lowercase, non-ASCII normalized.\n\n\n\nFor example, if the source file is `Daily Report.xlsx` and the destination is `archive/%Y-%m-%d/%Fb.xlsx`, the resolved destination will be `archive/2024-01-15/Daily Report.xlsx`.\n\n\n\n**Dates and Times**\n\n\n\n* `%Y` : The current year (4 digits)\n\n* `%m` : The current month (2 digits)\n\n* `%B` : The current month (full name)\n\n* `%d` : The current day (2 digits)\n\n* `%H` : The current hour (2 digits, 24-hour clock)\n\n* `%M` : The current minute (2 digits)\n\n* `%S` : The current second (2 digits)\n\n* `%z` : UTC Time Zone (e.g. -0900)\n\n\n\nFor example, if the current date is June 23, 2023 and the source file is named `daily_sales.csv`, then the following automation destination `path/to/dest/%Y/%m/%d/` will result in the actual destination being `path/to/dest/2023/06/23/daily_sales.csv`.\n\n\n\n### Replacing Text\n\n\n\nTo replace text in the source filename, use the \u003cspan pulumi-lang-nodejs=\"`destinationReplaceFrom`\" pulumi-lang-dotnet=\"`DestinationReplaceFrom`\" pulumi-lang-go=\"`destinationReplaceFrom`\" pulumi-lang-python=\"`destination_replace_from`\" pulumi-lang-yaml=\"`destinationReplaceFrom`\" pulumi-lang-java=\"`destinationReplaceFrom`\" pulumi-lang-hcl=\"`destination_replace_from`\"\u003e`destinationReplaceFrom`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`destinationReplaceTo`\" pulumi-lang-dotnet=\"`DestinationReplaceTo`\" pulumi-lang-go=\"`destinationReplaceTo`\" pulumi-lang-python=\"`destination_replace_to`\" pulumi-lang-yaml=\"`destinationReplaceTo`\" pulumi-lang-java=\"`destinationReplaceTo`\" pulumi-lang-hcl=\"`destination_replace_to`\"\u003e`destinationReplaceTo`\u003c/span\u003e parameters. This will perform a simple text replacement on the source filename before inserting it into the destination path.\n\n\n\nFor example, if the \u003cspan pulumi-lang-nodejs=\"`destinationReplaceFrom`\" pulumi-lang-dotnet=\"`DestinationReplaceFrom`\" pulumi-lang-go=\"`destinationReplaceFrom`\" pulumi-lang-python=\"`destination_replace_from`\" pulumi-lang-yaml=\"`destinationReplaceFrom`\" pulumi-lang-java=\"`destinationReplaceFrom`\" pulumi-lang-hcl=\"`destination_replace_from`\"\u003e`destinationReplaceFrom`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`incoming`\" pulumi-lang-dotnet=\"`Incoming`\" pulumi-lang-go=\"`incoming`\" pulumi-lang-python=\"`incoming`\" pulumi-lang-yaml=\"`incoming`\" pulumi-lang-java=\"`incoming`\" pulumi-lang-hcl=\"`incoming`\"\u003e`incoming`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`destinationReplaceTo`\" pulumi-lang-dotnet=\"`DestinationReplaceTo`\" pulumi-lang-go=\"`destinationReplaceTo`\" pulumi-lang-python=\"`destination_replace_to`\" pulumi-lang-yaml=\"`destinationReplaceTo`\" pulumi-lang-java=\"`destinationReplaceTo`\" pulumi-lang-hcl=\"`destination_replace_to`\"\u003e`destinationReplaceTo`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`outgoing`\" pulumi-lang-dotnet=\"`Outgoing`\" pulumi-lang-go=\"`outgoing`\" pulumi-lang-python=\"`outgoing`\" pulumi-lang-yaml=\"`outgoing`\" pulumi-lang-java=\"`outgoing`\" pulumi-lang-hcl=\"`outgoing`\"\u003e`outgoing`\u003c/span\u003e, then `path/to/incoming.txt` will translate to `path/to/outgoing.txt`.\n\n\n\n\n\n## Automation Types\n\n\n\nThere are several types of automations: Create Folder, Copy File, Move File, Delete File and, Run Remote Server Sync.\n\n\n\n\n\n### Create Folder\n\n\n\nCreates the folder with named by \u003cspan pulumi-lang-nodejs=\"`destinations`\" pulumi-lang-dotnet=\"`Destinations`\" pulumi-lang-go=\"`destinations`\" pulumi-lang-python=\"`destinations`\" pulumi-lang-yaml=\"`destinations`\" pulumi-lang-java=\"`destinations`\" pulumi-lang-hcl=\"`destinations`\"\u003e`destinations`\u003c/span\u003e in the path named by \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e.\n\nDestination may include formatting parameters to insert the date/time into the destination name.\n\n\n\nExample Use case: Our business files sales tax for each division in 11 states every quarter.\n\nI want to create the folders where those sales tax forms and data will be collected.\n\n\n\nI could create a Create Folder automation as follows:\n\n\n\n* Trigger: \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e\n\n* Interval: \u003cspan pulumi-lang-nodejs=\"`quarterEnd`\" pulumi-lang-dotnet=\"`QuarterEnd`\" pulumi-lang-go=\"`quarterEnd`\" pulumi-lang-python=\"`quarter_end`\" pulumi-lang-yaml=\"`quarterEnd`\" pulumi-lang-java=\"`quarterEnd`\" pulumi-lang-hcl=\"`quarter_end`\"\u003e`quarterEnd`\u003c/span\u003e\n\n* Path: `AccountingAndTax/SalesTax/State/*/`\n\n* Destinations: `%Y/Quarter-ending-%m-%d`\n\n\n\nNote this assumes you have folders in `AccountingAndTax/SalesTax/State/` already created for each state, e.g. `AccountingAndTax/SalesTax/State/CA/`.\n\n\n\n\n\n### Delete File\n\n\n\nDeletes the file with path matching \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e (wildcards allowed) in the path named by \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e.\n\n\n\n\n\n### Copy File\n\n\n\nCopies files in the folder named by \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e to the path specified in \u003cspan pulumi-lang-nodejs=\"`destinations`\" pulumi-lang-dotnet=\"`Destinations`\" pulumi-lang-go=\"`destinations`\" pulumi-lang-python=\"`destinations`\" pulumi-lang-yaml=\"`destinations`\" pulumi-lang-java=\"`destinations`\" pulumi-lang-hcl=\"`destinations`\"\u003e`destinations`\u003c/span\u003e.\n\nThe automation will only fire on files matching the \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e (wildcards allowed). In the case of an action-triggered automation, it will only operate on the actual file that triggered the automation.\n\nIf the parameter \u003cspan pulumi-lang-nodejs=\"`limit`\" pulumi-lang-dotnet=\"`Limit`\" pulumi-lang-go=\"`limit`\" pulumi-lang-python=\"`limit`\" pulumi-lang-yaml=\"`limit`\" pulumi-lang-java=\"`limit`\" pulumi-lang-hcl=\"`limit`\"\u003e`limit`\u003c/span\u003e exists, the automation will only copy the newest \u003cspan pulumi-lang-nodejs=\"`limit`\" pulumi-lang-dotnet=\"`Limit`\" pulumi-lang-go=\"`limit`\" pulumi-lang-python=\"`limit`\" pulumi-lang-yaml=\"`limit`\" pulumi-lang-java=\"`limit`\" pulumi-lang-hcl=\"`limit`\"\u003e`limit`\u003c/span\u003e files in each matching folder.\n\n\n\n\n\n### Move File\n\n\n\nMoves files in the folder named by \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e to the path specified in \u003cspan pulumi-lang-nodejs=\"`destinations`\" pulumi-lang-dotnet=\"`Destinations`\" pulumi-lang-go=\"`destinations`\" pulumi-lang-python=\"`destinations`\" pulumi-lang-yaml=\"`destinations`\" pulumi-lang-java=\"`destinations`\" pulumi-lang-hcl=\"`destinations`\"\u003e`destinations`\u003c/span\u003e.\n\nThe automation will only fire on files matching the \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e (wildcards allowed). In the case of an action-triggered automation, it will only operate on the actual file that triggered the automation.\n\nIf the parameter \u003cspan pulumi-lang-nodejs=\"`limit`\" pulumi-lang-dotnet=\"`Limit`\" pulumi-lang-go=\"`limit`\" pulumi-lang-python=\"`limit`\" pulumi-lang-yaml=\"`limit`\" pulumi-lang-java=\"`limit`\" pulumi-lang-hcl=\"`limit`\"\u003e`limit`\u003c/span\u003e exists, the automation will only move the newest \u003cspan pulumi-lang-nodejs=\"`limit`\" pulumi-lang-dotnet=\"`Limit`\" pulumi-lang-go=\"`limit`\" pulumi-lang-python=\"`limit`\" pulumi-lang-yaml=\"`limit`\" pulumi-lang-java=\"`limit`\" pulumi-lang-hcl=\"`limit`\"\u003e`limit`\u003c/span\u003e files in each matching folder.\n\nNote that for a move with multiple destinations, all but one destination is treated as a copy.\n\n\n\n\n\n### Run Remote Server Sync\n\n\n\nThe Run Remote Server Sync automation runs the remote server syncs specified by the \u003cspan pulumi-lang-nodejs=\"`syncIds`\" pulumi-lang-dotnet=\"`SyncIds`\" pulumi-lang-go=\"`syncIds`\" pulumi-lang-python=\"`sync_ids`\" pulumi-lang-yaml=\"`syncIds`\" pulumi-lang-java=\"`syncIds`\" pulumi-lang-hcl=\"`sync_ids`\"\u003e`syncIds`\u003c/span\u003e.\n\n\n\nTypically when this automation is used, the remote server syncs in question are set to the manual\n\nscheduling mode (\u003cspan pulumi-lang-nodejs=\"`manual`\" pulumi-lang-dotnet=\"`Manual`\" pulumi-lang-go=\"`manual`\" pulumi-lang-python=\"`manual`\" pulumi-lang-yaml=\"`manual`\" pulumi-lang-java=\"`manual`\" pulumi-lang-hcl=\"`manual`\"\u003e`manual`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e via the API) to disable the built in sync scheduler.\n\n\n\n\n\n### Import File\n\n\n\nRetrieves files from one or more URLs and saves the results under the path specified in \u003cspan pulumi-lang-nodejs=\"`destinations`\" pulumi-lang-dotnet=\"`Destinations`\" pulumi-lang-go=\"`destinations`\" pulumi-lang-python=\"`destinations`\" pulumi-lang-yaml=\"`destinations`\" pulumi-lang-java=\"`destinations`\" pulumi-lang-hcl=\"`destinations`\"\u003e`destinations`\u003c/span\u003e.\n\n\n\nThe URLs to retrieve are specified as a JSON array in the \u003cspan pulumi-lang-nodejs=\"`importUrls`\" pulumi-lang-dotnet=\"`ImportUrls`\" pulumi-lang-go=\"`importUrls`\" pulumi-lang-python=\"`import_urls`\" pulumi-lang-yaml=\"`importUrls`\" pulumi-lang-java=\"`importUrls`\" pulumi-lang-hcl=\"`import_urls`\"\u003e`importUrls`\u003c/span\u003e property.\n\n\n\n```json\n\n[\n\n {\n\n \"name\": \"response.json\",\n\n \"url\": \"https://example.com/api\",\n\n \"method\": \"post\",\n\n \"headers\": {\n\n \"Content-Type\": \"application/json\"\n\n },\n\n \"content\": { \"trigger-file\": \"%tp\" }\n\n }\n\n]\n\n```\n\n\n\nThe recognized keys are:\n\n\n\n* \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\" pulumi-lang-hcl=\"`name`\"\u003e`name`\u003c/span\u003e: The file name which will be used to save the returned content. Required. `%` tokens will be replaced as described under Formatting Parameters.\n\n* \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\" pulumi-lang-hcl=\"`url`\"\u003e`url`\u003c/span\u003e: The URL which will be requested. Required.\n\n* \u003cspan pulumi-lang-nodejs=\"`method`\" pulumi-lang-dotnet=\"`Method`\" pulumi-lang-go=\"`method`\" pulumi-lang-python=\"`method`\" pulumi-lang-yaml=\"`method`\" pulumi-lang-java=\"`method`\" pulumi-lang-hcl=\"`method`\"\u003e`method`\u003c/span\u003e: The HTTP method to be used for the request. May be either \u003cspan pulumi-lang-nodejs=\"`get`\" pulumi-lang-dotnet=\"`Get`\" pulumi-lang-go=\"`get`\" pulumi-lang-python=\"`get`\" pulumi-lang-yaml=\"`get`\" pulumi-lang-java=\"`get`\" pulumi-lang-hcl=\"`get`\"\u003e`get`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`post`\" pulumi-lang-dotnet=\"`Post`\" pulumi-lang-go=\"`post`\" pulumi-lang-python=\"`post`\" pulumi-lang-yaml=\"`post`\" pulumi-lang-java=\"`post`\" pulumi-lang-hcl=\"`post`\"\u003e`post`\u003c/span\u003e (case insensitive). Defaults to \u003cspan pulumi-lang-nodejs=\"`get`\" pulumi-lang-dotnet=\"`Get`\" pulumi-lang-go=\"`get`\" pulumi-lang-python=\"`get`\" pulumi-lang-yaml=\"`get`\" pulumi-lang-java=\"`get`\" pulumi-lang-hcl=\"`get`\"\u003e`get`\u003c/span\u003e.\n\n* \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\" pulumi-lang-hcl=\"`headers`\"\u003e`headers`\u003c/span\u003e: Optional headers to be included in the request. `%` tokens in the values will be replaced as described under Formatting Parameters.\n\n* \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\" pulumi-lang-hcl=\"`content`\"\u003e`content`\u003c/span\u003e: Optional body to send for POST request. If supplied as a string, `%` tokens will be expanded. If supplied as a JSON Object, `%` tokens will be expanded for top-level values. Other JSON types will be sent as-is.\n\n\n\n\n\n### Help us build the future of Automations\n\n\n\nDo you have an idea for something that would work well as a Files.com Automation? Let us know!\n\nWe are actively improving the types of automations offered on our platform.\n\n\n\n\n\n## Retrying Failures\n\n\n\nAutomations will automatically retry individual action steps up to 3 times, with pauses between retries that increase from 15 seconds to 1 minute. If individual action steps fail after our 3rd attempt, that action will fail. If every action step in an Automation Run fails, that automation run will move to a \u003cspan pulumi-lang-nodejs=\"`failure`\" pulumi-lang-dotnet=\"`Failure`\" pulumi-lang-go=\"`failure`\" pulumi-lang-python=\"`failure`\" pulumi-lang-yaml=\"`failure`\" pulumi-lang-java=\"`failure`\" pulumi-lang-hcl=\"`failure`\"\u003e`failure`\u003c/span\u003e status. If at least one step succeeds and one step fails, that automation run will move to a \u003cspan pulumi-lang-nodejs=\"`partialFailure`\" pulumi-lang-dotnet=\"`PartialFailure`\" pulumi-lang-go=\"`partialFailure`\" pulumi-lang-python=\"`partial_failure`\" pulumi-lang-yaml=\"`partialFailure`\" pulumi-lang-java=\"`partialFailure`\" pulumi-lang-hcl=\"`partial_failure`\"\u003e`partialFailure`\u003c/span\u003e status.\n\n\n\nAutomation Runs can be retried automatically when they enter a \u003cspan pulumi-lang-nodejs=\"`failure`\" pulumi-lang-dotnet=\"`Failure`\" pulumi-lang-go=\"`failure`\" pulumi-lang-python=\"`failure`\" pulumi-lang-yaml=\"`failure`\" pulumi-lang-java=\"`failure`\" pulumi-lang-hcl=\"`failure`\"\u003e`failure`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`partialFailure`\" pulumi-lang-dotnet=\"`PartialFailure`\" pulumi-lang-go=\"`partialFailure`\" pulumi-lang-python=\"`partial_failure`\" pulumi-lang-yaml=\"`partialFailure`\" pulumi-lang-java=\"`partialFailure`\" pulumi-lang-hcl=\"`partial_failure`\"\u003e`partialFailure`\u003c/span\u003e status as described above. A retry will re-run the automation from scratch, including the \"planning\" phase, which expands globs (wildcards) and identifies which files to transfer or skip.\n\n\n\nRetrying of entire Automation Runs must be explicitly enabled by setting the \u003cspan pulumi-lang-nodejs=\"`retryOnFailureIntervalInMinutes`\" pulumi-lang-dotnet=\"`RetryOnFailureIntervalInMinutes`\" pulumi-lang-go=\"`retryOnFailureIntervalInMinutes`\" pulumi-lang-python=\"`retry_on_failure_interval_in_minutes`\" pulumi-lang-yaml=\"`retryOnFailureIntervalInMinutes`\" pulumi-lang-java=\"`retryOnFailureIntervalInMinutes`\" pulumi-lang-hcl=\"`retry_on_failure_interval_in_minutes`\"\u003e`retryOnFailureIntervalInMinutes`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`retryOnFailureNumberOfAttempts`\" pulumi-lang-dotnet=\"`RetryOnFailureNumberOfAttempts`\" pulumi-lang-go=\"`retryOnFailureNumberOfAttempts`\" pulumi-lang-python=\"`retry_on_failure_number_of_attempts`\" pulumi-lang-yaml=\"`retryOnFailureNumberOfAttempts`\" pulumi-lang-java=\"`retryOnFailureNumberOfAttempts`\" pulumi-lang-hcl=\"`retry_on_failure_number_of_attempts`\"\u003e`retryOnFailureNumberOfAttempts`\u003c/span\u003e values on the Automation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleAutomation = new filescom.Automation(\"example_automation\", {\n    source: \"example\",\n    destinations: [\n        \"folder_a/file_a.txt\",\n        \"folder_b/\",\n        \"./relative-folder/\",\n    ],\n    destinationReplaceFrom: \"example\",\n    destinationReplaceTo: \"example\",\n    interval: \"year\",\n    path: \"example\",\n    legacySyncIds: [\n        1,\n        2,\n    ],\n    syncIds: [\n        1,\n        2,\n    ],\n    userIds: [\n        1,\n        2,\n    ],\n    groupIds: [\n        1,\n        2,\n    ],\n    scheduleId: 1,\n    scheduleDaysOfWeeks: [\n        0,\n        1,\n        3,\n    ],\n    scheduleTimesOfDays: [\n        \"7:30\",\n        \"11:30\",\n    ],\n    scheduleTimeZone: \"Eastern Time (US \u0026 Canada)\",\n    holidayRegion: \"us_dc\",\n    alwaysOverwriteSizeMatchingFiles: true,\n    alwaysSerializeJobs: true,\n    description: \"example\",\n    definition: {\n        schemaVersion: 1,\n        nodes: [\n            {\n                triggerManual: {\n                    id: \"trigger\",\n                },\n            },\n            {\n                createFolder: {\n                    id: \"create_reports\",\n                    config: {\n                        destinations: [\"reports/\"],\n                    },\n                },\n            },\n        ],\n        edges: [{\n            from: \"trigger\",\n            to: \"create_reports\",\n        }],\n    },\n    disabled: true,\n    excludePattern: \"path/to/exclude/*\",\n    importUrls: [{\n        name: \"users.json\",\n        url: \"http://example.com/users\",\n        method: \"POST\",\n        headers: {\n            \"content-Type\": \"application/json\",\n        },\n        content: {\n            group: \"support\",\n        },\n    }],\n    flattenDestinationStructure: true,\n    ignoreLockedFolders: true,\n    legacyFolderMatching: false,\n    name: \"example\",\n    overwriteFiles: true,\n    pathTimeZone: \"Eastern Time (US \u0026 Canada)\",\n    retryOnFailureIntervalInMinutes: 60,\n    retryOnFailureNumberOfAttempts: 10,\n    trigger: \"daily\",\n    triggerActions: [\"create\"],\n    value: {\n        limit: 1,\n    },\n    recurringDay: 25,\n    recurringDays: [\n        1,\n        15,\n    ],\n    automation: \"create_folder\",\n    workspaceId: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_automation = filescom.Automation(\"example_automation\",\n    source=\"example\",\n    destinations=[\n        \"folder_a/file_a.txt\",\n        \"folder_b/\",\n        \"./relative-folder/\",\n    ],\n    destination_replace_from=\"example\",\n    destination_replace_to=\"example\",\n    interval=\"year\",\n    path=\"example\",\n    legacy_sync_ids=[\n        1,\n        2,\n    ],\n    sync_ids=[\n        1,\n        2,\n    ],\n    user_ids=[\n        1,\n        2,\n    ],\n    group_ids=[\n        1,\n        2,\n    ],\n    schedule_id=1,\n    schedule_days_of_weeks=[\n        0,\n        1,\n        3,\n    ],\n    schedule_times_of_days=[\n        \"7:30\",\n        \"11:30\",\n    ],\n    schedule_time_zone=\"Eastern Time (US \u0026 Canada)\",\n    holiday_region=\"us_dc\",\n    always_overwrite_size_matching_files=True,\n    always_serialize_jobs=True,\n    description=\"example\",\n    definition={\n        \"schema_version\": 1,\n        \"nodes\": [\n            {\n                \"trigger_manual\": {\n                    \"id\": \"trigger\",\n                },\n            },\n            {\n                \"create_folder\": {\n                    \"id\": \"create_reports\",\n                    \"config\": {\n                        \"destinations\": [\"reports/\"],\n                    },\n                },\n            },\n        ],\n        \"edges\": [{\n            \"from_\": \"trigger\",\n            \"to\": \"create_reports\",\n        }],\n    },\n    disabled=True,\n    exclude_pattern=\"path/to/exclude/*\",\n    import_urls=[{\n        \"name\": \"users.json\",\n        \"url\": \"http://example.com/users\",\n        \"method\": \"POST\",\n        \"headers\": {\n            \"content-Type\": \"application/json\",\n        },\n        \"content\": {\n            \"group\": \"support\",\n        },\n    }],\n    flatten_destination_structure=True,\n    ignore_locked_folders=True,\n    legacy_folder_matching=False,\n    name=\"example\",\n    overwrite_files=True,\n    path_time_zone=\"Eastern Time (US \u0026 Canada)\",\n    retry_on_failure_interval_in_minutes=60,\n    retry_on_failure_number_of_attempts=10,\n    trigger=\"daily\",\n    trigger_actions=[\"create\"],\n    value={\n        \"limit\": 1,\n    },\n    recurring_day=25,\n    recurring_days=[\n        1,\n        15,\n    ],\n    automation=\"create_folder\",\n    workspace_id=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleAutomation = new Filescom.Automation(\"example_automation\", new()\n    {\n        Source = \"example\",\n        Destinations = new[]\n        {\n            \"folder_a/file_a.txt\",\n            \"folder_b/\",\n            \"./relative-folder/\",\n        },\n        DestinationReplaceFrom = \"example\",\n        DestinationReplaceTo = \"example\",\n        Interval = \"year\",\n        Path = \"example\",\n        LegacySyncIds = new[]\n        {\n            1,\n            2,\n        },\n        SyncIds = new[]\n        {\n            1,\n            2,\n        },\n        UserIds = new[]\n        {\n            1,\n            2,\n        },\n        GroupIds = new[]\n        {\n            1,\n            2,\n        },\n        ScheduleId = 1,\n        ScheduleDaysOfWeeks = new[]\n        {\n            0,\n            1,\n            3,\n        },\n        ScheduleTimesOfDays = new[]\n        {\n            \"7:30\",\n            \"11:30\",\n        },\n        ScheduleTimeZone = \"Eastern Time (US \u0026 Canada)\",\n        HolidayRegion = \"us_dc\",\n        AlwaysOverwriteSizeMatchingFiles = true,\n        AlwaysSerializeJobs = true,\n        Description = \"example\",\n        Definition = new Filescom.Inputs.AutomationDefinitionArgs\n        {\n            SchemaVersion = 1,\n            Nodes = new[]\n            {\n                new Filescom.Inputs.AutomationDefinitionNodeArgs\n                {\n                    TriggerManual = new Filescom.Inputs.AutomationDefinitionNodeTriggerManualArgs\n                    {\n                        Id = \"trigger\",\n                    },\n                },\n                new Filescom.Inputs.AutomationDefinitionNodeArgs\n                {\n                    CreateFolder = new Filescom.Inputs.AutomationDefinitionNodeCreateFolderArgs\n                    {\n                        Id = \"create_reports\",\n                        Config = new Filescom.Inputs.AutomationDefinitionNodeCreateFolderConfigArgs\n                        {\n                            Destinations = new[]\n                            {\n                                \"reports/\",\n                            },\n                        },\n                    },\n                },\n            },\n            Edges = new[]\n            {\n                new Filescom.Inputs.AutomationDefinitionEdgeArgs\n                {\n                    From = \"trigger\",\n                    To = \"create_reports\",\n                },\n            },\n        },\n        Disabled = true,\n        ExcludePattern = \"path/to/exclude/*\",\n        ImportUrls = new[]\n        {\n            \n            {\n                { \"name\", \"users.json\" },\n                { \"url\", \"http://example.com/users\" },\n                { \"method\", \"POST\" },\n                { \"headers\", \n                {\n                    { \"content-Type\", \"application/json\" },\n                } },\n                { \"content\", \n                {\n                    { \"group\", \"support\" },\n                } },\n            },\n        },\n        FlattenDestinationStructure = true,\n        IgnoreLockedFolders = true,\n        LegacyFolderMatching = false,\n        Name = \"example\",\n        OverwriteFiles = true,\n        PathTimeZone = \"Eastern Time (US \u0026 Canada)\",\n        RetryOnFailureIntervalInMinutes = 60,\n        RetryOnFailureNumberOfAttempts = 10,\n        Trigger = \"daily\",\n        TriggerActions = new[]\n        {\n            \"create\",\n        },\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"limit\"] = 1,\n        },\n        RecurringDay = 25,\n        RecurringDays = new[]\n        {\n            1,\n            15,\n        },\n        AutomationType = \"create_folder\",\n        WorkspaceId = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewAutomation(ctx, \"example_automation\", \u0026filescom.AutomationArgs{\n\t\t\tSource: pulumi.String(\"example\"),\n\t\t\tDestinations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"folder_a/file_a.txt\"),\n\t\t\t\tpulumi.String(\"folder_b/\"),\n\t\t\t\tpulumi.String(\"./relative-folder/\"),\n\t\t\t},\n\t\t\tDestinationReplaceFrom: pulumi.String(\"example\"),\n\t\t\tDestinationReplaceTo:   pulumi.String(\"example\"),\n\t\t\tInterval:               pulumi.String(\"year\"),\n\t\t\tPath:                   pulumi.String(\"example\"),\n\t\t\tLegacySyncIds: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(2),\n\t\t\t},\n\t\t\tSyncIds: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(2),\n\t\t\t},\n\t\t\tUserIds: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(2),\n\t\t\t},\n\t\t\tGroupIds: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(2),\n\t\t\t},\n\t\t\tScheduleId: pulumi.Int(1),\n\t\t\tScheduleDaysOfWeeks: pulumi.IntArray{\n\t\t\t\tpulumi.Int(0),\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(3),\n\t\t\t},\n\t\t\tScheduleTimesOfDays: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"7:30\"),\n\t\t\t\tpulumi.String(\"11:30\"),\n\t\t\t},\n\t\t\tScheduleTimeZone:                 pulumi.String(\"Eastern Time (US \u0026 Canada)\"),\n\t\t\tHolidayRegion:                    pulumi.String(\"us_dc\"),\n\t\t\tAlwaysOverwriteSizeMatchingFiles: pulumi.Bool(true),\n\t\t\tAlwaysSerializeJobs:              pulumi.Bool(true),\n\t\t\tDescription:                      pulumi.String(\"example\"),\n\t\t\tDefinition: \u0026filescom.AutomationDefinitionArgs{\n\t\t\t\tSchemaVersion: pulumi.Int(1),\n\t\t\t\tNodes: filescom.AutomationDefinitionNodeArray{\n\t\t\t\t\t\u0026filescom.AutomationDefinitionNodeArgs{\n\t\t\t\t\t\tTriggerManual: \u0026filescom.AutomationDefinitionNodeTriggerManualArgs{\n\t\t\t\t\t\t\tId: pulumi.String(\"trigger\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026filescom.AutomationDefinitionNodeArgs{\n\t\t\t\t\t\tCreateFolder: \u0026filescom.AutomationDefinitionNodeCreateFolderArgs{\n\t\t\t\t\t\t\tId: pulumi.String(\"create_reports\"),\n\t\t\t\t\t\t\tConfig: \u0026filescom.AutomationDefinitionNodeCreateFolderConfigArgs{\n\t\t\t\t\t\t\t\tDestinations: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"reports/\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tEdges: filescom.AutomationDefinitionEdgeArray{\n\t\t\t\t\t\u0026filescom.AutomationDefinitionEdgeArgs{\n\t\t\t\t\t\tFrom: pulumi.String(\"trigger\"),\n\t\t\t\t\t\tTo:   pulumi.String(\"create_reports\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tDisabled:       pulumi.Bool(true),\n\t\t\tExcludePattern: pulumi.String(\"path/to/exclude/*\"),\n\t\t\tImportUrls: pulumi.Any{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\":   \"users.json\",\n\t\t\t\t\t\"url\":    \"http://example.com/users\",\n\t\t\t\t\t\"method\": \"POST\",\n\t\t\t\t\t\"headers\": map[string]string{\n\t\t\t\t\t\t\"content-Type\": \"application/json\",\n\t\t\t\t\t},\n\t\t\t\t\t\"content\": map[string]string{\n\t\t\t\t\t\t\"group\": \"support\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tFlattenDestinationStructure:     pulumi.Bool(true),\n\t\t\tIgnoreLockedFolders:             pulumi.Bool(true),\n\t\t\tLegacyFolderMatching:            pulumi.Bool(false),\n\t\t\tName:                            pulumi.String(\"example\"),\n\t\t\tOverwriteFiles:                  pulumi.Bool(true),\n\t\t\tPathTimeZone:                    pulumi.String(\"Eastern Time (US \u0026 Canada)\"),\n\t\t\tRetryOnFailureIntervalInMinutes: pulumi.Int(60),\n\t\t\tRetryOnFailureNumberOfAttempts:  pulumi.Int(10),\n\t\t\tTrigger:                         pulumi.String(\"daily\"),\n\t\t\tTriggerActions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"create\"),\n\t\t\t},\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"limit\": 1,\n\t\t\t}),\n\t\t\tRecurringDay: pulumi.Int(25),\n\t\t\tRecurringDays: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(15),\n\t\t\t},\n\t\t\tAutomation:  pulumi.String(\"create_folder\"),\n\t\t\tWorkspaceId: pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_automation\" \"example_automation\" {\n  source                               = \"example\"\n  destinations                         = [\"folder_a/file_a.txt\", \"folder_b/\", \"./relative-folder/\"]\n  destination_replace_from             = \"example\"\n  destination_replace_to               = \"example\"\n  interval                             = \"year\"\n  path                                 = \"example\"\n  legacy_sync_ids                      = [1, 2]\n  sync_ids                             = [1, 2]\n  user_ids                             = [1, 2]\n  group_ids                            = [1, 2]\n  schedule_id                          = 1\n  schedule_days_of_weeks               = [0, 1, 3]\n  schedule_times_of_days               = [\"7:30\", \"11:30\"]\n  schedule_time_zone                   = \"Eastern Time (US \u0026 Canada)\"\n  holiday_region                       = \"us_dc\"\n  always_overwrite_size_matching_files = true\n  always_serialize_jobs                = true\n  description                          = \"example\"\n  definition = {\n    schema_version = 1\n    nodes = [{\n      \"triggerManual\" = {\n        \"id\" = \"trigger\"\n      }\n      }, {\n      \"createFolder\" = {\n        \"id\" = \"create_reports\"\n        \"config\" = {\n          \"destinations\" = [\"reports/\"]\n        }\n      }\n    }]\n    edges = [{\n      \"from\" = \"trigger\"\n      \"to\"   = \"create_reports\"\n    }]\n  }\n  disabled        = true\n  exclude_pattern = \"path/to/exclude/*\"\n  import_urls = [{\n    \"name\"   = \"users.json\"\n    \"url\"    = \"http://example.com/users\"\n    \"method\" = \"POST\"\n    \"headers\" = {\n      \"content-Type\" = \"application/json\"\n    }\n    \"content\" = {\n      \"group\" = \"support\"\n    }\n  }]\n  flatten_destination_structure        = true\n  ignore_locked_folders                = true\n  legacy_folder_matching               = false\n  name                                 = \"example\"\n  overwrite_files                      = true\n  path_time_zone                       = \"Eastern Time (US \u0026 Canada)\"\n  retry_on_failure_interval_in_minutes = 60\n  retry_on_failure_number_of_attempts  = 10\n  trigger                              = \"daily\"\n  trigger_actions                      = [\"create\"]\n  value = {\n    \"limit\" = 1\n  }\n  recurring_day  = 25\n  recurring_days = [1, 15]\n  automation     = \"create_folder\"\n  workspace_id   = 0\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.Automation;\nimport com.pulumi.filescom.AutomationArgs;\nimport com.pulumi.filescom.inputs.AutomationDefinitionArgs;\nimport com.pulumi.filescom.inputs.AutomationDefinitionNodeArgs;\nimport com.pulumi.filescom.inputs.AutomationDefinitionNodeTriggerManualArgs;\nimport com.pulumi.filescom.inputs.AutomationDefinitionNodeCreateFolderArgs;\nimport com.pulumi.filescom.inputs.AutomationDefinitionNodeCreateFolderConfigArgs;\nimport com.pulumi.filescom.inputs.AutomationDefinitionEdgeArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleAutomation = new Automation(\"exampleAutomation\", AutomationArgs.builder()\n            .source(\"example\")\n            .destinations(            \n                \"folder_a/file_a.txt\",\n                \"folder_b/\",\n                \"./relative-folder/\")\n            .destinationReplaceFrom(\"example\")\n            .destinationReplaceTo(\"example\")\n            .interval(\"year\")\n            .path(\"example\")\n            .legacySyncIds(            \n                1,\n                2)\n            .syncIds(            \n                1,\n                2)\n            .userIds(            \n                1,\n                2)\n            .groupIds(            \n                1,\n                2)\n            .scheduleId(1)\n            .scheduleDaysOfWeeks(            \n                0,\n                1,\n                3)\n            .scheduleTimesOfDays(            \n                \"7:30\",\n                \"11:30\")\n            .scheduleTimeZone(\"Eastern Time (US \u0026 Canada)\")\n            .holidayRegion(\"us_dc\")\n            .alwaysOverwriteSizeMatchingFiles(true)\n            .alwaysSerializeJobs(true)\n            .description(\"example\")\n            .definition(AutomationDefinitionArgs.builder()\n                .schemaVersion(1)\n                .nodes(                \n                    AutomationDefinitionNodeArgs.builder()\n                        .triggerManual(AutomationDefinitionNodeTriggerManualArgs.builder()\n                            .id(\"trigger\")\n                            .build())\n                        .build(),\n                    AutomationDefinitionNodeArgs.builder()\n                        .createFolder(AutomationDefinitionNodeCreateFolderArgs.builder()\n                            .id(\"create_reports\")\n                            .config(AutomationDefinitionNodeCreateFolderConfigArgs.builder()\n                                .destinations(\"reports/\")\n                                .build())\n                            .build())\n                        .build())\n                .edges(AutomationDefinitionEdgeArgs.builder()\n                    .from(\"trigger\")\n                    .to(\"create_reports\")\n                    .build())\n                .build())\n            .disabled(true)\n            .excludePattern(\"path/to/exclude/*\")\n            .importUrls(Map.ofEntries(\n                Map.entry(\"name\", \"users.json\"),\n                Map.entry(\"url\", \"http://example.com/users\"),\n                Map.entry(\"method\", \"POST\"),\n                Map.entry(\"headers\", Map.of(\"content-Type\", \"application/json\")),\n                Map.entry(\"content\", Map.of(\"group\", \"support\"))\n            ))\n            .flattenDestinationStructure(true)\n            .ignoreLockedFolders(true)\n            .legacyFolderMatching(false)\n            .name(\"example\")\n            .overwriteFiles(true)\n            .pathTimeZone(\"Eastern Time (US \u0026 Canada)\")\n            .retryOnFailureIntervalInMinutes(60)\n            .retryOnFailureNumberOfAttempts(10)\n            .trigger(\"daily\")\n            .triggerActions(\"create\")\n            .value(Map.of(\"limit\", 1))\n            .recurringDay(25)\n            .recurringDays(            \n                1,\n                15)\n            .automation(\"create_folder\")\n            .workspaceId(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleAutomation:\n    type: filescom:Automation\n    name: example_automation\n    properties:\n      source: example\n      destinations:\n        - folder_a/file_a.txt\n        - folder_b/\n        - ./relative-folder/\n      destinationReplaceFrom: example\n      destinationReplaceTo: example\n      interval: year\n      path: example\n      legacySyncIds:\n        - 1\n        - 2\n      syncIds:\n        - 1\n        - 2\n      userIds:\n        - 1\n        - 2\n      groupIds:\n        - 1\n        - 2\n      scheduleId: 1\n      scheduleDaysOfWeeks:\n        - 0\n        - 1\n        - 3\n      scheduleTimesOfDays:\n        - 7:30\n        - 11:30\n      scheduleTimeZone: Eastern Time (US \u0026 Canada)\n      holidayRegion: us_dc\n      alwaysOverwriteSizeMatchingFiles: true\n      alwaysSerializeJobs: true\n      description: example\n      definition:\n        schemaVersion: 1\n        nodes:\n          - triggerManual:\n              id: trigger\n          - createFolder:\n              id: create_reports\n              config:\n                destinations:\n                  - reports/\n        edges:\n          - from: trigger\n            to: create_reports\n      disabled: true\n      excludePattern: path/to/exclude/*\n      importUrls:\n        - name: users.json\n          url: http://example.com/users\n          method: POST\n          headers:\n            content-Type: application/json\n          content:\n            group: support\n      flattenDestinationStructure: true\n      ignoreLockedFolders: true\n      legacyFolderMatching: false\n      name: example\n      overwriteFiles: true\n      pathTimeZone: Eastern Time (US \u0026 Canada)\n      retryOnFailureIntervalInMinutes: 60\n      retryOnFailureNumberOfAttempts: 10\n      trigger: daily\n      triggerActions:\n        - create\n      value:\n        limit: 1\n      recurringDay: 25\n      recurringDays:\n        - 1\n        - 15\n      automation: create_folder\n      workspaceId: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nAutomations can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/automation:Automation example_automation 1\n```\n\n",
            "properties": {
                "alwaysOverwriteSizeMatchingFiles": {
                    "type": "boolean",
                    "description": "Ordinarily, files with identical size in the source and destination will be skipped from copy operations to prevent wasted transfer.  If this flag is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e we will overwrite the destination file always.  Note that this may cause large amounts of wasted transfer usage.  This setting has no effect unless \u003cspan pulumi-lang-nodejs=\"`overwriteFiles`\" pulumi-lang-dotnet=\"`OverwriteFiles`\" pulumi-lang-go=\"`overwriteFiles`\" pulumi-lang-python=\"`overwrite_files`\" pulumi-lang-yaml=\"`overwriteFiles`\" pulumi-lang-java=\"`overwriteFiles`\" pulumi-lang-hcl=\"`overwrite_files`\"\u003e`overwriteFiles`\u003c/span\u003e is also set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "alwaysSerializeJobs": {
                    "type": "boolean",
                    "description": "Ordinarily, we will allow automation runs to run in parallel for non-scheduled automations. If this flag is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e we will force automation runs to be serialized (run one at a time, one after another). This can resolve some issues with race conditions on remote systems at the cost of some performance.\n"
                },
                "automation": {
                    "type": "string",
                    "description": "Automation type\n",
                    "language": {
                        "csharp": {
                            "name": "AutomationType"
                        }
                    }
                },
                "definition": {
                    "$ref": "#/types/filescom:index/AutomationDefinition:AutomationDefinition",
                    "description": "Automation v2 graph definition.\n"
                },
                "deleted": {
                    "type": "boolean",
                    "description": "Indicates if the automation has been deleted.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Description for the this Automation.\n"
                },
                "destinationReplaceFrom": {
                    "type": "string",
                    "description": "If set, this string in the destination path will be replaced with the value in \u003cspan pulumi-lang-nodejs=\"`destinationReplaceTo`\" pulumi-lang-dotnet=\"`DestinationReplaceTo`\" pulumi-lang-go=\"`destinationReplaceTo`\" pulumi-lang-python=\"`destination_replace_to`\" pulumi-lang-yaml=\"`destinationReplaceTo`\" pulumi-lang-java=\"`destinationReplaceTo`\" pulumi-lang-hcl=\"`destination_replace_to`\"\u003e`destinationReplaceTo`\u003c/span\u003e.\n"
                },
                "destinationReplaceTo": {
                    "type": "string",
                    "description": "If set, this string will replace the value \u003cspan pulumi-lang-nodejs=\"`destinationReplaceFrom`\" pulumi-lang-dotnet=\"`DestinationReplaceFrom`\" pulumi-lang-go=\"`destinationReplaceFrom`\" pulumi-lang-python=\"`destination_replace_from`\" pulumi-lang-yaml=\"`destinationReplaceFrom`\" pulumi-lang-java=\"`destinationReplaceFrom`\" pulumi-lang-hcl=\"`destination_replace_from`\"\u003e`destinationReplaceFrom`\u003c/span\u003e in the destination filename. You can use special patterns here.\n"
                },
                "destinations": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Destination Paths\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "If true, this automation will not run.\n"
                },
                "excludePattern": {
                    "type": "string",
                    "description": "If set, this glob pattern will exclude files from the automation. Supports globs, except on remote mounts.\n"
                },
                "flattenDestinationStructure": {
                    "type": "boolean",
                    "description": "Normally copy and move automations that use globs will implicitly preserve the source folder structure in the destination.  If this flag is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the source folder structure will be flattened in the destination.  This is useful for copying or moving files from multiple folders into a single destination folder.\n"
                },
                "groupIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "IDs of Groups for the Automation (i.e. who to Request File from)\n"
                },
                "holidayRegion": {
                    "type": "string",
                    "description": "Skip the automation if there is a formal, observed holiday for this region.\n"
                },
                "humanReadableSchedule": {
                    "type": "string",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e with times, Human readable schedule description for when the automation should be run.\n"
                },
                "ignoreLockedFolders": {
                    "type": "boolean",
                    "description": "If true, the Lock Folders behavior will be disregarded for automated actions.\n"
                },
                "importUrls": {
                    "$ref": "pulumi.json#/Any",
                    "description": "List of URLs to be imported and names to be used.\n"
                },
                "inboundEmailAddress": {
                    "type": "string",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\" pulumi-lang-hcl=\"`email`\"\u003e`email`\u003c/span\u003e, this is the address that triggers the Automation.\n"
                },
                "interval": {
                    "type": "string",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies how often to run this automation.  One of: \u003cspan pulumi-lang-nodejs=\"`day`\" pulumi-lang-dotnet=\"`Day`\" pulumi-lang-go=\"`day`\" pulumi-lang-python=\"`day`\" pulumi-lang-yaml=\"`day`\" pulumi-lang-java=\"`day`\" pulumi-lang-hcl=\"`day`\"\u003e`day`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`weekEnd`\" pulumi-lang-dotnet=\"`WeekEnd`\" pulumi-lang-go=\"`weekEnd`\" pulumi-lang-python=\"`week_end`\" pulumi-lang-yaml=\"`weekEnd`\" pulumi-lang-java=\"`weekEnd`\" pulumi-lang-hcl=\"`week_end`\"\u003e`weekEnd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`monthEnd`\" pulumi-lang-dotnet=\"`MonthEnd`\" pulumi-lang-go=\"`monthEnd`\" pulumi-lang-python=\"`month_end`\" pulumi-lang-yaml=\"`monthEnd`\" pulumi-lang-java=\"`monthEnd`\" pulumi-lang-hcl=\"`month_end`\"\u003e`monthEnd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarterEnd`\" pulumi-lang-dotnet=\"`QuarterEnd`\" pulumi-lang-go=\"`quarterEnd`\" pulumi-lang-python=\"`quarter_end`\" pulumi-lang-yaml=\"`quarterEnd`\" pulumi-lang-java=\"`quarterEnd`\" pulumi-lang-hcl=\"`quarter_end`\"\u003e`quarterEnd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`yearEnd`\" pulumi-lang-dotnet=\"`YearEnd`\" pulumi-lang-go=\"`yearEnd`\" pulumi-lang-python=\"`year_end`\" pulumi-lang-yaml=\"`yearEnd`\" pulumi-lang-java=\"`yearEnd`\" pulumi-lang-hcl=\"`year_end`\"\u003e`yearEnd`\u003c/span\u003e\n"
                },
                "lastModifiedAt": {
                    "type": "string",
                    "description": "Time when automation was last modified. Does not change for name or description updates.\n"
                },
                "legacyFolderMatching": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, use the legacy behavior for this automation, where it can operate on folders in addition to just files.  This behavior no longer works and should not be used.\n"
                },
                "legacySyncIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "IDs of remote sync folder behaviors to run by this Automation\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name for this automation.\n"
                },
                "overwriteFiles": {
                    "type": "boolean",
                    "description": "If true, existing files will be overwritten with new files on Move/Copy automations.  Note: by default files will not be overwritten on Copy automations if they appear to be the same file size as the newly incoming file.  Use the \u003cspan pulumi-lang-nodejs=\"`alwaysOverwriteSizeMatchingFiles`\" pulumi-lang-dotnet=\"`AlwaysOverwriteSizeMatchingFiles`\" pulumi-lang-go=\"`alwaysOverwriteSizeMatchingFiles`\" pulumi-lang-python=\"`always_overwrite_size_matching_files`\" pulumi-lang-yaml=\"`alwaysOverwriteSizeMatchingFiles`\" pulumi-lang-java=\"`alwaysOverwriteSizeMatchingFiles`\" pulumi-lang-hcl=\"`always_overwrite_size_matching_files`\"\u003e`alwaysOverwriteSizeMatchingFiles`\u003c/span\u003e option in conjunction with \u003cspan pulumi-lang-nodejs=\"`overwriteFiles`\" pulumi-lang-dotnet=\"`OverwriteFiles`\" pulumi-lang-go=\"`overwriteFiles`\" pulumi-lang-python=\"`overwrite_files`\" pulumi-lang-yaml=\"`overwriteFiles`\" pulumi-lang-java=\"`overwriteFiles`\" pulumi-lang-hcl=\"`overwrite_files`\"\u003e`overwriteFiles`\u003c/span\u003e to override this behavior and overwrite files no matter what.\n"
                },
                "path": {
                    "type": "string",
                    "description": "Path on which this Automation runs.  Supports globs, except on remote mounts. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                },
                "pathTimeZone": {
                    "type": "string",
                    "description": "Timezone to use when rendering timestamps in paths.\n"
                },
                "recurringDay": {
                    "type": "integer",
                    "description": "If trigger type is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies a day number to run in one of the supported intervals: \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e.\n"
                },
                "recurringDays": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "If trigger type is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies one or more day numbers to run in one of the supported intervals: \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e.\n"
                },
                "retryOnFailureIntervalInMinutes": {
                    "type": "integer",
                    "description": "If the Automation fails, retry at this interval (in minutes).  Acceptable values are 5 through 1440 (one day).  Set to null to disable.\n"
                },
                "retryOnFailureNumberOfAttempts": {
                    "type": "integer",
                    "description": "If the Automation fails, retry at most this many times.  Maximum allowed value: 10.  Set to null to disable.\n"
                },
                "schedule": {
                    "$ref": "pulumi.json#/Any",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, Custom schedule description for when the automation should be run in json format.\n"
                },
                "scheduleDaysOfWeeks": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, Custom schedule description for when the automation should be run. 0 is Sunday, 1 is Monday, etc.\n"
                },
                "scheduleId": {
                    "type": "integer",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the reusable Schedule used instead of the automation's schedule fields.\n"
                },
                "scheduleTimeZone": {
                    "type": "string",
                    "description": "Time zone for the schedule. If not set, times are interpreted as UTC.\n"
                },
                "scheduleTimesOfDays": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Times of day to run in HH:MM format (24-hour). For \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, run at these times on specified days of week. For \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, run at these times on the scheduled interval date.\n"
                },
                "source": {
                    "type": "string",
                    "description": "Source path/glob.  See Automation docs for exact description, but this is used to filter for files in the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e to find files to operate on. Supports globs, except on remote mounts.\n"
                },
                "syncIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "IDs of syncs to run by this Automation. This is the new way to specify syncs, and it is recommended to use this instead of \u003cspan pulumi-lang-nodejs=\"`legacySyncIds`\" pulumi-lang-dotnet=\"`LegacySyncIds`\" pulumi-lang-go=\"`legacySyncIds`\" pulumi-lang-python=\"`legacy_sync_ids`\" pulumi-lang-yaml=\"`legacySyncIds`\" pulumi-lang-java=\"`legacySyncIds`\" pulumi-lang-hcl=\"`legacy_sync_ids`\"\u003e`legacySyncIds`\u003c/span\u003e.\n"
                },
                "trigger": {
                    "type": "string",
                    "description": "How this automation is triggered to run.\n"
                },
                "triggerActions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\" pulumi-lang-hcl=\"`action`\"\u003e`action`\u003c/span\u003e, this is the list of action types on which to trigger the automation. Valid actions are create, copy, move, archived_delete, update, read, destroy\n"
                },
                "userId": {
                    "type": "integer",
                    "description": "User ID of the Automation's creator.\n"
                },
                "userIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "IDs of Users for the Automation (i.e. who to Request File from)\n"
                },
                "value": {
                    "$ref": "pulumi.json#/Any",
                    "description": "A Hash of attributes specific to the automation type.\n"
                },
                "version": {
                    "type": "integer",
                    "description": "Current Automation v2 definition version.\n"
                },
                "webhookUrl": {
                    "type": "string",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`webhook`\" pulumi-lang-dotnet=\"`Webhook`\" pulumi-lang-go=\"`webhook`\" pulumi-lang-python=\"`webhook`\" pulumi-lang-yaml=\"`webhook`\" pulumi-lang-java=\"`webhook`\" pulumi-lang-hcl=\"`webhook`\"\u003e`webhook`\u003c/span\u003e, this is the URL of the webhook to trigger the Automation.\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID\n"
                }
            },
            "required": [
                "alwaysOverwriteSizeMatchingFiles",
                "alwaysSerializeJobs",
                "automation",
                "definition",
                "deleted",
                "description",
                "destinationReplaceFrom",
                "destinationReplaceTo",
                "destinations",
                "disabled",
                "excludePattern",
                "flattenDestinationStructure",
                "groupIds",
                "holidayRegion",
                "humanReadableSchedule",
                "ignoreLockedFolders",
                "importUrls",
                "inboundEmailAddress",
                "interval",
                "lastModifiedAt",
                "legacyFolderMatching",
                "legacySyncIds",
                "name",
                "overwriteFiles",
                "path",
                "pathTimeZone",
                "recurringDay",
                "recurringDays",
                "retryOnFailureIntervalInMinutes",
                "retryOnFailureNumberOfAttempts",
                "schedule",
                "scheduleDaysOfWeeks",
                "scheduleId",
                "scheduleTimeZone",
                "scheduleTimesOfDays",
                "source",
                "syncIds",
                "trigger",
                "triggerActions",
                "userId",
                "userIds",
                "value",
                "version",
                "webhookUrl",
                "workspaceId"
            ],
            "inputProperties": {
                "alwaysOverwriteSizeMatchingFiles": {
                    "type": "boolean",
                    "description": "Ordinarily, files with identical size in the source and destination will be skipped from copy operations to prevent wasted transfer.  If this flag is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e we will overwrite the destination file always.  Note that this may cause large amounts of wasted transfer usage.  This setting has no effect unless \u003cspan pulumi-lang-nodejs=\"`overwriteFiles`\" pulumi-lang-dotnet=\"`OverwriteFiles`\" pulumi-lang-go=\"`overwriteFiles`\" pulumi-lang-python=\"`overwrite_files`\" pulumi-lang-yaml=\"`overwriteFiles`\" pulumi-lang-java=\"`overwriteFiles`\" pulumi-lang-hcl=\"`overwrite_files`\"\u003e`overwriteFiles`\u003c/span\u003e is also set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "alwaysSerializeJobs": {
                    "type": "boolean",
                    "description": "Ordinarily, we will allow automation runs to run in parallel for non-scheduled automations. If this flag is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e we will force automation runs to be serialized (run one at a time, one after another). This can resolve some issues with race conditions on remote systems at the cost of some performance.\n"
                },
                "automation": {
                    "type": "string",
                    "description": "Automation type\n",
                    "language": {
                        "csharp": {
                            "name": "AutomationType"
                        }
                    }
                },
                "definition": {
                    "$ref": "#/types/filescom:index/AutomationDefinition:AutomationDefinition",
                    "description": "Automation v2 graph definition.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Description for the this Automation.\n"
                },
                "destinationReplaceFrom": {
                    "type": "string",
                    "description": "If set, this string in the destination path will be replaced with the value in \u003cspan pulumi-lang-nodejs=\"`destinationReplaceTo`\" pulumi-lang-dotnet=\"`DestinationReplaceTo`\" pulumi-lang-go=\"`destinationReplaceTo`\" pulumi-lang-python=\"`destination_replace_to`\" pulumi-lang-yaml=\"`destinationReplaceTo`\" pulumi-lang-java=\"`destinationReplaceTo`\" pulumi-lang-hcl=\"`destination_replace_to`\"\u003e`destinationReplaceTo`\u003c/span\u003e.\n"
                },
                "destinationReplaceTo": {
                    "type": "string",
                    "description": "If set, this string will replace the value \u003cspan pulumi-lang-nodejs=\"`destinationReplaceFrom`\" pulumi-lang-dotnet=\"`DestinationReplaceFrom`\" pulumi-lang-go=\"`destinationReplaceFrom`\" pulumi-lang-python=\"`destination_replace_from`\" pulumi-lang-yaml=\"`destinationReplaceFrom`\" pulumi-lang-java=\"`destinationReplaceFrom`\" pulumi-lang-hcl=\"`destination_replace_from`\"\u003e`destinationReplaceFrom`\u003c/span\u003e in the destination filename. You can use special patterns here.\n"
                },
                "destinations": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Destination Paths\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "If true, this automation will not run.\n"
                },
                "excludePattern": {
                    "type": "string",
                    "description": "If set, this glob pattern will exclude files from the automation. Supports globs, except on remote mounts.\n"
                },
                "flattenDestinationStructure": {
                    "type": "boolean",
                    "description": "Normally copy and move automations that use globs will implicitly preserve the source folder structure in the destination.  If this flag is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the source folder structure will be flattened in the destination.  This is useful for copying or moving files from multiple folders into a single destination folder.\n"
                },
                "groupIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "IDs of Groups for the Automation (i.e. who to Request File from)\n"
                },
                "holidayRegion": {
                    "type": "string",
                    "description": "Skip the automation if there is a formal, observed holiday for this region.\n"
                },
                "ignoreLockedFolders": {
                    "type": "boolean",
                    "description": "If true, the Lock Folders behavior will be disregarded for automated actions.\n"
                },
                "importUrls": {
                    "$ref": "pulumi.json#/Any",
                    "description": "List of URLs to be imported and names to be used.\n"
                },
                "interval": {
                    "type": "string",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies how often to run this automation.  One of: \u003cspan pulumi-lang-nodejs=\"`day`\" pulumi-lang-dotnet=\"`Day`\" pulumi-lang-go=\"`day`\" pulumi-lang-python=\"`day`\" pulumi-lang-yaml=\"`day`\" pulumi-lang-java=\"`day`\" pulumi-lang-hcl=\"`day`\"\u003e`day`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`weekEnd`\" pulumi-lang-dotnet=\"`WeekEnd`\" pulumi-lang-go=\"`weekEnd`\" pulumi-lang-python=\"`week_end`\" pulumi-lang-yaml=\"`weekEnd`\" pulumi-lang-java=\"`weekEnd`\" pulumi-lang-hcl=\"`week_end`\"\u003e`weekEnd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`monthEnd`\" pulumi-lang-dotnet=\"`MonthEnd`\" pulumi-lang-go=\"`monthEnd`\" pulumi-lang-python=\"`month_end`\" pulumi-lang-yaml=\"`monthEnd`\" pulumi-lang-java=\"`monthEnd`\" pulumi-lang-hcl=\"`month_end`\"\u003e`monthEnd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarterEnd`\" pulumi-lang-dotnet=\"`QuarterEnd`\" pulumi-lang-go=\"`quarterEnd`\" pulumi-lang-python=\"`quarter_end`\" pulumi-lang-yaml=\"`quarterEnd`\" pulumi-lang-java=\"`quarterEnd`\" pulumi-lang-hcl=\"`quarter_end`\"\u003e`quarterEnd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`yearEnd`\" pulumi-lang-dotnet=\"`YearEnd`\" pulumi-lang-go=\"`yearEnd`\" pulumi-lang-python=\"`year_end`\" pulumi-lang-yaml=\"`yearEnd`\" pulumi-lang-java=\"`yearEnd`\" pulumi-lang-hcl=\"`year_end`\"\u003e`yearEnd`\u003c/span\u003e\n"
                },
                "legacyFolderMatching": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, use the legacy behavior for this automation, where it can operate on folders in addition to just files.  This behavior no longer works and should not be used.\n"
                },
                "legacySyncIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "IDs of remote sync folder behaviors to run by this Automation\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name for this automation.\n"
                },
                "overwriteFiles": {
                    "type": "boolean",
                    "description": "If true, existing files will be overwritten with new files on Move/Copy automations.  Note: by default files will not be overwritten on Copy automations if they appear to be the same file size as the newly incoming file.  Use the \u003cspan pulumi-lang-nodejs=\"`alwaysOverwriteSizeMatchingFiles`\" pulumi-lang-dotnet=\"`AlwaysOverwriteSizeMatchingFiles`\" pulumi-lang-go=\"`alwaysOverwriteSizeMatchingFiles`\" pulumi-lang-python=\"`always_overwrite_size_matching_files`\" pulumi-lang-yaml=\"`alwaysOverwriteSizeMatchingFiles`\" pulumi-lang-java=\"`alwaysOverwriteSizeMatchingFiles`\" pulumi-lang-hcl=\"`always_overwrite_size_matching_files`\"\u003e`alwaysOverwriteSizeMatchingFiles`\u003c/span\u003e option in conjunction with \u003cspan pulumi-lang-nodejs=\"`overwriteFiles`\" pulumi-lang-dotnet=\"`OverwriteFiles`\" pulumi-lang-go=\"`overwriteFiles`\" pulumi-lang-python=\"`overwrite_files`\" pulumi-lang-yaml=\"`overwriteFiles`\" pulumi-lang-java=\"`overwriteFiles`\" pulumi-lang-hcl=\"`overwrite_files`\"\u003e`overwriteFiles`\u003c/span\u003e to override this behavior and overwrite files no matter what.\n"
                },
                "path": {
                    "type": "string",
                    "description": "Path on which this Automation runs.  Supports globs, except on remote mounts. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                },
                "pathTimeZone": {
                    "type": "string",
                    "description": "Timezone to use when rendering timestamps in paths.\n"
                },
                "recurringDay": {
                    "type": "integer",
                    "description": "If trigger type is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies a day number to run in one of the supported intervals: \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e.\n"
                },
                "recurringDays": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "If trigger type is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies one or more day numbers to run in one of the supported intervals: \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e.\n"
                },
                "retryOnFailureIntervalInMinutes": {
                    "type": "integer",
                    "description": "If the Automation fails, retry at this interval (in minutes).  Acceptable values are 5 through 1440 (one day).  Set to null to disable.\n"
                },
                "retryOnFailureNumberOfAttempts": {
                    "type": "integer",
                    "description": "If the Automation fails, retry at most this many times.  Maximum allowed value: 10.  Set to null to disable.\n"
                },
                "scheduleDaysOfWeeks": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, Custom schedule description for when the automation should be run. 0 is Sunday, 1 is Monday, etc.\n"
                },
                "scheduleId": {
                    "type": "integer",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the reusable Schedule used instead of the automation's schedule fields.\n"
                },
                "scheduleTimeZone": {
                    "type": "string",
                    "description": "Time zone for the schedule. If not set, times are interpreted as UTC.\n"
                },
                "scheduleTimesOfDays": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Times of day to run in HH:MM format (24-hour). For \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, run at these times on specified days of week. For \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, run at these times on the scheduled interval date.\n"
                },
                "source": {
                    "type": "string",
                    "description": "Source path/glob.  See Automation docs for exact description, but this is used to filter for files in the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e to find files to operate on. Supports globs, except on remote mounts.\n"
                },
                "syncIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "IDs of syncs to run by this Automation. This is the new way to specify syncs, and it is recommended to use this instead of \u003cspan pulumi-lang-nodejs=\"`legacySyncIds`\" pulumi-lang-dotnet=\"`LegacySyncIds`\" pulumi-lang-go=\"`legacySyncIds`\" pulumi-lang-python=\"`legacy_sync_ids`\" pulumi-lang-yaml=\"`legacySyncIds`\" pulumi-lang-java=\"`legacySyncIds`\" pulumi-lang-hcl=\"`legacy_sync_ids`\"\u003e`legacySyncIds`\u003c/span\u003e.\n"
                },
                "trigger": {
                    "type": "string",
                    "description": "How this automation is triggered to run.\n"
                },
                "triggerActions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\" pulumi-lang-hcl=\"`action`\"\u003e`action`\u003c/span\u003e, this is the list of action types on which to trigger the automation. Valid actions are create, copy, move, archived_delete, update, read, destroy\n"
                },
                "userIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "IDs of Users for the Automation (i.e. who to Request File from)\n"
                },
                "value": {
                    "$ref": "pulumi.json#/Any",
                    "description": "A Hash of attributes specific to the automation type.\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "automation"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Automation resources.\n",
                "properties": {
                    "alwaysOverwriteSizeMatchingFiles": {
                        "type": "boolean",
                        "description": "Ordinarily, files with identical size in the source and destination will be skipped from copy operations to prevent wasted transfer.  If this flag is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e we will overwrite the destination file always.  Note that this may cause large amounts of wasted transfer usage.  This setting has no effect unless \u003cspan pulumi-lang-nodejs=\"`overwriteFiles`\" pulumi-lang-dotnet=\"`OverwriteFiles`\" pulumi-lang-go=\"`overwriteFiles`\" pulumi-lang-python=\"`overwrite_files`\" pulumi-lang-yaml=\"`overwriteFiles`\" pulumi-lang-java=\"`overwriteFiles`\" pulumi-lang-hcl=\"`overwrite_files`\"\u003e`overwriteFiles`\u003c/span\u003e is also set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "alwaysSerializeJobs": {
                        "type": "boolean",
                        "description": "Ordinarily, we will allow automation runs to run in parallel for non-scheduled automations. If this flag is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e we will force automation runs to be serialized (run one at a time, one after another). This can resolve some issues with race conditions on remote systems at the cost of some performance.\n"
                    },
                    "automation": {
                        "type": "string",
                        "description": "Automation type\n",
                        "language": {
                            "csharp": {
                                "name": "AutomationType"
                            }
                        }
                    },
                    "definition": {
                        "$ref": "#/types/filescom:index/AutomationDefinition:AutomationDefinition",
                        "description": "Automation v2 graph definition.\n"
                    },
                    "deleted": {
                        "type": "boolean",
                        "description": "Indicates if the automation has been deleted.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Description for the this Automation.\n"
                    },
                    "destinationReplaceFrom": {
                        "type": "string",
                        "description": "If set, this string in the destination path will be replaced with the value in \u003cspan pulumi-lang-nodejs=\"`destinationReplaceTo`\" pulumi-lang-dotnet=\"`DestinationReplaceTo`\" pulumi-lang-go=\"`destinationReplaceTo`\" pulumi-lang-python=\"`destination_replace_to`\" pulumi-lang-yaml=\"`destinationReplaceTo`\" pulumi-lang-java=\"`destinationReplaceTo`\" pulumi-lang-hcl=\"`destination_replace_to`\"\u003e`destinationReplaceTo`\u003c/span\u003e.\n"
                    },
                    "destinationReplaceTo": {
                        "type": "string",
                        "description": "If set, this string will replace the value \u003cspan pulumi-lang-nodejs=\"`destinationReplaceFrom`\" pulumi-lang-dotnet=\"`DestinationReplaceFrom`\" pulumi-lang-go=\"`destinationReplaceFrom`\" pulumi-lang-python=\"`destination_replace_from`\" pulumi-lang-yaml=\"`destinationReplaceFrom`\" pulumi-lang-java=\"`destinationReplaceFrom`\" pulumi-lang-hcl=\"`destination_replace_from`\"\u003e`destinationReplaceFrom`\u003c/span\u003e in the destination filename. You can use special patterns here.\n"
                    },
                    "destinations": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Destination Paths\n"
                    },
                    "disabled": {
                        "type": "boolean",
                        "description": "If true, this automation will not run.\n"
                    },
                    "excludePattern": {
                        "type": "string",
                        "description": "If set, this glob pattern will exclude files from the automation. Supports globs, except on remote mounts.\n"
                    },
                    "flattenDestinationStructure": {
                        "type": "boolean",
                        "description": "Normally copy and move automations that use globs will implicitly preserve the source folder structure in the destination.  If this flag is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the source folder structure will be flattened in the destination.  This is useful for copying or moving files from multiple folders into a single destination folder.\n"
                    },
                    "groupIds": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "IDs of Groups for the Automation (i.e. who to Request File from)\n"
                    },
                    "holidayRegion": {
                        "type": "string",
                        "description": "Skip the automation if there is a formal, observed holiday for this region.\n"
                    },
                    "humanReadableSchedule": {
                        "type": "string",
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e with times, Human readable schedule description for when the automation should be run.\n"
                    },
                    "ignoreLockedFolders": {
                        "type": "boolean",
                        "description": "If true, the Lock Folders behavior will be disregarded for automated actions.\n"
                    },
                    "importUrls": {
                        "$ref": "pulumi.json#/Any",
                        "description": "List of URLs to be imported and names to be used.\n"
                    },
                    "inboundEmailAddress": {
                        "type": "string",
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\" pulumi-lang-hcl=\"`email`\"\u003e`email`\u003c/span\u003e, this is the address that triggers the Automation.\n"
                    },
                    "interval": {
                        "type": "string",
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies how often to run this automation.  One of: \u003cspan pulumi-lang-nodejs=\"`day`\" pulumi-lang-dotnet=\"`Day`\" pulumi-lang-go=\"`day`\" pulumi-lang-python=\"`day`\" pulumi-lang-yaml=\"`day`\" pulumi-lang-java=\"`day`\" pulumi-lang-hcl=\"`day`\"\u003e`day`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`weekEnd`\" pulumi-lang-dotnet=\"`WeekEnd`\" pulumi-lang-go=\"`weekEnd`\" pulumi-lang-python=\"`week_end`\" pulumi-lang-yaml=\"`weekEnd`\" pulumi-lang-java=\"`weekEnd`\" pulumi-lang-hcl=\"`week_end`\"\u003e`weekEnd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`monthEnd`\" pulumi-lang-dotnet=\"`MonthEnd`\" pulumi-lang-go=\"`monthEnd`\" pulumi-lang-python=\"`month_end`\" pulumi-lang-yaml=\"`monthEnd`\" pulumi-lang-java=\"`monthEnd`\" pulumi-lang-hcl=\"`month_end`\"\u003e`monthEnd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarterEnd`\" pulumi-lang-dotnet=\"`QuarterEnd`\" pulumi-lang-go=\"`quarterEnd`\" pulumi-lang-python=\"`quarter_end`\" pulumi-lang-yaml=\"`quarterEnd`\" pulumi-lang-java=\"`quarterEnd`\" pulumi-lang-hcl=\"`quarter_end`\"\u003e`quarterEnd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`yearEnd`\" pulumi-lang-dotnet=\"`YearEnd`\" pulumi-lang-go=\"`yearEnd`\" pulumi-lang-python=\"`year_end`\" pulumi-lang-yaml=\"`yearEnd`\" pulumi-lang-java=\"`yearEnd`\" pulumi-lang-hcl=\"`year_end`\"\u003e`yearEnd`\u003c/span\u003e\n"
                    },
                    "lastModifiedAt": {
                        "type": "string",
                        "description": "Time when automation was last modified. Does not change for name or description updates.\n"
                    },
                    "legacyFolderMatching": {
                        "type": "boolean",
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, use the legacy behavior for this automation, where it can operate on folders in addition to just files.  This behavior no longer works and should not be used.\n"
                    },
                    "legacySyncIds": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "IDs of remote sync folder behaviors to run by this Automation\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name for this automation.\n"
                    },
                    "overwriteFiles": {
                        "type": "boolean",
                        "description": "If true, existing files will be overwritten with new files on Move/Copy automations.  Note: by default files will not be overwritten on Copy automations if they appear to be the same file size as the newly incoming file.  Use the \u003cspan pulumi-lang-nodejs=\"`alwaysOverwriteSizeMatchingFiles`\" pulumi-lang-dotnet=\"`AlwaysOverwriteSizeMatchingFiles`\" pulumi-lang-go=\"`alwaysOverwriteSizeMatchingFiles`\" pulumi-lang-python=\"`always_overwrite_size_matching_files`\" pulumi-lang-yaml=\"`alwaysOverwriteSizeMatchingFiles`\" pulumi-lang-java=\"`alwaysOverwriteSizeMatchingFiles`\" pulumi-lang-hcl=\"`always_overwrite_size_matching_files`\"\u003e`alwaysOverwriteSizeMatchingFiles`\u003c/span\u003e option in conjunction with \u003cspan pulumi-lang-nodejs=\"`overwriteFiles`\" pulumi-lang-dotnet=\"`OverwriteFiles`\" pulumi-lang-go=\"`overwriteFiles`\" pulumi-lang-python=\"`overwrite_files`\" pulumi-lang-yaml=\"`overwriteFiles`\" pulumi-lang-java=\"`overwriteFiles`\" pulumi-lang-hcl=\"`overwrite_files`\"\u003e`overwriteFiles`\u003c/span\u003e to override this behavior and overwrite files no matter what.\n"
                    },
                    "path": {
                        "type": "string",
                        "description": "Path on which this Automation runs.  Supports globs, except on remote mounts. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                    },
                    "pathTimeZone": {
                        "type": "string",
                        "description": "Timezone to use when rendering timestamps in paths.\n"
                    },
                    "recurringDay": {
                        "type": "integer",
                        "description": "If trigger type is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies a day number to run in one of the supported intervals: \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e.\n"
                    },
                    "recurringDays": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "If trigger type is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies one or more day numbers to run in one of the supported intervals: \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e.\n"
                    },
                    "retryOnFailureIntervalInMinutes": {
                        "type": "integer",
                        "description": "If the Automation fails, retry at this interval (in minutes).  Acceptable values are 5 through 1440 (one day).  Set to null to disable.\n"
                    },
                    "retryOnFailureNumberOfAttempts": {
                        "type": "integer",
                        "description": "If the Automation fails, retry at most this many times.  Maximum allowed value: 10.  Set to null to disable.\n"
                    },
                    "schedule": {
                        "$ref": "pulumi.json#/Any",
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, Custom schedule description for when the automation should be run in json format.\n"
                    },
                    "scheduleDaysOfWeeks": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, Custom schedule description for when the automation should be run. 0 is Sunday, 1 is Monday, etc.\n"
                    },
                    "scheduleId": {
                        "type": "integer",
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the reusable Schedule used instead of the automation's schedule fields.\n"
                    },
                    "scheduleTimeZone": {
                        "type": "string",
                        "description": "Time zone for the schedule. If not set, times are interpreted as UTC.\n"
                    },
                    "scheduleTimesOfDays": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Times of day to run in HH:MM format (24-hour). For \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, run at these times on specified days of week. For \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, run at these times on the scheduled interval date.\n"
                    },
                    "source": {
                        "type": "string",
                        "description": "Source path/glob.  See Automation docs for exact description, but this is used to filter for files in the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e to find files to operate on. Supports globs, except on remote mounts.\n"
                    },
                    "syncIds": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "IDs of syncs to run by this Automation. This is the new way to specify syncs, and it is recommended to use this instead of \u003cspan pulumi-lang-nodejs=\"`legacySyncIds`\" pulumi-lang-dotnet=\"`LegacySyncIds`\" pulumi-lang-go=\"`legacySyncIds`\" pulumi-lang-python=\"`legacy_sync_ids`\" pulumi-lang-yaml=\"`legacySyncIds`\" pulumi-lang-java=\"`legacySyncIds`\" pulumi-lang-hcl=\"`legacy_sync_ids`\"\u003e`legacySyncIds`\u003c/span\u003e.\n"
                    },
                    "trigger": {
                        "type": "string",
                        "description": "How this automation is triggered to run.\n"
                    },
                    "triggerActions": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\" pulumi-lang-hcl=\"`action`\"\u003e`action`\u003c/span\u003e, this is the list of action types on which to trigger the automation. Valid actions are create, copy, move, archived_delete, update, read, destroy\n"
                    },
                    "userId": {
                        "type": "integer",
                        "description": "User ID of the Automation's creator.\n"
                    },
                    "userIds": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "IDs of Users for the Automation (i.e. who to Request File from)\n"
                    },
                    "value": {
                        "$ref": "pulumi.json#/Any",
                        "description": "A Hash of attributes specific to the automation type.\n"
                    },
                    "version": {
                        "type": "integer",
                        "description": "Current Automation v2 definition version.\n"
                    },
                    "webhookUrl": {
                        "type": "string",
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`webhook`\" pulumi-lang-dotnet=\"`Webhook`\" pulumi-lang-go=\"`webhook`\" pulumi-lang-python=\"`webhook`\" pulumi-lang-yaml=\"`webhook`\" pulumi-lang-java=\"`webhook`\" pulumi-lang-hcl=\"`webhook`\"\u003e`webhook`\u003c/span\u003e, this is the URL of the webhook to trigger the Automation.\n"
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/behavior:Behavior": {
            "description": "A Behavior is an API resource for what are also known as Folder Settings. Every behavior is associated with a folder.\n\n\n\nDepending on the behavior, it may also operate on child folders. It may be overridable at the child folder level or maybe can be added to at the child folder level. The exact options for each behavior type are explained in the table below.\n\n\n\nEach behavior type also has a recursion mode in the behavior type documentation. \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\" pulumi-lang-hcl=\"`always`\"\u003e`always`\u003c/span\u003e means the behavior is always recursive, \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\" pulumi-lang-hcl=\"`never`\"\u003e`never`\u003c/span\u003e means it is never recursive, and \u003cspan pulumi-lang-nodejs=\"`sometimes`\" pulumi-lang-dotnet=\"`Sometimes`\" pulumi-lang-go=\"`sometimes`\" pulumi-lang-python=\"`sometimes`\" pulumi-lang-yaml=\"`sometimes`\" pulumi-lang-java=\"`sometimes`\" pulumi-lang-hcl=\"`sometimes`\"\u003e`sometimes`\u003c/span\u003e means callers may choose the value of the \u003cspan pulumi-lang-nodejs=\"`recursive`\" pulumi-lang-dotnet=\"`Recursive`\" pulumi-lang-go=\"`recursive`\" pulumi-lang-python=\"`recursive`\" pulumi-lang-yaml=\"`recursive`\" pulumi-lang-java=\"`recursive`\" pulumi-lang-hcl=\"`recursive`\"\u003e`recursive`\u003c/span\u003e field.\n\n\n\nAdditionally, some behaviors are visible to non-admins, and others are even settable by non-admins. All the details are below.\n\n\n\nEach behavior uses a different format for storing its settings value. Next to each behavior type is an example value. Our API and SDKs currently require that the value for behaviors be sent as raw JSON within the \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\" pulumi-lang-hcl=\"`value`\"\u003e`value`\u003c/span\u003e field. Our SDK generator and API documentation generator doesn't fully keep up with this requirement, so if you need any help finding the exact syntax to use for your language or use case, just reach out.\n\n\n\nNote: Append Timestamp behavior removed. Check Override Upload Filename behavior which have even more functionality to modify name on upload.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleBehavior = new filescom.Behavior(\"example_behavior\", {\n    value: {\n        method: \"GET\",\n    },\n    disableParentFolderBehavior: false,\n    recursive: false,\n    name: \"example\",\n    description: \"example\",\n    path: \"path\",\n    behavior: \"webhook\",\n});\nconst exampleWebhookBehavior = new filescom.Behavior(\"example_webhook_behavior\", {\n    path: \"path\",\n    behavior: \"webhook\",\n    value: {\n        urls: [\"https://mysite.com/url...\"],\n        method: \"POST\",\n        triggers: [\n            \"create\",\n            \"read\",\n            \"update\",\n            \"destroy\",\n            \"move\",\n            \"copy\",\n        ],\n        triggeringFilenames: [\n            \"*.pdf\",\n            \"*so*.jpg\",\n        ],\n        excludeFilenames: [\n            \"*.txt\",\n            \"*wo*.png\",\n        ],\n        encoding: \"RAW\",\n        headers: {\n            \"MY-HEADER\": \"foo\",\n        },\n        body: {\n            MY_BODY_PARAM: \"bar\",\n        },\n        verificationToken: \"tok12345\",\n        fileFormField: \"my_form_field\",\n        fileAsBody: \"my_file_body\",\n        useDedicatedIps: false,\n    },\n});\nconst exampleFileExpirationBehavior = new filescom.Behavior(\"example_file_expiration_behavior\", {\n    path: \"path\",\n    behavior: \"file_expiration\",\n    value: {\n        daysToRetain: 30,\n        deleteEmptyFolders: false,\n    },\n});\nconst exampleAutoEncryptBehavior = new filescom.Behavior(\"example_auto_encrypt_behavior\", {\n    path: \"path\",\n    behavior: \"auto_encrypt\",\n    value: {\n        gpgKeyId: 1,\n        gpgKeyIds: [1],\n        algorithm: \"PGP/GPG\",\n        signingKeyId: 1,\n        suffix: \".gpg\",\n        armor: false,\n        gpgKeyPartnerId: 1,\n    },\n});\nconst exampleLockSubfoldersBehavior = new filescom.Behavior(\"example_lock_subfolders_behavior\", {\n    path: \"path\",\n    behavior: \"lock_subfolders\",\n    value: {\n        level: \"children_recursive\",\n    },\n});\nconst exampleStorageRegionBehavior = new filescom.Behavior(\"example_storage_region_behavior\", {\n    path: \"path\",\n    behavior: \"storage_region\",\n    value: \"us-east-1\",\n});\nconst exampleServePubliclyBehavior = new filescom.Behavior(\"example_serve_publicly_behavior\", {\n    path: \"path\",\n    behavior: \"serve_publicly\",\n    value: {\n        key: \"public-photos\",\n        showIndex: true,\n        forceDownload: true,\n        corsEnabled: false,\n        requireSiteAuthentication: false,\n    },\n});\nconst exampleCreateUserFoldersBehavior = new filescom.Behavior(\"example_create_user_folders_behavior\", {\n    path: \"path\",\n    behavior: \"create_user_folders\",\n    value: {\n        permission: \"full\",\n        additionalPermission: \"bundle\",\n        existingUsers: true,\n        groupId: 1,\n        newFolderName: \"username\",\n        subfolders: [\n            \"in\",\n            \"out\",\n        ],\n    },\n});\nconst exampleInboxBehavior = new filescom.Behavior(\"example_inbox_behavior\", {\n    path: \"path\",\n    behavior: \"inbox\",\n    value: {\n        key: \"application-forms\",\n        dontSeparateSubmissionsByFolder: true,\n        dontSeparateSubmissionsByFolderForInboundEmail: true,\n        dontAllowFoldersInUploads: false,\n        requireInboxRecipient: false,\n        showOnLoginPage: true,\n        title: \"Submit Your Job Applications Here\",\n        description: \"Thanks for coming to the Files.com Job Application Page\",\n        helpText: \"If you have trouble here, please contact your recruiter.\",\n        requireRegistration: true,\n        password: \"foobar\",\n        pathTemplate: \"{{name}}_{{ip}}\",\n        pathTemplateTimeZone: \"Eastern Time (US \u0026 Canada)\",\n        enableInboundEmailAddress: true,\n        notifySendersOnSuccessfulUploadsViaEmail: true,\n        notifySendersOnSuccessfulUploadsViaWeb: true,\n        allowWhitelisting: true,\n        whitelist: [\n            \"john@test.com\",\n            \"mydomain.com\",\n        ],\n        disableWebUpload: true,\n        captureEmailBodyFilename: \"_body.txt\",\n        requestedUploadSlots: [\n            {\n                name: \"Photo ID\",\n            },\n            {\n                name: \"Proof of Address\",\n            },\n        ],\n    },\n});\nconst exampleLimitFileExtensionsBehavior = new filescom.Behavior(\"example_limit_file_extensions_behavior\", {\n    path: \"path\",\n    behavior: \"limit_file_extensions\",\n    value: {\n        extensions: [\n            \"xls\",\n            \"csv\",\n        ],\n        mode: \"whitelist\",\n    },\n});\nconst exampleLimitFileRegexBehavior = new filescom.Behavior(\"example_limit_file_regex_behavior\", {\n    path: \"path\",\n    behavior: \"limit_file_regex\",\n    value: [\"/Document-.*/\"],\n});\nconst exampleAmazonSnsBehavior = new filescom.Behavior(\"example_amazon_sns_behavior\", {\n    path: \"path\",\n    behavior: \"amazon_sns\",\n    value: {\n        arns: [\"ARN\"],\n        triggers: [\n            \"create\",\n            \"read\",\n            \"update\",\n            \"destroy\",\n            \"move\",\n            \"copy\",\n        ],\n        awsCredentials: {\n            accessKeyId: \"ACCESS_KEY_ID\",\n            region: \"us-east-1\",\n            secretAccessKey: \"SECRET_ACCESS_KEY\",\n        },\n    },\n});\nconst exampleWatermarkBehavior = new filescom.Behavior(\"example_watermark_behavior\", {\n    path: \"path\",\n    behavior: \"watermark\",\n    value: {\n        gravity: \"SouthWest\",\n        maxHeightOrWidth: 20,\n        transparency: 25,\n        dynamicText: \"Confidential: For use by {{user}} only.\",\n    },\n});\nconst exampleRemoteServerMountBehavior = new filescom.Behavior(\"example_remote_server_mount_behavior\", {\n    path: \"path\",\n    behavior: \"remote_server_mount\",\n    value: {\n        remoteServerId: 1,\n        remotePath: \"\",\n    },\n});\nconst exampleSlackWebhookBehavior = new filescom.Behavior(\"example_slack_webhook_behavior\", {\n    path: \"path\",\n    behavior: \"slack_webhook\",\n    value: {\n        url: \"https://mysite.com/url...\",\n        username: \"Files.com\",\n        channel: \"alerts\",\n        iconEmoji: \":robot_face:\",\n        triggers: [\n            \"create\",\n            \"read\",\n            \"update\",\n            \"destroy\",\n            \"move\",\n            \"copy\",\n        ],\n    },\n});\nconst exampleAutoDecryptBehavior = new filescom.Behavior(\"example_auto_decrypt_behavior\", {\n    path: \"path\",\n    behavior: \"auto_decrypt\",\n    value: {\n        gpgKeyId: 1,\n        gpgKeyIds: [1],\n        algorithm: \"PGP/GPG\",\n        suffix: \".gpg\",\n        ignoreMdcError: true,\n        gpgKeyPartnerId: 1,\n        useAllPrivateKeys: false,\n    },\n});\nconst exampleOverrideUploadFilenameBehavior = new filescom.Behavior(\"example_override_upload_filename_behavior\", {\n    path: \"path\",\n    behavior: \"override_upload_filename\",\n    value: {\n        filenameOverridePattern: \"%Fb_addition5%Fe\",\n        filenameReplaceFrom: null,\n        filenameReplaceTo: null,\n        filenameRegexReplaceFrom: null,\n        filenameRegexReplaceTo: null,\n        timeZone: \"Eastern Time (US \u0026 Canada)\",\n    },\n});\nconst examplePermissionFenceBehavior = new filescom.Behavior(\"example_permission_fence_behavior\", {\n    path: \"path\",\n    behavior: \"permission_fence\",\n    value: {\n        fencedPermissions: \"all\",\n    },\n});\nconst exampleLimitFilenameLengthBehavior = new filescom.Behavior(\"example_limit_filename_length_behavior\", {\n    path: \"path\",\n    behavior: \"limit_filename_length\",\n    value: {\n        maxLength: 30,\n        shorten: true,\n    },\n});\nconst exampleOrganizeFilesIntoSubfoldersBehavior = new filescom.Behavior(\"example_organize_files_into_subfolders_behavior\", {\n    path: \"path\",\n    behavior: \"organize_files_into_subfolders\",\n    value: {\n        subfolderNameType: \"regex, extension, created_at, provided_modified_at\",\n        regex: \"(?\u003c=\\\\-)(.*?)(?=\\\\.)\",\n        strftimeFormat: \"%Y-%m-%d\",\n        timeZone: \"Eastern Time (US \u0026 Canada)\",\n        applyBehavior: true,\n    },\n});\nconst exampleTeamsWebhookBehavior = new filescom.Behavior(\"example_teams_webhook_behavior\", {\n    path: \"path\",\n    behavior: \"teams_webhook\",\n    value: {\n        url: \"https://mysite.com/url...\",\n        triggers: [\n            \"create\",\n            \"read\",\n            \"update\",\n            \"destroy\",\n            \"move\",\n            \"copy\",\n        ],\n    },\n});\nconst exampleGooglePubSubBehavior = new filescom.Behavior(\"example_google_pub_sub_behavior\", {\n    path: \"path\",\n    behavior: \"google_pub_sub\",\n    value: {\n        projectsTopics: [{\n            projectId: \"my-project-id\",\n            topicId: \"my-topic-id\",\n        }],\n        triggers: [\n            \"create\",\n            \"read\",\n            \"update\",\n            \"destroy\",\n            \"move\",\n            \"copy\",\n        ],\n        googleCredentials: {\n            type: \"service_account\",\n            projectId: \"your-project-id\",\n            privateKeyId: \"your-private-key-id\",\n            privateKey: \"-----BEGIN PRIVATE KEY-----\\\\nMIIC...\",\n            clientEmail: \"your-service-account@your-project-id.iam.gserviceaccount.com\",\n            clientId: \"your-client-id\",\n            authUri: \"https=\u003e//accounts.google.com/o/oauth2/auth\",\n            tokenUri: \"https=\u003e//oauth2.googleapis.com/token\",\n            authProviderX509CertUrl: \"https://www.googleapis.com/oauth2/v1/certs\",\n            clientX509CertUrl: \"https://www.googleapis.com/robot/v1/metadata/x509/your-service-account%40your-project-id.iam.gserviceaccount.com\",\n        },\n    },\n});\nconst exampleArchiveOverwrittenOrDeletedFilesBehavior = new filescom.Behavior(\"example_archive_overwritten_or_deleted_files_behavior\", {\n    path: \"path\",\n    behavior: \"archive_overwritten_or_deleted_files\",\n    value: {\n        archivePath: \"/Archive\",\n    },\n});\nconst exampleAutoRecryptBehavior = new filescom.Behavior(\"example_auto_recrypt_behavior\", {\n    path: \"path\",\n    behavior: \"auto_recrypt\",\n    value: {\n        decryptGpgKeyIds: [1],\n        encryptGpgKeyIds: [1],\n        decryptGpgKeyPartnerId: 1,\n        encryptGpgKeyPartnerId: 1,\n        ignoreMdcError: true,\n        signingKeyId: 1,\n        armor: false,\n    },\n});\nconst exampleMetadataCategoryBehavior = new filescom.Behavior(\"example_metadata_category_behavior\", {\n    path: \"path\",\n    behavior: \"metadata_category\",\n    value: {\n        metadataCategoryId: 1,\n    },\n});\nconst exampleAutoUnzipBehavior = new filescom.Behavior(\"example_auto_unzip_behavior\", {\n    path: \"path\",\n    behavior: \"auto_unzip\",\n    value: {\n        destinationPath: \"/Uploads/Unzipped/%Y/%m/%d\",\n        pathTimeZone: \"Eastern Time (US \u0026 Canada)\",\n    },\n});\nconst exampleRemoteServerMetadataIndexBehavior = new filescom.Behavior(\"example_remote_server_metadata_index_behavior\", {\n    path: \"path\",\n    behavior: \"remote_server_metadata_index\",\n    value: {\n        intervalMinutes: 1440,\n        initialScanCompleted: false,\n    },\n});\nconst exampleMalwareScanningBehavior = new filescom.Behavior(\"example_malware_scanning_behavior\", {\n    path: \"path\",\n    behavior: \"malware_scanning\",\n    value: {},\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_behavior = filescom.Behavior(\"example_behavior\",\n    value={\n        \"method\": \"GET\",\n    },\n    disable_parent_folder_behavior=False,\n    recursive=False,\n    name=\"example\",\n    description=\"example\",\n    path=\"path\",\n    behavior=\"webhook\")\nexample_webhook_behavior = filescom.Behavior(\"example_webhook_behavior\",\n    path=\"path\",\n    behavior=\"webhook\",\n    value={\n        \"urls\": [\"https://mysite.com/url...\"],\n        \"method\": \"POST\",\n        \"triggers\": [\n            \"create\",\n            \"read\",\n            \"update\",\n            \"destroy\",\n            \"move\",\n            \"copy\",\n        ],\n        \"triggeringFilenames\": [\n            \"*.pdf\",\n            \"*so*.jpg\",\n        ],\n        \"excludeFilenames\": [\n            \"*.txt\",\n            \"*wo*.png\",\n        ],\n        \"encoding\": \"RAW\",\n        \"headers\": {\n            \"MY-HEADER\": \"foo\",\n        },\n        \"body\": {\n            \"MY_BODY_PARAM\": \"bar\",\n        },\n        \"verificationToken\": \"tok12345\",\n        \"fileFormField\": \"my_form_field\",\n        \"fileAsBody\": \"my_file_body\",\n        \"useDedicatedIps\": False,\n    })\nexample_file_expiration_behavior = filescom.Behavior(\"example_file_expiration_behavior\",\n    path=\"path\",\n    behavior=\"file_expiration\",\n    value={\n        \"daysToRetain\": 30,\n        \"deleteEmptyFolders\": False,\n    })\nexample_auto_encrypt_behavior = filescom.Behavior(\"example_auto_encrypt_behavior\",\n    path=\"path\",\n    behavior=\"auto_encrypt\",\n    value={\n        \"gpgKeyId\": 1,\n        \"gpgKeyIds\": [1],\n        \"algorithm\": \"PGP/GPG\",\n        \"signingKeyId\": 1,\n        \"suffix\": \".gpg\",\n        \"armor\": False,\n        \"gpgKeyPartnerId\": 1,\n    })\nexample_lock_subfolders_behavior = filescom.Behavior(\"example_lock_subfolders_behavior\",\n    path=\"path\",\n    behavior=\"lock_subfolders\",\n    value={\n        \"level\": \"children_recursive\",\n    })\nexample_storage_region_behavior = filescom.Behavior(\"example_storage_region_behavior\",\n    path=\"path\",\n    behavior=\"storage_region\",\n    value=\"us-east-1\")\nexample_serve_publicly_behavior = filescom.Behavior(\"example_serve_publicly_behavior\",\n    path=\"path\",\n    behavior=\"serve_publicly\",\n    value={\n        \"key\": \"public-photos\",\n        \"showIndex\": True,\n        \"forceDownload\": True,\n        \"corsEnabled\": False,\n        \"requireSiteAuthentication\": False,\n    })\nexample_create_user_folders_behavior = filescom.Behavior(\"example_create_user_folders_behavior\",\n    path=\"path\",\n    behavior=\"create_user_folders\",\n    value={\n        \"permission\": \"full\",\n        \"additionalPermission\": \"bundle\",\n        \"existingUsers\": True,\n        \"groupId\": 1,\n        \"newFolderName\": \"username\",\n        \"subfolders\": [\n            \"in\",\n            \"out\",\n        ],\n    })\nexample_inbox_behavior = filescom.Behavior(\"example_inbox_behavior\",\n    path=\"path\",\n    behavior=\"inbox\",\n    value={\n        \"key\": \"application-forms\",\n        \"dontSeparateSubmissionsByFolder\": True,\n        \"dontSeparateSubmissionsByFolderForInboundEmail\": True,\n        \"dontAllowFoldersInUploads\": False,\n        \"requireInboxRecipient\": False,\n        \"showOnLoginPage\": True,\n        \"title\": \"Submit Your Job Applications Here\",\n        \"description\": \"Thanks for coming to the Files.com Job Application Page\",\n        \"helpText\": \"If you have trouble here, please contact your recruiter.\",\n        \"requireRegistration\": True,\n        \"password\": \"foobar\",\n        \"pathTemplate\": \"{{name}}_{{ip}}\",\n        \"pathTemplateTimeZone\": \"Eastern Time (US \u0026 Canada)\",\n        \"enableInboundEmailAddress\": True,\n        \"notifySendersOnSuccessfulUploadsViaEmail\": True,\n        \"notifySendersOnSuccessfulUploadsViaWeb\": True,\n        \"allowWhitelisting\": True,\n        \"whitelist\": [\n            \"john@test.com\",\n            \"mydomain.com\",\n        ],\n        \"disableWebUpload\": True,\n        \"captureEmailBodyFilename\": \"_body.txt\",\n        \"requestedUploadSlots\": [\n            {\n                \"name\": \"Photo ID\",\n            },\n            {\n                \"name\": \"Proof of Address\",\n            },\n        ],\n    })\nexample_limit_file_extensions_behavior = filescom.Behavior(\"example_limit_file_extensions_behavior\",\n    path=\"path\",\n    behavior=\"limit_file_extensions\",\n    value={\n        \"extensions\": [\n            \"xls\",\n            \"csv\",\n        ],\n        \"mode\": \"whitelist\",\n    })\nexample_limit_file_regex_behavior = filescom.Behavior(\"example_limit_file_regex_behavior\",\n    path=\"path\",\n    behavior=\"limit_file_regex\",\n    value=[\"/Document-.*/\"])\nexample_amazon_sns_behavior = filescom.Behavior(\"example_amazon_sns_behavior\",\n    path=\"path\",\n    behavior=\"amazon_sns\",\n    value={\n        \"arns\": [\"ARN\"],\n        \"triggers\": [\n            \"create\",\n            \"read\",\n            \"update\",\n            \"destroy\",\n            \"move\",\n            \"copy\",\n        ],\n        \"awsCredentials\": {\n            \"accessKeyId\": \"ACCESS_KEY_ID\",\n            \"region\": \"us-east-1\",\n            \"secretAccessKey\": \"SECRET_ACCESS_KEY\",\n        },\n    })\nexample_watermark_behavior = filescom.Behavior(\"example_watermark_behavior\",\n    path=\"path\",\n    behavior=\"watermark\",\n    value={\n        \"gravity\": \"SouthWest\",\n        \"maxHeightOrWidth\": 20,\n        \"transparency\": 25,\n        \"dynamicText\": \"Confidential: For use by {{user}} only.\",\n    })\nexample_remote_server_mount_behavior = filescom.Behavior(\"example_remote_server_mount_behavior\",\n    path=\"path\",\n    behavior=\"remote_server_mount\",\n    value={\n        \"remoteServerId\": 1,\n        \"remotePath\": \"\",\n    })\nexample_slack_webhook_behavior = filescom.Behavior(\"example_slack_webhook_behavior\",\n    path=\"path\",\n    behavior=\"slack_webhook\",\n    value={\n        \"url\": \"https://mysite.com/url...\",\n        \"username\": \"Files.com\",\n        \"channel\": \"alerts\",\n        \"iconEmoji\": \":robot_face:\",\n        \"triggers\": [\n            \"create\",\n            \"read\",\n            \"update\",\n            \"destroy\",\n            \"move\",\n            \"copy\",\n        ],\n    })\nexample_auto_decrypt_behavior = filescom.Behavior(\"example_auto_decrypt_behavior\",\n    path=\"path\",\n    behavior=\"auto_decrypt\",\n    value={\n        \"gpgKeyId\": 1,\n        \"gpgKeyIds\": [1],\n        \"algorithm\": \"PGP/GPG\",\n        \"suffix\": \".gpg\",\n        \"ignoreMdcError\": True,\n        \"gpgKeyPartnerId\": 1,\n        \"useAllPrivateKeys\": False,\n    })\nexample_override_upload_filename_behavior = filescom.Behavior(\"example_override_upload_filename_behavior\",\n    path=\"path\",\n    behavior=\"override_upload_filename\",\n    value={\n        \"filenameOverridePattern\": \"%Fb_addition5%Fe\",\n        \"filenameReplaceFrom\": None,\n        \"filenameReplaceTo\": None,\n        \"filenameRegexReplaceFrom\": None,\n        \"filenameRegexReplaceTo\": None,\n        \"timeZone\": \"Eastern Time (US \u0026 Canada)\",\n    })\nexample_permission_fence_behavior = filescom.Behavior(\"example_permission_fence_behavior\",\n    path=\"path\",\n    behavior=\"permission_fence\",\n    value={\n        \"fencedPermissions\": \"all\",\n    })\nexample_limit_filename_length_behavior = filescom.Behavior(\"example_limit_filename_length_behavior\",\n    path=\"path\",\n    behavior=\"limit_filename_length\",\n    value={\n        \"maxLength\": 30,\n        \"shorten\": True,\n    })\nexample_organize_files_into_subfolders_behavior = filescom.Behavior(\"example_organize_files_into_subfolders_behavior\",\n    path=\"path\",\n    behavior=\"organize_files_into_subfolders\",\n    value={\n        \"subfolderNameType\": \"regex, extension, created_at, provided_modified_at\",\n        \"regex\": \"(?\u003c=\\\\-)(.*?)(?=\\\\.)\",\n        \"strftimeFormat\": \"%Y-%m-%d\",\n        \"timeZone\": \"Eastern Time (US \u0026 Canada)\",\n        \"applyBehavior\": True,\n    })\nexample_teams_webhook_behavior = filescom.Behavior(\"example_teams_webhook_behavior\",\n    path=\"path\",\n    behavior=\"teams_webhook\",\n    value={\n        \"url\": \"https://mysite.com/url...\",\n        \"triggers\": [\n            \"create\",\n            \"read\",\n            \"update\",\n            \"destroy\",\n            \"move\",\n            \"copy\",\n        ],\n    })\nexample_google_pub_sub_behavior = filescom.Behavior(\"example_google_pub_sub_behavior\",\n    path=\"path\",\n    behavior=\"google_pub_sub\",\n    value={\n        \"projectsTopics\": [{\n            \"projectId\": \"my-project-id\",\n            \"topicId\": \"my-topic-id\",\n        }],\n        \"triggers\": [\n            \"create\",\n            \"read\",\n            \"update\",\n            \"destroy\",\n            \"move\",\n            \"copy\",\n        ],\n        \"googleCredentials\": {\n            \"type\": \"service_account\",\n            \"projectId\": \"your-project-id\",\n            \"privateKeyId\": \"your-private-key-id\",\n            \"privateKey\": \"-----BEGIN PRIVATE KEY-----\\\\nMIIC...\",\n            \"clientEmail\": \"your-service-account@your-project-id.iam.gserviceaccount.com\",\n            \"clientId\": \"your-client-id\",\n            \"authUri\": \"https=\u003e//accounts.google.com/o/oauth2/auth\",\n            \"tokenUri\": \"https=\u003e//oauth2.googleapis.com/token\",\n            \"authProviderX509CertUrl\": \"https://www.googleapis.com/oauth2/v1/certs\",\n            \"clientX509CertUrl\": \"https://www.googleapis.com/robot/v1/metadata/x509/your-service-account%40your-project-id.iam.gserviceaccount.com\",\n        },\n    })\nexample_archive_overwritten_or_deleted_files_behavior = filescom.Behavior(\"example_archive_overwritten_or_deleted_files_behavior\",\n    path=\"path\",\n    behavior=\"archive_overwritten_or_deleted_files\",\n    value={\n        \"archivePath\": \"/Archive\",\n    })\nexample_auto_recrypt_behavior = filescom.Behavior(\"example_auto_recrypt_behavior\",\n    path=\"path\",\n    behavior=\"auto_recrypt\",\n    value={\n        \"decryptGpgKeyIds\": [1],\n        \"encryptGpgKeyIds\": [1],\n        \"decryptGpgKeyPartnerId\": 1,\n        \"encryptGpgKeyPartnerId\": 1,\n        \"ignoreMdcError\": True,\n        \"signingKeyId\": 1,\n        \"armor\": False,\n    })\nexample_metadata_category_behavior = filescom.Behavior(\"example_metadata_category_behavior\",\n    path=\"path\",\n    behavior=\"metadata_category\",\n    value={\n        \"metadataCategoryId\": 1,\n    })\nexample_auto_unzip_behavior = filescom.Behavior(\"example_auto_unzip_behavior\",\n    path=\"path\",\n    behavior=\"auto_unzip\",\n    value={\n        \"destinationPath\": \"/Uploads/Unzipped/%Y/%m/%d\",\n        \"pathTimeZone\": \"Eastern Time (US \u0026 Canada)\",\n    })\nexample_remote_server_metadata_index_behavior = filescom.Behavior(\"example_remote_server_metadata_index_behavior\",\n    path=\"path\",\n    behavior=\"remote_server_metadata_index\",\n    value={\n        \"intervalMinutes\": 1440,\n        \"initialScanCompleted\": False,\n    })\nexample_malware_scanning_behavior = filescom.Behavior(\"example_malware_scanning_behavior\",\n    path=\"path\",\n    behavior=\"malware_scanning\",\n    value={})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleBehavior = new Filescom.Behavior(\"example_behavior\", new()\n    {\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"method\"] = \"GET\",\n        },\n        DisableParentFolderBehavior = false,\n        Recursive = false,\n        Name = \"example\",\n        Description = \"example\",\n        Path = \"path\",\n        BehaviorType = \"webhook\",\n    });\n\n    var exampleWebhookBehavior = new Filescom.Behavior(\"example_webhook_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"webhook\",\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"urls\"] = new[]\n            {\n                \"https://mysite.com/url...\",\n            },\n            [\"method\"] = \"POST\",\n            [\"triggers\"] = new[]\n            {\n                \"create\",\n                \"read\",\n                \"update\",\n                \"destroy\",\n                \"move\",\n                \"copy\",\n            },\n            [\"triggeringFilenames\"] = new[]\n            {\n                \"*.pdf\",\n                \"*so*.jpg\",\n            },\n            [\"excludeFilenames\"] = new[]\n            {\n                \"*.txt\",\n                \"*wo*.png\",\n            },\n            [\"encoding\"] = \"RAW\",\n            [\"headers\"] = new Dictionary\u003cstring, object?\u003e\n            {\n                [\"MY-HEADER\"] = \"foo\",\n            },\n            [\"body\"] = new Dictionary\u003cstring, object?\u003e\n            {\n                [\"MY_BODY_PARAM\"] = \"bar\",\n            },\n            [\"verificationToken\"] = \"tok12345\",\n            [\"fileFormField\"] = \"my_form_field\",\n            [\"fileAsBody\"] = \"my_file_body\",\n            [\"useDedicatedIps\"] = false,\n        },\n    });\n\n    var exampleFileExpirationBehavior = new Filescom.Behavior(\"example_file_expiration_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"file_expiration\",\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"daysToRetain\"] = 30,\n            [\"deleteEmptyFolders\"] = false,\n        },\n    });\n\n    var exampleAutoEncryptBehavior = new Filescom.Behavior(\"example_auto_encrypt_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"auto_encrypt\",\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"gpgKeyId\"] = 1,\n            [\"gpgKeyIds\"] = new[]\n            {\n                1,\n            },\n            [\"algorithm\"] = \"PGP/GPG\",\n            [\"signingKeyId\"] = 1,\n            [\"suffix\"] = \".gpg\",\n            [\"armor\"] = false,\n            [\"gpgKeyPartnerId\"] = 1,\n        },\n    });\n\n    var exampleLockSubfoldersBehavior = new Filescom.Behavior(\"example_lock_subfolders_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"lock_subfolders\",\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"level\"] = \"children_recursive\",\n        },\n    });\n\n    var exampleStorageRegionBehavior = new Filescom.Behavior(\"example_storage_region_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"storage_region\",\n        Value = \"us-east-1\",\n    });\n\n    var exampleServePubliclyBehavior = new Filescom.Behavior(\"example_serve_publicly_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"serve_publicly\",\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"key\"] = \"public-photos\",\n            [\"showIndex\"] = true,\n            [\"forceDownload\"] = true,\n            [\"corsEnabled\"] = false,\n            [\"requireSiteAuthentication\"] = false,\n        },\n    });\n\n    var exampleCreateUserFoldersBehavior = new Filescom.Behavior(\"example_create_user_folders_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"create_user_folders\",\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"permission\"] = \"full\",\n            [\"additionalPermission\"] = \"bundle\",\n            [\"existingUsers\"] = true,\n            [\"groupId\"] = 1,\n            [\"newFolderName\"] = \"username\",\n            [\"subfolders\"] = new[]\n            {\n                \"in\",\n                \"out\",\n            },\n        },\n    });\n\n    var exampleInboxBehavior = new Filescom.Behavior(\"example_inbox_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"inbox\",\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"key\"] = \"application-forms\",\n            [\"dontSeparateSubmissionsByFolder\"] = true,\n            [\"dontSeparateSubmissionsByFolderForInboundEmail\"] = true,\n            [\"dontAllowFoldersInUploads\"] = false,\n            [\"requireInboxRecipient\"] = false,\n            [\"showOnLoginPage\"] = true,\n            [\"title\"] = \"Submit Your Job Applications Here\",\n            [\"description\"] = \"Thanks for coming to the Files.com Job Application Page\",\n            [\"helpText\"] = \"If you have trouble here, please contact your recruiter.\",\n            [\"requireRegistration\"] = true,\n            [\"password\"] = \"foobar\",\n            [\"pathTemplate\"] = \"{{name}}_{{ip}}\",\n            [\"pathTemplateTimeZone\"] = \"Eastern Time (US \u0026 Canada)\",\n            [\"enableInboundEmailAddress\"] = true,\n            [\"notifySendersOnSuccessfulUploadsViaEmail\"] = true,\n            [\"notifySendersOnSuccessfulUploadsViaWeb\"] = true,\n            [\"allowWhitelisting\"] = true,\n            [\"whitelist\"] = new[]\n            {\n                \"john@test.com\",\n                \"mydomain.com\",\n            },\n            [\"disableWebUpload\"] = true,\n            [\"captureEmailBodyFilename\"] = \"_body.txt\",\n            [\"requestedUploadSlots\"] = new[]\n            {\n                new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"name\"] = \"Photo ID\",\n                },\n                new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"name\"] = \"Proof of Address\",\n                },\n            },\n        },\n    });\n\n    var exampleLimitFileExtensionsBehavior = new Filescom.Behavior(\"example_limit_file_extensions_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"limit_file_extensions\",\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"extensions\"] = new[]\n            {\n                \"xls\",\n                \"csv\",\n            },\n            [\"mode\"] = \"whitelist\",\n        },\n    });\n\n    var exampleLimitFileRegexBehavior = new Filescom.Behavior(\"example_limit_file_regex_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"limit_file_regex\",\n        Value = new[]\n        {\n            \"/Document-.*/\",\n        },\n    });\n\n    var exampleAmazonSnsBehavior = new Filescom.Behavior(\"example_amazon_sns_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"amazon_sns\",\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"arns\"] = new[]\n            {\n                \"ARN\",\n            },\n            [\"triggers\"] = new[]\n            {\n                \"create\",\n                \"read\",\n                \"update\",\n                \"destroy\",\n                \"move\",\n                \"copy\",\n            },\n            [\"awsCredentials\"] = new Dictionary\u003cstring, object?\u003e\n            {\n                [\"accessKeyId\"] = \"ACCESS_KEY_ID\",\n                [\"region\"] = \"us-east-1\",\n                [\"secretAccessKey\"] = \"SECRET_ACCESS_KEY\",\n            },\n        },\n    });\n\n    var exampleWatermarkBehavior = new Filescom.Behavior(\"example_watermark_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"watermark\",\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"gravity\"] = \"SouthWest\",\n            [\"maxHeightOrWidth\"] = 20,\n            [\"transparency\"] = 25,\n            [\"dynamicText\"] = \"Confidential: For use by {{user}} only.\",\n        },\n    });\n\n    var exampleRemoteServerMountBehavior = new Filescom.Behavior(\"example_remote_server_mount_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"remote_server_mount\",\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"remoteServerId\"] = 1,\n            [\"remotePath\"] = \"\",\n        },\n    });\n\n    var exampleSlackWebhookBehavior = new Filescom.Behavior(\"example_slack_webhook_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"slack_webhook\",\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"url\"] = \"https://mysite.com/url...\",\n            [\"username\"] = \"Files.com\",\n            [\"channel\"] = \"alerts\",\n            [\"iconEmoji\"] = \":robot_face:\",\n            [\"triggers\"] = new[]\n            {\n                \"create\",\n                \"read\",\n                \"update\",\n                \"destroy\",\n                \"move\",\n                \"copy\",\n            },\n        },\n    });\n\n    var exampleAutoDecryptBehavior = new Filescom.Behavior(\"example_auto_decrypt_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"auto_decrypt\",\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"gpgKeyId\"] = 1,\n            [\"gpgKeyIds\"] = new[]\n            {\n                1,\n            },\n            [\"algorithm\"] = \"PGP/GPG\",\n            [\"suffix\"] = \".gpg\",\n            [\"ignoreMdcError\"] = true,\n            [\"gpgKeyPartnerId\"] = 1,\n            [\"useAllPrivateKeys\"] = false,\n        },\n    });\n\n    var exampleOverrideUploadFilenameBehavior = new Filescom.Behavior(\"example_override_upload_filename_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"override_upload_filename\",\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"filenameOverridePattern\"] = \"%Fb_addition5%Fe\",\n            [\"filenameReplaceFrom\"] = null,\n            [\"filenameReplaceTo\"] = null,\n            [\"filenameRegexReplaceFrom\"] = null,\n            [\"filenameRegexReplaceTo\"] = null,\n            [\"timeZone\"] = \"Eastern Time (US \u0026 Canada)\",\n        },\n    });\n\n    var examplePermissionFenceBehavior = new Filescom.Behavior(\"example_permission_fence_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"permission_fence\",\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"fencedPermissions\"] = \"all\",\n        },\n    });\n\n    var exampleLimitFilenameLengthBehavior = new Filescom.Behavior(\"example_limit_filename_length_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"limit_filename_length\",\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"maxLength\"] = 30,\n            [\"shorten\"] = true,\n        },\n    });\n\n    var exampleOrganizeFilesIntoSubfoldersBehavior = new Filescom.Behavior(\"example_organize_files_into_subfolders_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"organize_files_into_subfolders\",\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"subfolderNameType\"] = \"regex, extension, created_at, provided_modified_at\",\n            [\"regex\"] = \"(?\u003c=\\\\-)(.*?)(?=\\\\.)\",\n            [\"strftimeFormat\"] = \"%Y-%m-%d\",\n            [\"timeZone\"] = \"Eastern Time (US \u0026 Canada)\",\n            [\"applyBehavior\"] = true,\n        },\n    });\n\n    var exampleTeamsWebhookBehavior = new Filescom.Behavior(\"example_teams_webhook_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"teams_webhook\",\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"url\"] = \"https://mysite.com/url...\",\n            [\"triggers\"] = new[]\n            {\n                \"create\",\n                \"read\",\n                \"update\",\n                \"destroy\",\n                \"move\",\n                \"copy\",\n            },\n        },\n    });\n\n    var exampleGooglePubSubBehavior = new Filescom.Behavior(\"example_google_pub_sub_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"google_pub_sub\",\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"projectsTopics\"] = new[]\n            {\n                new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"projectId\"] = \"my-project-id\",\n                    [\"topicId\"] = \"my-topic-id\",\n                },\n            },\n            [\"triggers\"] = new[]\n            {\n                \"create\",\n                \"read\",\n                \"update\",\n                \"destroy\",\n                \"move\",\n                \"copy\",\n            },\n            [\"googleCredentials\"] = new Dictionary\u003cstring, object?\u003e\n            {\n                [\"type\"] = \"service_account\",\n                [\"projectId\"] = \"your-project-id\",\n                [\"privateKeyId\"] = \"your-private-key-id\",\n                [\"privateKey\"] = \"-----BEGIN PRIVATE KEY-----\\\\nMIIC...\",\n                [\"clientEmail\"] = \"your-service-account@your-project-id.iam.gserviceaccount.com\",\n                [\"clientId\"] = \"your-client-id\",\n                [\"authUri\"] = \"https=\u003e//accounts.google.com/o/oauth2/auth\",\n                [\"tokenUri\"] = \"https=\u003e//oauth2.googleapis.com/token\",\n                [\"authProviderX509CertUrl\"] = \"https://www.googleapis.com/oauth2/v1/certs\",\n                [\"clientX509CertUrl\"] = \"https://www.googleapis.com/robot/v1/metadata/x509/your-service-account%40your-project-id.iam.gserviceaccount.com\",\n            },\n        },\n    });\n\n    var exampleArchiveOverwrittenOrDeletedFilesBehavior = new Filescom.Behavior(\"example_archive_overwritten_or_deleted_files_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"archive_overwritten_or_deleted_files\",\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"archivePath\"] = \"/Archive\",\n        },\n    });\n\n    var exampleAutoRecryptBehavior = new Filescom.Behavior(\"example_auto_recrypt_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"auto_recrypt\",\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"decryptGpgKeyIds\"] = new[]\n            {\n                1,\n            },\n            [\"encryptGpgKeyIds\"] = new[]\n            {\n                1,\n            },\n            [\"decryptGpgKeyPartnerId\"] = 1,\n            [\"encryptGpgKeyPartnerId\"] = 1,\n            [\"ignoreMdcError\"] = true,\n            [\"signingKeyId\"] = 1,\n            [\"armor\"] = false,\n        },\n    });\n\n    var exampleMetadataCategoryBehavior = new Filescom.Behavior(\"example_metadata_category_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"metadata_category\",\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"metadataCategoryId\"] = 1,\n        },\n    });\n\n    var exampleAutoUnzipBehavior = new Filescom.Behavior(\"example_auto_unzip_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"auto_unzip\",\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"destinationPath\"] = \"/Uploads/Unzipped/%Y/%m/%d\",\n            [\"pathTimeZone\"] = \"Eastern Time (US \u0026 Canada)\",\n        },\n    });\n\n    var exampleRemoteServerMetadataIndexBehavior = new Filescom.Behavior(\"example_remote_server_metadata_index_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"remote_server_metadata_index\",\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"intervalMinutes\"] = 1440,\n            [\"initialScanCompleted\"] = false,\n        },\n    });\n\n    var exampleMalwareScanningBehavior = new Filescom.Behavior(\"example_malware_scanning_behavior\", new()\n    {\n        Path = \"path\",\n        BehaviorType = \"malware_scanning\",\n        Value = null,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewBehavior(ctx, \"example_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"method\": \"GET\",\n\t\t\t}),\n\t\t\tDisableParentFolderBehavior: pulumi.Bool(false),\n\t\t\tRecursive:                   pulumi.Bool(false),\n\t\t\tName:                        pulumi.String(\"example\"),\n\t\t\tDescription:                 pulumi.String(\"example\"),\n\t\t\tPath:                        pulumi.String(\"path\"),\n\t\t\tBehavior:                    pulumi.String(\"webhook\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_webhook_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"webhook\"),\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"urls\": []string{\n\t\t\t\t\t\"https://mysite.com/url...\",\n\t\t\t\t},\n\t\t\t\t\"method\": \"POST\",\n\t\t\t\t\"triggers\": []string{\n\t\t\t\t\t\"create\",\n\t\t\t\t\t\"read\",\n\t\t\t\t\t\"update\",\n\t\t\t\t\t\"destroy\",\n\t\t\t\t\t\"move\",\n\t\t\t\t\t\"copy\",\n\t\t\t\t},\n\t\t\t\t\"triggeringFilenames\": []string{\n\t\t\t\t\t\"*.pdf\",\n\t\t\t\t\t\"*so*.jpg\",\n\t\t\t\t},\n\t\t\t\t\"excludeFilenames\": []string{\n\t\t\t\t\t\"*.txt\",\n\t\t\t\t\t\"*wo*.png\",\n\t\t\t\t},\n\t\t\t\t\"encoding\": \"RAW\",\n\t\t\t\t\"headers\": map[string]string{\n\t\t\t\t\t\"MY-HEADER\": \"foo\",\n\t\t\t\t},\n\t\t\t\t\"body\": map[string]string{\n\t\t\t\t\t\"MY_BODY_PARAM\": \"bar\",\n\t\t\t\t},\n\t\t\t\t\"verificationToken\": \"tok12345\",\n\t\t\t\t\"fileFormField\":     \"my_form_field\",\n\t\t\t\t\"fileAsBody\":        \"my_file_body\",\n\t\t\t\t\"useDedicatedIps\":   false,\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_file_expiration_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"file_expiration\"),\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"daysToRetain\":       30,\n\t\t\t\t\"deleteEmptyFolders\": false,\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_auto_encrypt_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"auto_encrypt\"),\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"gpgKeyId\": 1,\n\t\t\t\t\"gpgKeyIds\": []int{\n\t\t\t\t\t1,\n\t\t\t\t},\n\t\t\t\t\"algorithm\":       \"PGP/GPG\",\n\t\t\t\t\"signingKeyId\":    1,\n\t\t\t\t\"suffix\":          \".gpg\",\n\t\t\t\t\"armor\":           false,\n\t\t\t\t\"gpgKeyPartnerId\": 1,\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_lock_subfolders_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"lock_subfolders\"),\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"level\": \"children_recursive\",\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_storage_region_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"storage_region\"),\n\t\t\tValue:    pulumi.Any(\"us-east-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_serve_publicly_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"serve_publicly\"),\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"key\":                       \"public-photos\",\n\t\t\t\t\"showIndex\":                 true,\n\t\t\t\t\"forceDownload\":             true,\n\t\t\t\t\"corsEnabled\":               false,\n\t\t\t\t\"requireSiteAuthentication\": false,\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_create_user_folders_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"create_user_folders\"),\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"permission\":           \"full\",\n\t\t\t\t\"additionalPermission\": \"bundle\",\n\t\t\t\t\"existingUsers\":        true,\n\t\t\t\t\"groupId\":              1,\n\t\t\t\t\"newFolderName\":        \"username\",\n\t\t\t\t\"subfolders\": []string{\n\t\t\t\t\t\"in\",\n\t\t\t\t\t\"out\",\n\t\t\t\t},\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_inbox_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"inbox\"),\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"key\":                             \"application-forms\",\n\t\t\t\t\"dontSeparateSubmissionsByFolder\": true,\n\t\t\t\t\"dontSeparateSubmissionsByFolderForInboundEmail\": true,\n\t\t\t\t\"dontAllowFoldersInUploads\":                      false,\n\t\t\t\t\"requireInboxRecipient\":                          false,\n\t\t\t\t\"showOnLoginPage\":                                true,\n\t\t\t\t\"title\":                                          \"Submit Your Job Applications Here\",\n\t\t\t\t\"description\":                                    \"Thanks for coming to the Files.com Job Application Page\",\n\t\t\t\t\"helpText\":                                       \"If you have trouble here, please contact your recruiter.\",\n\t\t\t\t\"requireRegistration\":                            true,\n\t\t\t\t\"password\":                                       \"foobar\",\n\t\t\t\t\"pathTemplate\":                                   \"{{name}}_{{ip}}\",\n\t\t\t\t\"pathTemplateTimeZone\":                           \"Eastern Time (US \u0026 Canada)\",\n\t\t\t\t\"enableInboundEmailAddress\":                      true,\n\t\t\t\t\"notifySendersOnSuccessfulUploadsViaEmail\":       true,\n\t\t\t\t\"notifySendersOnSuccessfulUploadsViaWeb\":         true,\n\t\t\t\t\"allowWhitelisting\":                              true,\n\t\t\t\t\"whitelist\": []string{\n\t\t\t\t\t\"john@test.com\",\n\t\t\t\t\t\"mydomain.com\",\n\t\t\t\t},\n\t\t\t\t\"disableWebUpload\":         true,\n\t\t\t\t\"captureEmailBodyFilename\": \"_body.txt\",\n\t\t\t\t\"requestedUploadSlots\": []map[string]string{\n\t\t\t\t\t{\n\t\t\t\t\t\t\"name\": \"Photo ID\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"name\": \"Proof of Address\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_limit_file_extensions_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"limit_file_extensions\"),\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"extensions\": []string{\n\t\t\t\t\t\"xls\",\n\t\t\t\t\t\"csv\",\n\t\t\t\t},\n\t\t\t\t\"mode\": \"whitelist\",\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_limit_file_regex_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"limit_file_regex\"),\n\t\t\tValue: pulumi.Any{\n\t\t\t\t\"/Document-.*/\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_amazon_sns_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"amazon_sns\"),\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"arns\": []string{\n\t\t\t\t\t\"ARN\",\n\t\t\t\t},\n\t\t\t\t\"triggers\": []string{\n\t\t\t\t\t\"create\",\n\t\t\t\t\t\"read\",\n\t\t\t\t\t\"update\",\n\t\t\t\t\t\"destroy\",\n\t\t\t\t\t\"move\",\n\t\t\t\t\t\"copy\",\n\t\t\t\t},\n\t\t\t\t\"awsCredentials\": map[string]string{\n\t\t\t\t\t\"accessKeyId\":     \"ACCESS_KEY_ID\",\n\t\t\t\t\t\"region\":          \"us-east-1\",\n\t\t\t\t\t\"secretAccessKey\": \"SECRET_ACCESS_KEY\",\n\t\t\t\t},\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_watermark_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"watermark\"),\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"gravity\":          \"SouthWest\",\n\t\t\t\t\"maxHeightOrWidth\": 20,\n\t\t\t\t\"transparency\":     25,\n\t\t\t\t\"dynamicText\":      \"Confidential: For use by {{user}} only.\",\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_remote_server_mount_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"remote_server_mount\"),\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"remoteServerId\": 1,\n\t\t\t\t\"remotePath\":     \"\",\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_slack_webhook_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"slack_webhook\"),\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"url\":       \"https://mysite.com/url...\",\n\t\t\t\t\"username\":  \"Files.com\",\n\t\t\t\t\"channel\":   \"alerts\",\n\t\t\t\t\"iconEmoji\": \":robot_face:\",\n\t\t\t\t\"triggers\": []string{\n\t\t\t\t\t\"create\",\n\t\t\t\t\t\"read\",\n\t\t\t\t\t\"update\",\n\t\t\t\t\t\"destroy\",\n\t\t\t\t\t\"move\",\n\t\t\t\t\t\"copy\",\n\t\t\t\t},\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_auto_decrypt_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"auto_decrypt\"),\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"gpgKeyId\": 1,\n\t\t\t\t\"gpgKeyIds\": []int{\n\t\t\t\t\t1,\n\t\t\t\t},\n\t\t\t\t\"algorithm\":         \"PGP/GPG\",\n\t\t\t\t\"suffix\":            \".gpg\",\n\t\t\t\t\"ignoreMdcError\":    true,\n\t\t\t\t\"gpgKeyPartnerId\":   1,\n\t\t\t\t\"useAllPrivateKeys\": false,\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_override_upload_filename_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"override_upload_filename\"),\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"filenameOverridePattern\":  \"%Fb_addition5%Fe\",\n\t\t\t\t\"filenameReplaceFrom\":      nil,\n\t\t\t\t\"filenameReplaceTo\":        nil,\n\t\t\t\t\"filenameRegexReplaceFrom\": nil,\n\t\t\t\t\"filenameRegexReplaceTo\":   nil,\n\t\t\t\t\"timeZone\":                 \"Eastern Time (US \u0026 Canada)\",\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_permission_fence_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"permission_fence\"),\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"fencedPermissions\": \"all\",\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_limit_filename_length_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"limit_filename_length\"),\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"maxLength\": 30,\n\t\t\t\t\"shorten\":   true,\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_organize_files_into_subfolders_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"organize_files_into_subfolders\"),\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"subfolderNameType\": \"regex, extension, created_at, provided_modified_at\",\n\t\t\t\t\"regex\":             \"(?\u003c=\\\\-)(.*?)(?=\\\\.)\",\n\t\t\t\t\"strftimeFormat\":    \"%Y-%m-%d\",\n\t\t\t\t\"timeZone\":          \"Eastern Time (US \u0026 Canada)\",\n\t\t\t\t\"applyBehavior\":     true,\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_teams_webhook_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"teams_webhook\"),\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"url\": \"https://mysite.com/url...\",\n\t\t\t\t\"triggers\": []string{\n\t\t\t\t\t\"create\",\n\t\t\t\t\t\"read\",\n\t\t\t\t\t\"update\",\n\t\t\t\t\t\"destroy\",\n\t\t\t\t\t\"move\",\n\t\t\t\t\t\"copy\",\n\t\t\t\t},\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_google_pub_sub_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"google_pub_sub\"),\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"projectsTopics\": []map[string]string{\n\t\t\t\t\t{\n\t\t\t\t\t\t\"projectId\": \"my-project-id\",\n\t\t\t\t\t\t\"topicId\":   \"my-topic-id\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"triggers\": []string{\n\t\t\t\t\t\"create\",\n\t\t\t\t\t\"read\",\n\t\t\t\t\t\"update\",\n\t\t\t\t\t\"destroy\",\n\t\t\t\t\t\"move\",\n\t\t\t\t\t\"copy\",\n\t\t\t\t},\n\t\t\t\t\"googleCredentials\": map[string]string{\n\t\t\t\t\t\"type\":                    \"service_account\",\n\t\t\t\t\t\"projectId\":               \"your-project-id\",\n\t\t\t\t\t\"privateKeyId\":            \"your-private-key-id\",\n\t\t\t\t\t\"privateKey\":              \"-----BEGIN PRIVATE KEY-----\\\\nMIIC...\",\n\t\t\t\t\t\"clientEmail\":             \"your-service-account@your-project-id.iam.gserviceaccount.com\",\n\t\t\t\t\t\"clientId\":                \"your-client-id\",\n\t\t\t\t\t\"authUri\":                 \"https=\u003e//accounts.google.com/o/oauth2/auth\",\n\t\t\t\t\t\"tokenUri\":                \"https=\u003e//oauth2.googleapis.com/token\",\n\t\t\t\t\t\"authProviderX509CertUrl\": \"https://www.googleapis.com/oauth2/v1/certs\",\n\t\t\t\t\t\"clientX509CertUrl\":       \"https://www.googleapis.com/robot/v1/metadata/x509/your-service-account%40your-project-id.iam.gserviceaccount.com\",\n\t\t\t\t},\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_archive_overwritten_or_deleted_files_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"archive_overwritten_or_deleted_files\"),\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"archivePath\": \"/Archive\",\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_auto_recrypt_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"auto_recrypt\"),\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"decryptGpgKeyIds\": []int{\n\t\t\t\t\t1,\n\t\t\t\t},\n\t\t\t\t\"encryptGpgKeyIds\": []int{\n\t\t\t\t\t1,\n\t\t\t\t},\n\t\t\t\t\"decryptGpgKeyPartnerId\": 1,\n\t\t\t\t\"encryptGpgKeyPartnerId\": 1,\n\t\t\t\t\"ignoreMdcError\":         true,\n\t\t\t\t\"signingKeyId\":           1,\n\t\t\t\t\"armor\":                  false,\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_metadata_category_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"metadata_category\"),\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"metadataCategoryId\": 1,\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_auto_unzip_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"auto_unzip\"),\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"destinationPath\": \"/Uploads/Unzipped/%Y/%m/%d\",\n\t\t\t\t\"pathTimeZone\":    \"Eastern Time (US \u0026 Canada)\",\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_remote_server_metadata_index_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"remote_server_metadata_index\"),\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"intervalMinutes\":      1440,\n\t\t\t\t\"initialScanCompleted\": false,\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = filescom.NewBehavior(ctx, \"example_malware_scanning_behavior\", \u0026filescom.BehaviorArgs{\n\t\t\tPath:     pulumi.String(\"path\"),\n\t\t\tBehavior: pulumi.String(\"malware_scanning\"),\n\t\t\tValue:    pulumi.Any(map[string]interface{}{}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_behavior\" \"example_behavior\" {\n  value = {\n    \"method\" = \"GET\"\n  }\n  disable_parent_folder_behavior = false\n  recursive                      = false\n  name                           = \"example\"\n  description                    = \"example\"\n  path                           = \"path\"\n  behavior                       = \"webhook\"\n}\nresource \"filescom_behavior\" \"example_webhook_behavior\" {\n  path     = \"path\"\n  behavior = \"webhook\"\n  value = {\n    \"urls\"                = [\"https://mysite.com/url...\"]\n    \"method\"              = \"POST\"\n    \"triggers\"            = [\"create\", \"read\", \"update\", \"destroy\", \"move\", \"copy\"]\n    \"triggeringFilenames\" = [\"*.pdf\", \"*so*.jpg\"]\n    \"excludeFilenames\"    = [\"*.txt\", \"*wo*.png\"]\n    \"encoding\"            = \"RAW\"\n    \"headers\" = {\n      \"MY-HEADER\" = \"foo\"\n    }\n    \"body\" = {\n      \"MY_BODY_PARAM\" = \"bar\"\n    }\n    \"verificationToken\" = \"tok12345\"\n    \"fileFormField\"     = \"my_form_field\"\n    \"fileAsBody\"        = \"my_file_body\"\n    \"useDedicatedIps\"   = false\n  }\n}\nresource \"filescom_behavior\" \"example_file_expiration_behavior\" {\n  path     = \"path\"\n  behavior = \"file_expiration\"\n  value = {\n    \"daysToRetain\"       = 30\n    \"deleteEmptyFolders\" = false\n  }\n}\nresource \"filescom_behavior\" \"example_auto_encrypt_behavior\" {\n  path     = \"path\"\n  behavior = \"auto_encrypt\"\n  value = {\n    \"gpgKeyId\"        = 1\n    \"gpgKeyIds\"       = [1]\n    \"algorithm\"       = \"PGP/GPG\"\n    \"signingKeyId\"    = 1\n    \"suffix\"          = \".gpg\"\n    \"armor\"           = false\n    \"gpgKeyPartnerId\" = 1\n  }\n}\nresource \"filescom_behavior\" \"example_lock_subfolders_behavior\" {\n  path     = \"path\"\n  behavior = \"lock_subfolders\"\n  value = {\n    \"level\" = \"children_recursive\"\n  }\n}\nresource \"filescom_behavior\" \"example_storage_region_behavior\" {\n  path     = \"path\"\n  behavior = \"storage_region\"\n  value    = \"us-east-1\"\n}\nresource \"filescom_behavior\" \"example_serve_publicly_behavior\" {\n  path     = \"path\"\n  behavior = \"serve_publicly\"\n  value = {\n    \"key\"                       = \"public-photos\"\n    \"showIndex\"                 = true\n    \"forceDownload\"             = true\n    \"corsEnabled\"               = false\n    \"requireSiteAuthentication\" = false\n  }\n}\nresource \"filescom_behavior\" \"example_create_user_folders_behavior\" {\n  path     = \"path\"\n  behavior = \"create_user_folders\"\n  value = {\n    \"permission\"           = \"full\"\n    \"additionalPermission\" = \"bundle\"\n    \"existingUsers\"        = true\n    \"groupId\"              = 1\n    \"newFolderName\"        = \"username\"\n    \"subfolders\"           = [\"in\", \"out\"]\n  }\n}\nresource \"filescom_behavior\" \"example_inbox_behavior\" {\n  path     = \"path\"\n  behavior = \"inbox\"\n  value = {\n    \"key\"                                            = \"application-forms\"\n    \"dontSeparateSubmissionsByFolder\"                = true\n    \"dontSeparateSubmissionsByFolderForInboundEmail\" = true\n    \"dontAllowFoldersInUploads\"                      = false\n    \"requireInboxRecipient\"                          = false\n    \"showOnLoginPage\"                                = true\n    \"title\"                                          = \"Submit Your Job Applications Here\"\n    \"description\"                                    = \"Thanks for coming to the Files.com Job Application Page\"\n    \"helpText\"                                       = \"If you have trouble here, please contact your recruiter.\"\n    \"requireRegistration\"                            = true\n    \"password\"                                       = \"foobar\"\n    \"pathTemplate\"                                   = \"{{name}}_{{ip}}\"\n    \"pathTemplateTimeZone\"                           = \"Eastern Time (US \u0026 Canada)\"\n    \"enableInboundEmailAddress\"                      = true\n    \"notifySendersOnSuccessfulUploadsViaEmail\"       = true\n    \"notifySendersOnSuccessfulUploadsViaWeb\"         = true\n    \"allowWhitelisting\"                              = true\n    \"whitelist\"                                      = [\"john@test.com\", \"mydomain.com\"]\n    \"disableWebUpload\"                               = true\n    \"captureEmailBodyFilename\"                       = \"_body.txt\"\n    \"requestedUploadSlots\" = [{\n      \"name\" = \"Photo ID\"\n      }, {\n      \"name\" = \"Proof of Address\"\n    }]\n  }\n}\nresource \"filescom_behavior\" \"example_limit_file_extensions_behavior\" {\n  path     = \"path\"\n  behavior = \"limit_file_extensions\"\n  value = {\n    \"extensions\" = [\"xls\", \"csv\"]\n    \"mode\"       = \"whitelist\"\n  }\n}\nresource \"filescom_behavior\" \"example_limit_file_regex_behavior\" {\n  path     = \"path\"\n  behavior = \"limit_file_regex\"\n  value    = [\"/Document-.*/\"]\n}\nresource \"filescom_behavior\" \"example_amazon_sns_behavior\" {\n  path     = \"path\"\n  behavior = \"amazon_sns\"\n  value = {\n    \"arns\"     = [\"ARN\"]\n    \"triggers\" = [\"create\", \"read\", \"update\", \"destroy\", \"move\", \"copy\"]\n    \"awsCredentials\" = {\n      \"accessKeyId\"     = \"ACCESS_KEY_ID\"\n      \"region\"          = \"us-east-1\"\n      \"secretAccessKey\" = \"SECRET_ACCESS_KEY\"\n    }\n  }\n}\nresource \"filescom_behavior\" \"example_watermark_behavior\" {\n  path     = \"path\"\n  behavior = \"watermark\"\n  value = {\n    \"gravity\"          = \"SouthWest\"\n    \"maxHeightOrWidth\" = 20\n    \"transparency\"     = 25\n    \"dynamicText\"      = \"Confidential: For use by {{user}} only.\"\n  }\n}\nresource \"filescom_behavior\" \"example_remote_server_mount_behavior\" {\n  path     = \"path\"\n  behavior = \"remote_server_mount\"\n  value = {\n    \"remoteServerId\" = 1\n    \"remotePath\"     = \"\"\n  }\n}\nresource \"filescom_behavior\" \"example_slack_webhook_behavior\" {\n  path     = \"path\"\n  behavior = \"slack_webhook\"\n  value = {\n    \"url\"       = \"https://mysite.com/url...\"\n    \"username\"  = \"Files.com\"\n    \"channel\"   = \"alerts\"\n    \"iconEmoji\" = \":robot_face:\"\n    \"triggers\"  = [\"create\", \"read\", \"update\", \"destroy\", \"move\", \"copy\"]\n  }\n}\nresource \"filescom_behavior\" \"example_auto_decrypt_behavior\" {\n  path     = \"path\"\n  behavior = \"auto_decrypt\"\n  value = {\n    \"gpgKeyId\"          = 1\n    \"gpgKeyIds\"         = [1]\n    \"algorithm\"         = \"PGP/GPG\"\n    \"suffix\"            = \".gpg\"\n    \"ignoreMdcError\"    = true\n    \"gpgKeyPartnerId\"   = 1\n    \"useAllPrivateKeys\" = false\n  }\n}\nresource \"filescom_behavior\" \"example_override_upload_filename_behavior\" {\n  path     = \"path\"\n  behavior = \"override_upload_filename\"\n  value = {\n    \"filenameOverridePattern\"  = \"%Fb_addition5%Fe\"\n    \"filenameReplaceFrom\"      = null\n    \"filenameReplaceTo\"        = null\n    \"filenameRegexReplaceFrom\" = null\n    \"filenameRegexReplaceTo\"   = null\n    \"timeZone\"                 = \"Eastern Time (US \u0026 Canada)\"\n  }\n}\nresource \"filescom_behavior\" \"example_permission_fence_behavior\" {\n  path     = \"path\"\n  behavior = \"permission_fence\"\n  value = {\n    \"fencedPermissions\" = \"all\"\n  }\n}\nresource \"filescom_behavior\" \"example_limit_filename_length_behavior\" {\n  path     = \"path\"\n  behavior = \"limit_filename_length\"\n  value = {\n    \"maxLength\" = 30\n    \"shorten\"   = true\n  }\n}\nresource \"filescom_behavior\" \"example_organize_files_into_subfolders_behavior\" {\n  path     = \"path\"\n  behavior = \"organize_files_into_subfolders\"\n  value = {\n    \"subfolderNameType\" = \"regex, extension, created_at, provided_modified_at\"\n    \"regex\"             = \"(?\u003c=\\\\-)(.*?)(?=\\\\.)\"\n    \"strftimeFormat\"    = \"%Y-%m-%d\"\n    \"timeZone\"          = \"Eastern Time (US \u0026 Canada)\"\n    \"applyBehavior\"     = true\n  }\n}\nresource \"filescom_behavior\" \"example_teams_webhook_behavior\" {\n  path     = \"path\"\n  behavior = \"teams_webhook\"\n  value = {\n    \"url\"      = \"https://mysite.com/url...\"\n    \"triggers\" = [\"create\", \"read\", \"update\", \"destroy\", \"move\", \"copy\"]\n  }\n}\nresource \"filescom_behavior\" \"example_google_pub_sub_behavior\" {\n  path     = \"path\"\n  behavior = \"google_pub_sub\"\n  value = {\n    \"projectsTopics\" = [{\n      \"projectId\" = \"my-project-id\"\n      \"topicId\"   = \"my-topic-id\"\n    }]\n    \"triggers\" = [\"create\", \"read\", \"update\", \"destroy\", \"move\", \"copy\"]\n    \"googleCredentials\" = {\n      \"type\"                    = \"service_account\"\n      \"projectId\"               = \"your-project-id\"\n      \"privateKeyId\"            = \"your-private-key-id\"\n      \"privateKey\"              = \"-----BEGIN PRIVATE KEY-----\\\\nMIIC...\"\n      \"clientEmail\"             = \"your-service-account@your-project-id.iam.gserviceaccount.com\"\n      \"clientId\"                = \"your-client-id\"\n      \"authUri\"                 = \"https=\u003e//accounts.google.com/o/oauth2/auth\"\n      \"tokenUri\"                = \"https=\u003e//oauth2.googleapis.com/token\"\n      \"authProviderX509CertUrl\" = \"https://www.googleapis.com/oauth2/v1/certs\"\n      \"clientX509CertUrl\"       = \"https://www.googleapis.com/robot/v1/metadata/x509/your-service-account%40your-project-id.iam.gserviceaccount.com\"\n    }\n  }\n}\nresource \"filescom_behavior\" \"example_archive_overwritten_or_deleted_files_behavior\" {\n  path     = \"path\"\n  behavior = \"archive_overwritten_or_deleted_files\"\n  value = {\n    \"archivePath\" = \"/Archive\"\n  }\n}\nresource \"filescom_behavior\" \"example_auto_recrypt_behavior\" {\n  path     = \"path\"\n  behavior = \"auto_recrypt\"\n  value = {\n    \"decryptGpgKeyIds\"       = [1]\n    \"encryptGpgKeyIds\"       = [1]\n    \"decryptGpgKeyPartnerId\" = 1\n    \"encryptGpgKeyPartnerId\" = 1\n    \"ignoreMdcError\"         = true\n    \"signingKeyId\"           = 1\n    \"armor\"                  = false\n  }\n}\nresource \"filescom_behavior\" \"example_metadata_category_behavior\" {\n  path     = \"path\"\n  behavior = \"metadata_category\"\n  value = {\n    \"metadataCategoryId\" = 1\n  }\n}\nresource \"filescom_behavior\" \"example_auto_unzip_behavior\" {\n  path     = \"path\"\n  behavior = \"auto_unzip\"\n  value = {\n    \"destinationPath\" = \"/Uploads/Unzipped/%Y/%m/%d\"\n    \"pathTimeZone\"    = \"Eastern Time (US \u0026 Canada)\"\n  }\n}\nresource \"filescom_behavior\" \"example_remote_server_metadata_index_behavior\" {\n  path     = \"path\"\n  behavior = \"remote_server_metadata_index\"\n  value = {\n    \"intervalMinutes\"      = 1440\n    \"initialScanCompleted\" = false\n  }\n}\nresource \"filescom_behavior\" \"example_malware_scanning_behavior\" {\n  path     = \"path\"\n  behavior = \"malware_scanning\"\n  value    = {}\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.Behavior;\nimport com.pulumi.filescom.BehaviorArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleBehavior = new Behavior(\"exampleBehavior\", BehaviorArgs.builder()\n            .value(Map.of(\"method\", \"GET\"))\n            .disableParentFolderBehavior(false)\n            .recursive(false)\n            .name(\"example\")\n            .description(\"example\")\n            .path(\"path\")\n            .behavior(\"webhook\")\n            .build());\n\n        var exampleWebhookBehavior = new Behavior(\"exampleWebhookBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"webhook\")\n            .value(Map.ofEntries(\n                Map.entry(\"urls\", Arrays.asList(\"https://mysite.com/url...\")),\n                Map.entry(\"method\", \"POST\"),\n                Map.entry(\"triggers\", Arrays.asList(                \n                    \"create\",\n                    \"read\",\n                    \"update\",\n                    \"destroy\",\n                    \"move\",\n                    \"copy\")),\n                Map.entry(\"triggeringFilenames\", Arrays.asList(                \n                    \"*.pdf\",\n                    \"*so*.jpg\")),\n                Map.entry(\"excludeFilenames\", Arrays.asList(                \n                    \"*.txt\",\n                    \"*wo*.png\")),\n                Map.entry(\"encoding\", \"RAW\"),\n                Map.entry(\"headers\", Map.of(\"MY-HEADER\", \"foo\")),\n                Map.entry(\"body\", Map.of(\"MY_BODY_PARAM\", \"bar\")),\n                Map.entry(\"verificationToken\", \"tok12345\"),\n                Map.entry(\"fileFormField\", \"my_form_field\"),\n                Map.entry(\"fileAsBody\", \"my_file_body\"),\n                Map.entry(\"useDedicatedIps\", false)\n            ))\n            .build());\n\n        var exampleFileExpirationBehavior = new Behavior(\"exampleFileExpirationBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"file_expiration\")\n            .value(Map.ofEntries(\n                Map.entry(\"daysToRetain\", 30),\n                Map.entry(\"deleteEmptyFolders\", false)\n            ))\n            .build());\n\n        var exampleAutoEncryptBehavior = new Behavior(\"exampleAutoEncryptBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"auto_encrypt\")\n            .value(Map.ofEntries(\n                Map.entry(\"gpgKeyId\", 1),\n                Map.entry(\"gpgKeyIds\", Arrays.asList(1)),\n                Map.entry(\"algorithm\", \"PGP/GPG\"),\n                Map.entry(\"signingKeyId\", 1),\n                Map.entry(\"suffix\", \".gpg\"),\n                Map.entry(\"armor\", false),\n                Map.entry(\"gpgKeyPartnerId\", 1)\n            ))\n            .build());\n\n        var exampleLockSubfoldersBehavior = new Behavior(\"exampleLockSubfoldersBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"lock_subfolders\")\n            .value(Map.of(\"level\", \"children_recursive\"))\n            .build());\n\n        var exampleStorageRegionBehavior = new Behavior(\"exampleStorageRegionBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"storage_region\")\n            .value(\"us-east-1\")\n            .build());\n\n        var exampleServePubliclyBehavior = new Behavior(\"exampleServePubliclyBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"serve_publicly\")\n            .value(Map.ofEntries(\n                Map.entry(\"key\", \"public-photos\"),\n                Map.entry(\"showIndex\", true),\n                Map.entry(\"forceDownload\", true),\n                Map.entry(\"corsEnabled\", false),\n                Map.entry(\"requireSiteAuthentication\", false)\n            ))\n            .build());\n\n        var exampleCreateUserFoldersBehavior = new Behavior(\"exampleCreateUserFoldersBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"create_user_folders\")\n            .value(Map.ofEntries(\n                Map.entry(\"permission\", \"full\"),\n                Map.entry(\"additionalPermission\", \"bundle\"),\n                Map.entry(\"existingUsers\", true),\n                Map.entry(\"groupId\", 1),\n                Map.entry(\"newFolderName\", \"username\"),\n                Map.entry(\"subfolders\", Arrays.asList(                \n                    \"in\",\n                    \"out\"))\n            ))\n            .build());\n\n        var exampleInboxBehavior = new Behavior(\"exampleInboxBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"inbox\")\n            .value(Map.ofEntries(\n                Map.entry(\"key\", \"application-forms\"),\n                Map.entry(\"dontSeparateSubmissionsByFolder\", true),\n                Map.entry(\"dontSeparateSubmissionsByFolderForInboundEmail\", true),\n                Map.entry(\"dontAllowFoldersInUploads\", false),\n                Map.entry(\"requireInboxRecipient\", false),\n                Map.entry(\"showOnLoginPage\", true),\n                Map.entry(\"title\", \"Submit Your Job Applications Here\"),\n                Map.entry(\"description\", \"Thanks for coming to the Files.com Job Application Page\"),\n                Map.entry(\"helpText\", \"If you have trouble here, please contact your recruiter.\"),\n                Map.entry(\"requireRegistration\", true),\n                Map.entry(\"password\", \"foobar\"),\n                Map.entry(\"pathTemplate\", \"{{name}}_{{ip}}\"),\n                Map.entry(\"pathTemplateTimeZone\", \"Eastern Time (US \u0026 Canada)\"),\n                Map.entry(\"enableInboundEmailAddress\", true),\n                Map.entry(\"notifySendersOnSuccessfulUploadsViaEmail\", true),\n                Map.entry(\"notifySendersOnSuccessfulUploadsViaWeb\", true),\n                Map.entry(\"allowWhitelisting\", true),\n                Map.entry(\"whitelist\", Arrays.asList(                \n                    \"john@test.com\",\n                    \"mydomain.com\")),\n                Map.entry(\"disableWebUpload\", true),\n                Map.entry(\"captureEmailBodyFilename\", \"_body.txt\"),\n                Map.entry(\"requestedUploadSlots\", Arrays.asList(                \n                    Map.of(\"name\", \"Photo ID\"),\n                    Map.of(\"name\", \"Proof of Address\")))\n            ))\n            .build());\n\n        var exampleLimitFileExtensionsBehavior = new Behavior(\"exampleLimitFileExtensionsBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"limit_file_extensions\")\n            .value(Map.ofEntries(\n                Map.entry(\"extensions\", Arrays.asList(                \n                    \"xls\",\n                    \"csv\")),\n                Map.entry(\"mode\", \"whitelist\")\n            ))\n            .build());\n\n        var exampleLimitFileRegexBehavior = new Behavior(\"exampleLimitFileRegexBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"limit_file_regex\")\n            .value(\"/Document-.*/\")\n            .build());\n\n        var exampleAmazonSnsBehavior = new Behavior(\"exampleAmazonSnsBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"amazon_sns\")\n            .value(Map.ofEntries(\n                Map.entry(\"arns\", Arrays.asList(\"ARN\")),\n                Map.entry(\"triggers\", Arrays.asList(                \n                    \"create\",\n                    \"read\",\n                    \"update\",\n                    \"destroy\",\n                    \"move\",\n                    \"copy\")),\n                Map.entry(\"awsCredentials\", Map.ofEntries(\n                    Map.entry(\"accessKeyId\", \"ACCESS_KEY_ID\"),\n                    Map.entry(\"region\", \"us-east-1\"),\n                    Map.entry(\"secretAccessKey\", \"SECRET_ACCESS_KEY\")\n                ))\n            ))\n            .build());\n\n        var exampleWatermarkBehavior = new Behavior(\"exampleWatermarkBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"watermark\")\n            .value(Map.ofEntries(\n                Map.entry(\"gravity\", \"SouthWest\"),\n                Map.entry(\"maxHeightOrWidth\", 20),\n                Map.entry(\"transparency\", 25),\n                Map.entry(\"dynamicText\", \"Confidential: For use by {{user}} only.\")\n            ))\n            .build());\n\n        var exampleRemoteServerMountBehavior = new Behavior(\"exampleRemoteServerMountBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"remote_server_mount\")\n            .value(Map.ofEntries(\n                Map.entry(\"remoteServerId\", 1),\n                Map.entry(\"remotePath\", \"\")\n            ))\n            .build());\n\n        var exampleSlackWebhookBehavior = new Behavior(\"exampleSlackWebhookBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"slack_webhook\")\n            .value(Map.ofEntries(\n                Map.entry(\"url\", \"https://mysite.com/url...\"),\n                Map.entry(\"username\", \"Files.com\"),\n                Map.entry(\"channel\", \"alerts\"),\n                Map.entry(\"iconEmoji\", \":robot_face:\"),\n                Map.entry(\"triggers\", Arrays.asList(                \n                    \"create\",\n                    \"read\",\n                    \"update\",\n                    \"destroy\",\n                    \"move\",\n                    \"copy\"))\n            ))\n            .build());\n\n        var exampleAutoDecryptBehavior = new Behavior(\"exampleAutoDecryptBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"auto_decrypt\")\n            .value(Map.ofEntries(\n                Map.entry(\"gpgKeyId\", 1),\n                Map.entry(\"gpgKeyIds\", Arrays.asList(1)),\n                Map.entry(\"algorithm\", \"PGP/GPG\"),\n                Map.entry(\"suffix\", \".gpg\"),\n                Map.entry(\"ignoreMdcError\", true),\n                Map.entry(\"gpgKeyPartnerId\", 1),\n                Map.entry(\"useAllPrivateKeys\", false)\n            ))\n            .build());\n\n        var exampleOverrideUploadFilenameBehavior = new Behavior(\"exampleOverrideUploadFilenameBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"override_upload_filename\")\n            .value(Map.ofEntries(\n                Map.entry(\"filenameOverridePattern\", \"%Fb_addition5%Fe\"),\n                Map.entry(\"filenameReplaceFrom\", null),\n                Map.entry(\"filenameReplaceTo\", null),\n                Map.entry(\"filenameRegexReplaceFrom\", null),\n                Map.entry(\"filenameRegexReplaceTo\", null),\n                Map.entry(\"timeZone\", \"Eastern Time (US \u0026 Canada)\")\n            ))\n            .build());\n\n        var examplePermissionFenceBehavior = new Behavior(\"examplePermissionFenceBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"permission_fence\")\n            .value(Map.of(\"fencedPermissions\", \"all\"))\n            .build());\n\n        var exampleLimitFilenameLengthBehavior = new Behavior(\"exampleLimitFilenameLengthBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"limit_filename_length\")\n            .value(Map.ofEntries(\n                Map.entry(\"maxLength\", 30),\n                Map.entry(\"shorten\", true)\n            ))\n            .build());\n\n        var exampleOrganizeFilesIntoSubfoldersBehavior = new Behavior(\"exampleOrganizeFilesIntoSubfoldersBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"organize_files_into_subfolders\")\n            .value(Map.ofEntries(\n                Map.entry(\"subfolderNameType\", \"regex, extension, created_at, provided_modified_at\"),\n                Map.entry(\"regex\", \"(?\u003c=\\\\-)(.*?)(?=\\\\.)\"),\n                Map.entry(\"strftimeFormat\", \"%Y-%m-%d\"),\n                Map.entry(\"timeZone\", \"Eastern Time (US \u0026 Canada)\"),\n                Map.entry(\"applyBehavior\", true)\n            ))\n            .build());\n\n        var exampleTeamsWebhookBehavior = new Behavior(\"exampleTeamsWebhookBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"teams_webhook\")\n            .value(Map.ofEntries(\n                Map.entry(\"url\", \"https://mysite.com/url...\"),\n                Map.entry(\"triggers\", Arrays.asList(                \n                    \"create\",\n                    \"read\",\n                    \"update\",\n                    \"destroy\",\n                    \"move\",\n                    \"copy\"))\n            ))\n            .build());\n\n        var exampleGooglePubSubBehavior = new Behavior(\"exampleGooglePubSubBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"google_pub_sub\")\n            .value(Map.ofEntries(\n                Map.entry(\"projectsTopics\", Arrays.asList(Map.ofEntries(\n                    Map.entry(\"projectId\", \"my-project-id\"),\n                    Map.entry(\"topicId\", \"my-topic-id\")\n                ))),\n                Map.entry(\"triggers\", Arrays.asList(                \n                    \"create\",\n                    \"read\",\n                    \"update\",\n                    \"destroy\",\n                    \"move\",\n                    \"copy\")),\n                Map.entry(\"googleCredentials\", Map.ofEntries(\n                    Map.entry(\"type\", \"service_account\"),\n                    Map.entry(\"projectId\", \"your-project-id\"),\n                    Map.entry(\"privateKeyId\", \"your-private-key-id\"),\n                    Map.entry(\"privateKey\", \"-----BEGIN PRIVATE KEY-----\\\\nMIIC...\"),\n                    Map.entry(\"clientEmail\", \"your-service-account@your-project-id.iam.gserviceaccount.com\"),\n                    Map.entry(\"clientId\", \"your-client-id\"),\n                    Map.entry(\"authUri\", \"https=\u003e//accounts.google.com/o/oauth2/auth\"),\n                    Map.entry(\"tokenUri\", \"https=\u003e//oauth2.googleapis.com/token\"),\n                    Map.entry(\"authProviderX509CertUrl\", \"https://www.googleapis.com/oauth2/v1/certs\"),\n                    Map.entry(\"clientX509CertUrl\", \"https://www.googleapis.com/robot/v1/metadata/x509/your-service-account%40your-project-id.iam.gserviceaccount.com\")\n                ))\n            ))\n            .build());\n\n        var exampleArchiveOverwrittenOrDeletedFilesBehavior = new Behavior(\"exampleArchiveOverwrittenOrDeletedFilesBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"archive_overwritten_or_deleted_files\")\n            .value(Map.of(\"archivePath\", \"/Archive\"))\n            .build());\n\n        var exampleAutoRecryptBehavior = new Behavior(\"exampleAutoRecryptBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"auto_recrypt\")\n            .value(Map.ofEntries(\n                Map.entry(\"decryptGpgKeyIds\", Arrays.asList(1)),\n                Map.entry(\"encryptGpgKeyIds\", Arrays.asList(1)),\n                Map.entry(\"decryptGpgKeyPartnerId\", 1),\n                Map.entry(\"encryptGpgKeyPartnerId\", 1),\n                Map.entry(\"ignoreMdcError\", true),\n                Map.entry(\"signingKeyId\", 1),\n                Map.entry(\"armor\", false)\n            ))\n            .build());\n\n        var exampleMetadataCategoryBehavior = new Behavior(\"exampleMetadataCategoryBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"metadata_category\")\n            .value(Map.of(\"metadataCategoryId\", 1))\n            .build());\n\n        var exampleAutoUnzipBehavior = new Behavior(\"exampleAutoUnzipBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"auto_unzip\")\n            .value(Map.ofEntries(\n                Map.entry(\"destinationPath\", \"/Uploads/Unzipped/%Y/%m/%d\"),\n                Map.entry(\"pathTimeZone\", \"Eastern Time (US \u0026 Canada)\")\n            ))\n            .build());\n\n        var exampleRemoteServerMetadataIndexBehavior = new Behavior(\"exampleRemoteServerMetadataIndexBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"remote_server_metadata_index\")\n            .value(Map.ofEntries(\n                Map.entry(\"intervalMinutes\", 1440),\n                Map.entry(\"initialScanCompleted\", false)\n            ))\n            .build());\n\n        var exampleMalwareScanningBehavior = new Behavior(\"exampleMalwareScanningBehavior\", BehaviorArgs.builder()\n            .path(\"path\")\n            .behavior(\"malware_scanning\")\n            .value(Map.ofEntries(\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleBehavior:\n    type: filescom:Behavior\n    name: example_behavior\n    properties:\n      value:\n        method: GET\n      disableParentFolderBehavior: false\n      recursive: false\n      name: example\n      description: example\n      path: path\n      behavior: webhook\n  exampleWebhookBehavior:\n    type: filescom:Behavior\n    name: example_webhook_behavior\n    properties:\n      path: path\n      behavior: webhook\n      value:\n        urls:\n          - https://mysite.com/url...\n        method: POST\n        triggers:\n          - create\n          - read\n          - update\n          - destroy\n          - move\n          - copy\n        triggeringFilenames:\n          - '*.pdf'\n          - '*so*.jpg'\n        excludeFilenames:\n          - '*.txt'\n          - '*wo*.png'\n        encoding: RAW\n        headers:\n          MY-HEADER: foo\n        body:\n          MY_BODY_PARAM: bar\n        verificationToken: tok12345\n        fileFormField: my_form_field\n        fileAsBody: my_file_body\n        useDedicatedIps: false\n  exampleFileExpirationBehavior:\n    type: filescom:Behavior\n    name: example_file_expiration_behavior\n    properties:\n      path: path\n      behavior: file_expiration\n      value:\n        daysToRetain: 30\n        deleteEmptyFolders: false\n  exampleAutoEncryptBehavior:\n    type: filescom:Behavior\n    name: example_auto_encrypt_behavior\n    properties:\n      path: path\n      behavior: auto_encrypt\n      value:\n        gpgKeyId: 1\n        gpgKeyIds:\n          - 1\n        algorithm: PGP/GPG\n        signingKeyId: 1\n        suffix: .gpg\n        armor: false\n        gpgKeyPartnerId: 1\n  exampleLockSubfoldersBehavior:\n    type: filescom:Behavior\n    name: example_lock_subfolders_behavior\n    properties:\n      path: path\n      behavior: lock_subfolders\n      value:\n        level: children_recursive\n  exampleStorageRegionBehavior:\n    type: filescom:Behavior\n    name: example_storage_region_behavior\n    properties:\n      path: path\n      behavior: storage_region\n      value: us-east-1\n  exampleServePubliclyBehavior:\n    type: filescom:Behavior\n    name: example_serve_publicly_behavior\n    properties:\n      path: path\n      behavior: serve_publicly\n      value:\n        key: public-photos\n        showIndex: true\n        forceDownload: true\n        corsEnabled: false\n        requireSiteAuthentication: false\n  exampleCreateUserFoldersBehavior:\n    type: filescom:Behavior\n    name: example_create_user_folders_behavior\n    properties:\n      path: path\n      behavior: create_user_folders\n      value:\n        permission: full\n        additionalPermission: bundle\n        existingUsers: true\n        groupId: 1\n        newFolderName: username\n        subfolders:\n          - in\n          - out\n  exampleInboxBehavior:\n    type: filescom:Behavior\n    name: example_inbox_behavior\n    properties:\n      path: path\n      behavior: inbox\n      value:\n        key: application-forms\n        dontSeparateSubmissionsByFolder: true\n        dontSeparateSubmissionsByFolderForInboundEmail: true\n        dontAllowFoldersInUploads: false\n        requireInboxRecipient: false\n        showOnLoginPage: true\n        title: Submit Your Job Applications Here\n        description: Thanks for coming to the Files.com Job Application Page\n        helpText: If you have trouble here, please contact your recruiter.\n        requireRegistration: true\n        password: foobar\n        pathTemplate: '{{name}}_{{ip}}'\n        pathTemplateTimeZone: Eastern Time (US \u0026 Canada)\n        enableInboundEmailAddress: true\n        notifySendersOnSuccessfulUploadsViaEmail: true\n        notifySendersOnSuccessfulUploadsViaWeb: true\n        allowWhitelisting: true\n        whitelist:\n          - john@test.com\n          - mydomain.com\n        disableWebUpload: true\n        captureEmailBodyFilename: _body.txt\n        requestedUploadSlots:\n          - name: Photo ID\n          - name: Proof of Address\n  exampleLimitFileExtensionsBehavior:\n    type: filescom:Behavior\n    name: example_limit_file_extensions_behavior\n    properties:\n      path: path\n      behavior: limit_file_extensions\n      value:\n        extensions:\n          - xls\n          - csv\n        mode: whitelist\n  exampleLimitFileRegexBehavior:\n    type: filescom:Behavior\n    name: example_limit_file_regex_behavior\n    properties:\n      path: path\n      behavior: limit_file_regex\n      value:\n        - /Document-.*/\n  exampleAmazonSnsBehavior:\n    type: filescom:Behavior\n    name: example_amazon_sns_behavior\n    properties:\n      path: path\n      behavior: amazon_sns\n      value:\n        arns:\n          - ARN\n        triggers:\n          - create\n          - read\n          - update\n          - destroy\n          - move\n          - copy\n        awsCredentials:\n          accessKeyId: ACCESS_KEY_ID\n          region: us-east-1\n          secretAccessKey: SECRET_ACCESS_KEY\n  exampleWatermarkBehavior:\n    type: filescom:Behavior\n    name: example_watermark_behavior\n    properties:\n      path: path\n      behavior: watermark\n      value:\n        gravity: SouthWest\n        maxHeightOrWidth: 20\n        transparency: 25\n        dynamicText: 'Confidential: For use by {{user}} only.'\n  exampleRemoteServerMountBehavior:\n    type: filescom:Behavior\n    name: example_remote_server_mount_behavior\n    properties:\n      path: path\n      behavior: remote_server_mount\n      value:\n        remoteServerId: 1\n        remotePath: \"\"\n  exampleSlackWebhookBehavior:\n    type: filescom:Behavior\n    name: example_slack_webhook_behavior\n    properties:\n      path: path\n      behavior: slack_webhook\n      value:\n        url: https://mysite.com/url...\n        username: Files.com\n        channel: alerts\n        iconEmoji: ':robot_face:'\n        triggers:\n          - create\n          - read\n          - update\n          - destroy\n          - move\n          - copy\n  exampleAutoDecryptBehavior:\n    type: filescom:Behavior\n    name: example_auto_decrypt_behavior\n    properties:\n      path: path\n      behavior: auto_decrypt\n      value:\n        gpgKeyId: 1\n        gpgKeyIds:\n          - 1\n        algorithm: PGP/GPG\n        suffix: .gpg\n        ignoreMdcError: true\n        gpgKeyPartnerId: 1\n        useAllPrivateKeys: false\n  exampleOverrideUploadFilenameBehavior:\n    type: filescom:Behavior\n    name: example_override_upload_filename_behavior\n    properties:\n      path: path\n      behavior: override_upload_filename\n      value:\n        filenameOverridePattern: '%Fb_addition5%Fe'\n        filenameReplaceFrom: null\n        filenameReplaceTo: null\n        filenameRegexReplaceFrom: null\n        filenameRegexReplaceTo: null\n        timeZone: Eastern Time (US \u0026 Canada)\n  examplePermissionFenceBehavior:\n    type: filescom:Behavior\n    name: example_permission_fence_behavior\n    properties:\n      path: path\n      behavior: permission_fence\n      value:\n        fencedPermissions: all\n  exampleLimitFilenameLengthBehavior:\n    type: filescom:Behavior\n    name: example_limit_filename_length_behavior\n    properties:\n      path: path\n      behavior: limit_filename_length\n      value:\n        maxLength: 30\n        shorten: true\n  exampleOrganizeFilesIntoSubfoldersBehavior:\n    type: filescom:Behavior\n    name: example_organize_files_into_subfolders_behavior\n    properties:\n      path: path\n      behavior: organize_files_into_subfolders\n      value:\n        subfolderNameType: regex, extension, created_at, provided_modified_at\n        regex: (?\u003c=\\-)(.*?)(?=\\.)\n        strftimeFormat: '%Y-%m-%d'\n        timeZone: Eastern Time (US \u0026 Canada)\n        applyBehavior: true\n  exampleTeamsWebhookBehavior:\n    type: filescom:Behavior\n    name: example_teams_webhook_behavior\n    properties:\n      path: path\n      behavior: teams_webhook\n      value:\n        url: https://mysite.com/url...\n        triggers:\n          - create\n          - read\n          - update\n          - destroy\n          - move\n          - copy\n  exampleGooglePubSubBehavior:\n    type: filescom:Behavior\n    name: example_google_pub_sub_behavior\n    properties:\n      path: path\n      behavior: google_pub_sub\n      value:\n        projectsTopics:\n          - projectId: my-project-id\n            topicId: my-topic-id\n        triggers:\n          - create\n          - read\n          - update\n          - destroy\n          - move\n          - copy\n        googleCredentials:\n          type: service_account\n          projectId: your-project-id\n          privateKeyId: your-private-key-id\n          privateKey: '-----BEGIN PRIVATE KEY-----\\nMIIC...'\n          clientEmail: your-service-account@your-project-id.iam.gserviceaccount.com\n          clientId: your-client-id\n          authUri: https=\u003e//accounts.google.com/o/oauth2/auth\n          tokenUri: https=\u003e//oauth2.googleapis.com/token\n          authProviderX509CertUrl: https://www.googleapis.com/oauth2/v1/certs\n          clientX509CertUrl: https://www.googleapis.com/robot/v1/metadata/x509/your-service-account%40your-project-id.iam.gserviceaccount.com\n  exampleArchiveOverwrittenOrDeletedFilesBehavior:\n    type: filescom:Behavior\n    name: example_archive_overwritten_or_deleted_files_behavior\n    properties:\n      path: path\n      behavior: archive_overwritten_or_deleted_files\n      value:\n        archivePath: /Archive\n  exampleAutoRecryptBehavior:\n    type: filescom:Behavior\n    name: example_auto_recrypt_behavior\n    properties:\n      path: path\n      behavior: auto_recrypt\n      value:\n        decryptGpgKeyIds:\n          - 1\n        encryptGpgKeyIds:\n          - 1\n        decryptGpgKeyPartnerId: 1\n        encryptGpgKeyPartnerId: 1\n        ignoreMdcError: true\n        signingKeyId: 1\n        armor: false\n  exampleMetadataCategoryBehavior:\n    type: filescom:Behavior\n    name: example_metadata_category_behavior\n    properties:\n      path: path\n      behavior: metadata_category\n      value:\n        metadataCategoryId: 1\n  exampleAutoUnzipBehavior:\n    type: filescom:Behavior\n    name: example_auto_unzip_behavior\n    properties:\n      path: path\n      behavior: auto_unzip\n      value:\n        destinationPath: /Uploads/Unzipped/%Y/%m/%d\n        pathTimeZone: Eastern Time (US \u0026 Canada)\n  exampleRemoteServerMetadataIndexBehavior:\n    type: filescom:Behavior\n    name: example_remote_server_metadata_index_behavior\n    properties:\n      path: path\n      behavior: remote_server_metadata_index\n      value:\n        intervalMinutes: 1440\n        initialScanCompleted: false\n  exampleMalwareScanningBehavior:\n    type: filescom:Behavior\n    name: example_malware_scanning_behavior\n    properties:\n      path: path\n      behavior: malware_scanning\n      value: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nBehaviors can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/behavior:Behavior example_behavior 1\n```\n\n",
            "properties": {
                "attachmentUrl": {
                    "type": "string",
                    "description": "URL for attached file\n"
                },
                "behavior": {
                    "type": "string",
                    "description": "Behavior type.\n",
                    "language": {
                        "csharp": {
                            "name": "BehaviorType"
                        }
                    }
                },
                "description": {
                    "type": "string",
                    "description": "Description for this behavior.\n"
                },
                "disableParentFolderBehavior": {
                    "type": "boolean",
                    "description": "If true, the parent folder's behavior will be disabled for this folder and its children.\n"
                },
                "inherited": {
                    "type": "boolean",
                    "description": "If true, this behavior is inherited from a higher scope rather than owned by the requested workspace.\n"
                },
                "managed": {
                    "type": "boolean",
                    "description": "If true, this behavior is controlled by a parent-site policy and cannot be modified locally.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name for this behavior.\n"
                },
                "path": {
                    "type": "string",
                    "description": "Folder path.  Note that Behavior paths cannot be updated once initially set.  You will need to remove and re-create the behavior on the new path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                },
                "publicHostingUrl": {
                    "type": "string",
                    "description": "Public URL for this publicly hosted folder when the `Serve Publicly` behavior has a key configured.  When a Custom Domain with \u003cspan pulumi-lang-nodejs=\"`publicHosting`\" pulumi-lang-dotnet=\"`PublicHosting`\" pulumi-lang-go=\"`publicHosting`\" pulumi-lang-python=\"`public_hosting`\" pulumi-lang-yaml=\"`publicHosting`\" pulumi-lang-java=\"`publicHosting`\" pulumi-lang-hcl=\"`public_hosting`\"\u003e`publicHosting`\u003c/span\u003e destination is attached to this behavior, the URL uses that domain.  Otherwise it uses the site's `subdomain.hosted-by-files.com` host.\n"
                },
                "recursive": {
                    "type": "boolean",
                    "description": "Whether this behavior is recursive for this record. \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\" pulumi-lang-hcl=\"`always`\"\u003e`always`\u003c/span\u003e behaviors are always \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\" pulumi-lang-hcl=\"`never`\"\u003e`never`\u003c/span\u003e behaviors are always \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`sometimes`\" pulumi-lang-dotnet=\"`Sometimes`\" pulumi-lang-go=\"`sometimes`\" pulumi-lang-python=\"`sometimes`\" pulumi-lang-yaml=\"`sometimes`\" pulumi-lang-java=\"`sometimes`\" pulumi-lang-hcl=\"`sometimes`\"\u003e`sometimes`\u003c/span\u003e behaviors may be either value.\n"
                },
                "rootBehaviorSiteAdminOnly": {
                    "type": "boolean",
                    "description": "If true, this behavior may only be modified by a site admin because it is at the site root or disables a root behavior.\n"
                },
                "value": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Settings for this behavior.  See the section above for an example value to provide here.  Formatting is different for each Behavior type.  Write this property as nested JSON.  A JSON-encoded string creates the behavior, and then every later plan fails.  The bridge cannot change the runtime type of a Dynamic property (pulumi/pulumi-terraform-bridge#3122).\n"
                }
            },
            "required": [
                "attachmentUrl",
                "behavior",
                "description",
                "disableParentFolderBehavior",
                "inherited",
                "managed",
                "name",
                "path",
                "publicHostingUrl",
                "recursive",
                "rootBehaviorSiteAdminOnly",
                "value"
            ],
            "inputProperties": {
                "behavior": {
                    "type": "string",
                    "description": "Behavior type.\n",
                    "language": {
                        "csharp": {
                            "name": "BehaviorType"
                        }
                    },
                    "willReplaceOnChanges": true
                },
                "description": {
                    "type": "string",
                    "description": "Description for this behavior.\n"
                },
                "disableParentFolderBehavior": {
                    "type": "boolean",
                    "description": "If true, the parent folder's behavior will be disabled for this folder and its children.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name for this behavior.\n"
                },
                "path": {
                    "type": "string",
                    "description": "Folder path.  Note that Behavior paths cannot be updated once initially set.  You will need to remove and re-create the behavior on the new path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n",
                    "willReplaceOnChanges": true
                },
                "recursive": {
                    "type": "boolean",
                    "description": "Whether this behavior is recursive for this record. \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\" pulumi-lang-hcl=\"`always`\"\u003e`always`\u003c/span\u003e behaviors are always \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\" pulumi-lang-hcl=\"`never`\"\u003e`never`\u003c/span\u003e behaviors are always \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`sometimes`\" pulumi-lang-dotnet=\"`Sometimes`\" pulumi-lang-go=\"`sometimes`\" pulumi-lang-python=\"`sometimes`\" pulumi-lang-yaml=\"`sometimes`\" pulumi-lang-java=\"`sometimes`\" pulumi-lang-hcl=\"`sometimes`\"\u003e`sometimes`\u003c/span\u003e behaviors may be either value.\n"
                },
                "value": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Settings for this behavior.  See the section above for an example value to provide here.  Formatting is different for each Behavior type.  Write this property as nested JSON.  A JSON-encoded string creates the behavior, and then every later plan fails.  The bridge cannot change the runtime type of a Dynamic property (pulumi/pulumi-terraform-bridge#3122).\n"
                }
            },
            "requiredInputs": [
                "behavior",
                "path"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Behavior resources.\n",
                "properties": {
                    "attachmentUrl": {
                        "type": "string",
                        "description": "URL for attached file\n"
                    },
                    "behavior": {
                        "type": "string",
                        "description": "Behavior type.\n",
                        "language": {
                            "csharp": {
                                "name": "BehaviorType"
                            }
                        }
                    },
                    "description": {
                        "type": "string",
                        "description": "Description for this behavior.\n"
                    },
                    "disableParentFolderBehavior": {
                        "type": "boolean",
                        "description": "If true, the parent folder's behavior will be disabled for this folder and its children.\n"
                    },
                    "inherited": {
                        "type": "boolean",
                        "description": "If true, this behavior is inherited from a higher scope rather than owned by the requested workspace.\n"
                    },
                    "managed": {
                        "type": "boolean",
                        "description": "If true, this behavior is controlled by a parent-site policy and cannot be modified locally.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name for this behavior.\n"
                    },
                    "path": {
                        "type": "string",
                        "description": "Folder path.  Note that Behavior paths cannot be updated once initially set.  You will need to remove and re-create the behavior on the new path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                    },
                    "publicHostingUrl": {
                        "type": "string",
                        "description": "Public URL for this publicly hosted folder when the `Serve Publicly` behavior has a key configured.  When a Custom Domain with \u003cspan pulumi-lang-nodejs=\"`publicHosting`\" pulumi-lang-dotnet=\"`PublicHosting`\" pulumi-lang-go=\"`publicHosting`\" pulumi-lang-python=\"`public_hosting`\" pulumi-lang-yaml=\"`publicHosting`\" pulumi-lang-java=\"`publicHosting`\" pulumi-lang-hcl=\"`public_hosting`\"\u003e`publicHosting`\u003c/span\u003e destination is attached to this behavior, the URL uses that domain.  Otherwise it uses the site's `subdomain.hosted-by-files.com` host.\n"
                    },
                    "recursive": {
                        "type": "boolean",
                        "description": "Whether this behavior is recursive for this record. \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\" pulumi-lang-hcl=\"`always`\"\u003e`always`\u003c/span\u003e behaviors are always \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\" pulumi-lang-hcl=\"`never`\"\u003e`never`\u003c/span\u003e behaviors are always \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`sometimes`\" pulumi-lang-dotnet=\"`Sometimes`\" pulumi-lang-go=\"`sometimes`\" pulumi-lang-python=\"`sometimes`\" pulumi-lang-yaml=\"`sometimes`\" pulumi-lang-java=\"`sometimes`\" pulumi-lang-hcl=\"`sometimes`\"\u003e`sometimes`\u003c/span\u003e behaviors may be either value.\n"
                    },
                    "rootBehaviorSiteAdminOnly": {
                        "type": "boolean",
                        "description": "If true, this behavior may only be modified by a site admin because it is at the site root or disables a root behavior.\n"
                    },
                    "value": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Settings for this behavior.  See the section above for an example value to provide here.  Formatting is different for each Behavior type.  Write this property as nested JSON.  A JSON-encoded string creates the behavior, and then every later plan fails.  The bridge cannot change the runtime type of a Dynamic property (pulumi/pulumi-terraform-bridge#3122).\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/bundle:Bundle": {
            "description": "A Bundle is the API/SDK term for the feature called Share Links in the web interface.\n\nThe API provides the full set of actions related to Share Links, including sending them via E-Mail.\n\n\n\nPlease note that we very closely monitor the E-Mailing feature and any abuse will result in disabling of your site.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleBundle = new filescom.Bundle(\"example_bundle\", {\n    userId: 1,\n    paths: [\"file.txt\"],\n    password: \"Password\",\n    bypassesSiteExpirationRules: true,\n    formFieldSetId: 1,\n    createSnapshot: false,\n    dontSeparateSubmissionsByFolder: true,\n    expiresAt: \"2000-01-01T01:00:00Z\",\n    finalizeSnapshot: false,\n    maxUses: 1,\n    groupId: 1,\n    internalName: \"Quarterly reports\",\n    description: \"The public description of the bundle.\",\n    note: \"The internal note on the bundle.\",\n    code: \"abc123\",\n    pathTemplate: \"{{name}}_{{ip}}\",\n    pathTemplateTimeZone: \"Eastern Time (US \u0026 Canada)\",\n    permissions: \"read\",\n    requireRegistration: false,\n    clickwrapId: 1,\n    inboxId: 1,\n    requireShareRecipient: false,\n    sendOneTimePasswordToRecipientAtRegistration: true,\n    sendEmailReceiptToUploader: true,\n    skipEmail: true,\n    skipName: true,\n    skipCompany: true,\n    startAccessOnDate: \"2000-01-01T01:00:00Z\",\n    snapshotId: 1,\n    workspaceId: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_bundle = filescom.Bundle(\"example_bundle\",\n    user_id=1,\n    paths=[\"file.txt\"],\n    password=\"Password\",\n    bypasses_site_expiration_rules=True,\n    form_field_set_id=1,\n    create_snapshot=False,\n    dont_separate_submissions_by_folder=True,\n    expires_at=\"2000-01-01T01:00:00Z\",\n    finalize_snapshot=False,\n    max_uses=1,\n    group_id=1,\n    internal_name=\"Quarterly reports\",\n    description=\"The public description of the bundle.\",\n    note=\"The internal note on the bundle.\",\n    code=\"abc123\",\n    path_template=\"{{name}}_{{ip}}\",\n    path_template_time_zone=\"Eastern Time (US \u0026 Canada)\",\n    permissions=\"read\",\n    require_registration=False,\n    clickwrap_id=1,\n    inbox_id=1,\n    require_share_recipient=False,\n    send_one_time_password_to_recipient_at_registration=True,\n    send_email_receipt_to_uploader=True,\n    skip_email=True,\n    skip_name=True,\n    skip_company=True,\n    start_access_on_date=\"2000-01-01T01:00:00Z\",\n    snapshot_id=1,\n    workspace_id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleBundle = new Filescom.Bundle(\"example_bundle\", new()\n    {\n        UserId = 1,\n        Paths = new[]\n        {\n            \"file.txt\",\n        },\n        Password = \"Password\",\n        BypassesSiteExpirationRules = true,\n        FormFieldSetId = 1,\n        CreateSnapshot = false,\n        DontSeparateSubmissionsByFolder = true,\n        ExpiresAt = \"2000-01-01T01:00:00Z\",\n        FinalizeSnapshot = false,\n        MaxUses = 1,\n        GroupId = 1,\n        InternalName = \"Quarterly reports\",\n        Description = \"The public description of the bundle.\",\n        Note = \"The internal note on the bundle.\",\n        Code = \"abc123\",\n        PathTemplate = \"{{name}}_{{ip}}\",\n        PathTemplateTimeZone = \"Eastern Time (US \u0026 Canada)\",\n        Permissions = \"read\",\n        RequireRegistration = false,\n        ClickwrapId = 1,\n        InboxId = 1,\n        RequireShareRecipient = false,\n        SendOneTimePasswordToRecipientAtRegistration = true,\n        SendEmailReceiptToUploader = true,\n        SkipEmail = true,\n        SkipName = true,\n        SkipCompany = true,\n        StartAccessOnDate = \"2000-01-01T01:00:00Z\",\n        SnapshotId = 1,\n        WorkspaceId = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewBundle(ctx, \"example_bundle\", \u0026filescom.BundleArgs{\n\t\t\tUserId: pulumi.Int(1),\n\t\t\tPaths: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"file.txt\"),\n\t\t\t},\n\t\t\tPassword:                        pulumi.String(\"Password\"),\n\t\t\tBypassesSiteExpirationRules:     pulumi.Bool(true),\n\t\t\tFormFieldSetId:                  pulumi.Int(1),\n\t\t\tCreateSnapshot:                  pulumi.Bool(false),\n\t\t\tDontSeparateSubmissionsByFolder: pulumi.Bool(true),\n\t\t\tExpiresAt:                       pulumi.String(\"2000-01-01T01:00:00Z\"),\n\t\t\tFinalizeSnapshot:                pulumi.Bool(false),\n\t\t\tMaxUses:                         pulumi.Int(1),\n\t\t\tGroupId:                         pulumi.Int(1),\n\t\t\tInternalName:                    pulumi.String(\"Quarterly reports\"),\n\t\t\tDescription:                     pulumi.String(\"The public description of the bundle.\"),\n\t\t\tNote:                            pulumi.String(\"The internal note on the bundle.\"),\n\t\t\tCode:                            pulumi.String(\"abc123\"),\n\t\t\tPathTemplate:                    pulumi.String(\"{{name}}_{{ip}}\"),\n\t\t\tPathTemplateTimeZone:            pulumi.String(\"Eastern Time (US \u0026 Canada)\"),\n\t\t\tPermissions:                     pulumi.String(\"read\"),\n\t\t\tRequireRegistration:             pulumi.Bool(false),\n\t\t\tClickwrapId:                     pulumi.Int(1),\n\t\t\tInboxId:                         pulumi.Int(1),\n\t\t\tRequireShareRecipient:           pulumi.Bool(false),\n\t\t\tSendOneTimePasswordToRecipientAtRegistration: pulumi.Bool(true),\n\t\t\tSendEmailReceiptToUploader:                   pulumi.Bool(true),\n\t\t\tSkipEmail:                                    pulumi.Bool(true),\n\t\t\tSkipName:                                     pulumi.Bool(true),\n\t\t\tSkipCompany:                                  pulumi.Bool(true),\n\t\t\tStartAccessOnDate:                            pulumi.String(\"2000-01-01T01:00:00Z\"),\n\t\t\tSnapshotId:                                   pulumi.Int(1),\n\t\t\tWorkspaceId:                                  pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_bundle\" \"example_bundle\" {\n  user_id                                             = 1\n  paths                                               = [\"file.txt\"]\n  password                                            = \"Password\"\n  bypasses_site_expiration_rules                      = true\n  form_field_set_id                                   = 1\n  create_snapshot                                     = false\n  dont_separate_submissions_by_folder                 = true\n  expires_at                                          = \"2000-01-01T01:00:00Z\"\n  finalize_snapshot                                   = false\n  max_uses                                            = 1\n  group_id                                            = 1\n  internal_name                                       = \"Quarterly reports\"\n  description                                         = \"The public description of the bundle.\"\n  note                                                = \"The internal note on the bundle.\"\n  code                                                = \"abc123\"\n  path_template                                       = \"{{name}}_{{ip}}\"\n  path_template_time_zone                             = \"Eastern Time (US \u0026 Canada)\"\n  permissions                                         = \"read\"\n  require_registration                                = false\n  clickwrap_id                                        = 1\n  inbox_id                                            = 1\n  require_share_recipient                             = false\n  send_one_time_password_to_recipient_at_registration = true\n  send_email_receipt_to_uploader                      = true\n  skip_email                                          = true\n  skip_name                                           = true\n  skip_company                                        = true\n  start_access_on_date                                = \"2000-01-01T01:00:00Z\"\n  snapshot_id                                         = 1\n  workspace_id                                        = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.Bundle;\nimport com.pulumi.filescom.BundleArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleBundle = new Bundle(\"exampleBundle\", BundleArgs.builder()\n            .userId(1)\n            .paths(\"file.txt\")\n            .password(\"Password\")\n            .bypassesSiteExpirationRules(true)\n            .formFieldSetId(1)\n            .createSnapshot(false)\n            .dontSeparateSubmissionsByFolder(true)\n            .expiresAt(\"2000-01-01T01:00:00Z\")\n            .finalizeSnapshot(false)\n            .maxUses(1)\n            .groupId(1)\n            .internalName(\"Quarterly reports\")\n            .description(\"The public description of the bundle.\")\n            .note(\"The internal note on the bundle.\")\n            .code(\"abc123\")\n            .pathTemplate(\"{{name}}_{{ip}}\")\n            .pathTemplateTimeZone(\"Eastern Time (US \u0026 Canada)\")\n            .permissions(\"read\")\n            .requireRegistration(false)\n            .clickwrapId(1)\n            .inboxId(1)\n            .requireShareRecipient(false)\n            .sendOneTimePasswordToRecipientAtRegistration(true)\n            .sendEmailReceiptToUploader(true)\n            .skipEmail(true)\n            .skipName(true)\n            .skipCompany(true)\n            .startAccessOnDate(\"2000-01-01T01:00:00Z\")\n            .snapshotId(1)\n            .workspaceId(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleBundle:\n    type: filescom:Bundle\n    name: example_bundle\n    properties:\n      userId: 1\n      paths:\n        - file.txt\n      password: Password\n      bypassesSiteExpirationRules: true\n      formFieldSetId: 1\n      createSnapshot: false\n      dontSeparateSubmissionsByFolder: true\n      expiresAt: 2000-01-01T01:00:00Z\n      finalizeSnapshot: false\n      maxUses: 1\n      groupId: 1\n      internalName: Quarterly reports\n      description: The public description of the bundle.\n      note: The internal note on the bundle.\n      code: abc123\n      pathTemplate: '{{name}}_{{ip}}'\n      pathTemplateTimeZone: Eastern Time (US \u0026 Canada)\n      permissions: read\n      requireRegistration: false\n      clickwrapId: 1\n      inboxId: 1\n      requireShareRecipient: false\n      sendOneTimePasswordToRecipientAtRegistration: true\n      sendEmailReceiptToUploader: true\n      skipEmail: true\n      skipName: true\n      skipCompany: true\n      startAccessOnDate: 2000-01-01T01:00:00Z\n      snapshotId: 1\n      workspaceId: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nBundles can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/bundle:Bundle example_bundle 1\n```\n\n",
            "properties": {
                "bundlepaths": {
                    "$ref": "pulumi.json#/Any",
                    "description": "A list of bundlepaths in this bundle.  For performance reasons, this is not provided when listing bundles."
                },
                "bypassesSiteExpirationRules": {
                    "type": "boolean",
                    "description": "If true, this Share Link bypasses site-wide expiration rules. Only site admins may set this."
                },
                "clickwrapBody": {
                    "type": "string",
                    "description": "Legal text that must be agreed to prior to accessing Bundle."
                },
                "clickwrapId": {
                    "type": "integer",
                    "description": "ID of the clickwrap to use with this bundle."
                },
                "code": {
                    "type": "string",
                    "description": "Bundle code.  This code forms the end part of the Public URL."
                },
                "colorLeft": {
                    "type": "string",
                    "description": "Page link and button color"
                },
                "colorLink": {
                    "type": "string",
                    "description": "Top bar link color"
                },
                "colorText": {
                    "type": "string",
                    "description": "Page link and button color"
                },
                "colorTop": {
                    "type": "string",
                    "description": "Top bar background color"
                },
                "colorTopText": {
                    "type": "string",
                    "description": "Top bar text color"
                },
                "createSnapshot": {
                    "type": "boolean",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nIf true, create a snapshot of this bundle's contents.",
                    "secret": true
                },
                "createdAt": {
                    "type": "string",
                    "description": "Bundle created at date/time"
                },
                "deleted": {
                    "type": "boolean",
                    "description": "Indicates if the bundle has been deleted."
                },
                "deletedAt": {
                    "type": "string",
                    "description": "Bundle deleted at date/time"
                },
                "description": {
                    "type": "string",
                    "description": "Public description"
                },
                "dontAllowFoldersInUploads": {
                    "type": "boolean",
                    "description": "Should folder uploads be prevented?"
                },
                "dontSeparateSubmissionsByFolder": {
                    "type": "boolean",
                    "description": "Do not create subfolders for files uploaded to this share. Note: there are subtle security pitfalls with allowing anonymous uploads from multiple users to live in the same folder. We strongly discourage use of this option unless absolutely required."
                },
                "expiresAt": {
                    "type": "string",
                    "description": "Bundle expiration date/time"
                },
                "finalizeSnapshot": {
                    "type": "boolean",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nIf true, finalize the snapshot of this bundle's contents. Note that \u003cspan pulumi-lang-nodejs=\"`createSnapshot`\" pulumi-lang-dotnet=\"`CreateSnapshot`\" pulumi-lang-go=\"`createSnapshot`\" pulumi-lang-python=\"`create_snapshot`\" pulumi-lang-yaml=\"`createSnapshot`\" pulumi-lang-java=\"`createSnapshot`\" pulumi-lang-hcl=\"`create_snapshot`\"\u003e`createSnapshot`\u003c/span\u003e must also be true.",
                    "secret": true
                },
                "formFieldSet": {
                    "type": "string",
                    "description": "Custom Form to use"
                },
                "formFieldSetId": {
                    "type": "integer",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nId of Form Field Set to use with this bundle",
                    "secret": true
                },
                "groupId": {
                    "type": "integer",
                    "description": "Owning group ID. If set, members of this group can view, edit, and share this Share Link."
                },
                "hasInbox": {
                    "type": "boolean",
                    "description": "Does this bundle have an associated inbox?"
                },
                "inboxId": {
                    "type": "integer",
                    "description": "ID of the associated inbox, if available."
                },
                "internalName": {
                    "type": "string",
                    "description": "Internal name for identifying this Share Link."
                },
                "maxUses": {
                    "type": "integer",
                    "description": "Maximum number of times bundle can be accessed"
                },
                "note": {
                    "type": "string",
                    "description": "Bundle internal note"
                },
                "password": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPassword for this bundle.",
                    "secret": true
                },
                "passwordProtected": {
                    "type": "boolean",
                    "description": "Is this bundle password protected?"
                },
                "pathTemplate": {
                    "type": "string",
                    "description": "Template for creating submission subfolders. Can use the uploader's name, email address, ip, company, \u003cspan pulumi-lang-nodejs=\"`strftime`\" pulumi-lang-dotnet=\"`Strftime`\" pulumi-lang-go=\"`strftime`\" pulumi-lang-python=\"`strftime`\" pulumi-lang-yaml=\"`strftime`\" pulumi-lang-java=\"`strftime`\" pulumi-lang-hcl=\"`strftime`\"\u003e`strftime`\u003c/span\u003e directives, and any custom form data."
                },
                "pathTemplateTimeZone": {
                    "type": "string",
                    "description": "Timezone to use when rendering timestamps in path templates."
                },
                "paths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "A list of paths in this bundle.  For performance reasons, this is not provided when listing bundles.\n"
                },
                "permissions": {
                    "type": "string",
                    "description": "Permissions that apply to Folders in this Share Link."
                },
                "previewOnly": {
                    "type": "boolean"
                },
                "requestedUploadSlots": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Upload slots requested by the associated Inbox. Each slot contains a name used as its label and destination subfolder name."
                },
                "requireLogout": {
                    "type": "boolean",
                    "description": "If true, we will hide the 'Remember Me' box on the Bundle registration page, requiring that the user logout and log back in every time they visit the page."
                },
                "requireRegistration": {
                    "type": "boolean",
                    "description": "Show a registration page that captures the downloader's name and email address?"
                },
                "requireShareRecipient": {
                    "type": "boolean",
                    "description": "Only allow access to recipients who have explicitly received the share via an email sent through the Files.com UI?"
                },
                "sendEmailReceiptToUploader": {
                    "type": "boolean",
                    "description": "Send delivery receipt to the uploader. Note: For writable share only"
                },
                "sendOneTimePasswordToRecipientAtRegistration": {
                    "type": "boolean",
                    "description": "If true,\u003cspan pulumi-lang-nodejs=\" requireShareRecipient \" pulumi-lang-dotnet=\" RequireShareRecipient \" pulumi-lang-go=\" requireShareRecipient \" pulumi-lang-python=\" require_share_recipient \" pulumi-lang-yaml=\" requireShareRecipient \" pulumi-lang-java=\" requireShareRecipient \" pulumi-lang-hcl=\" require_share_recipient \"\u003e requireShareRecipient \u003c/span\u003ebundles will send a one-time password to the recipient when they register. Cannot be enabled if the bundle has a password set."
                },
                "skipCompany": {
                    "type": "boolean",
                    "description": "BundleRegistrations can be saved without providing company?"
                },
                "skipEmail": {
                    "type": "boolean",
                    "description": "BundleRegistrations can be saved without providing email?"
                },
                "skipName": {
                    "type": "boolean",
                    "description": "BundleRegistrations can be saved without providing name?"
                },
                "snapshotId": {
                    "type": "integer",
                    "description": "ID of the snapshot containing this bundle's contents."
                },
                "startAccessOnDate": {
                    "type": "string",
                    "description": "Date when share will start to be accessible. If \u003cspan pulumi-lang-nodejs=\"`nil`\" pulumi-lang-dotnet=\"`Nil`\" pulumi-lang-go=\"`nil`\" pulumi-lang-python=\"`nil`\" pulumi-lang-yaml=\"`nil`\" pulumi-lang-java=\"`nil`\" pulumi-lang-hcl=\"`nil`\"\u003e`nil`\u003c/span\u003e access granted right after create."
                },
                "url": {
                    "type": "string",
                    "description": "Public URL of Share Link"
                },
                "userId": {
                    "type": "integer",
                    "description": "Bundle creator user ID"
                },
                "username": {
                    "type": "string",
                    "description": "Bundle creator username"
                },
                "watermarkAttachment": {
                    "type": "string",
                    "description": "Preview watermark image applied to all bundle items."
                },
                "watermarkValue": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Preview watermark settings applied to all bundle items. Uses the same keys as Behavior.value"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace."
                }
            },
            "required": [
                "bundlepaths",
                "bypassesSiteExpirationRules",
                "clickwrapBody",
                "clickwrapId",
                "code",
                "colorLeft",
                "colorLink",
                "colorText",
                "colorTop",
                "colorTopText",
                "createdAt",
                "deleted",
                "deletedAt",
                "description",
                "dontAllowFoldersInUploads",
                "dontSeparateSubmissionsByFolder",
                "expiresAt",
                "formFieldSet",
                "groupId",
                "hasInbox",
                "inboxId",
                "internalName",
                "maxUses",
                "note",
                "passwordProtected",
                "pathTemplate",
                "pathTemplateTimeZone",
                "paths",
                "permissions",
                "previewOnly",
                "requestedUploadSlots",
                "requireLogout",
                "requireRegistration",
                "requireShareRecipient",
                "sendEmailReceiptToUploader",
                "sendOneTimePasswordToRecipientAtRegistration",
                "skipCompany",
                "skipEmail",
                "skipName",
                "snapshotId",
                "startAccessOnDate",
                "url",
                "userId",
                "username",
                "watermarkAttachment",
                "watermarkValue",
                "workspaceId"
            ],
            "inputProperties": {
                "bypassesSiteExpirationRules": {
                    "type": "boolean",
                    "description": "If true, this Share Link bypasses site-wide expiration rules. Only site admins may set this."
                },
                "clickwrapId": {
                    "type": "integer",
                    "description": "ID of the clickwrap to use with this bundle."
                },
                "code": {
                    "type": "string",
                    "description": "Bundle code.  This code forms the end part of the Public URL."
                },
                "createSnapshot": {
                    "type": "boolean",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nIf true, create a snapshot of this bundle's contents.",
                    "secret": true
                },
                "description": {
                    "type": "string",
                    "description": "Public description"
                },
                "dontSeparateSubmissionsByFolder": {
                    "type": "boolean",
                    "description": "Do not create subfolders for files uploaded to this share. Note: there are subtle security pitfalls with allowing anonymous uploads from multiple users to live in the same folder. We strongly discourage use of this option unless absolutely required."
                },
                "expiresAt": {
                    "type": "string",
                    "description": "Bundle expiration date/time"
                },
                "finalizeSnapshot": {
                    "type": "boolean",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nIf true, finalize the snapshot of this bundle's contents. Note that \u003cspan pulumi-lang-nodejs=\"`createSnapshot`\" pulumi-lang-dotnet=\"`CreateSnapshot`\" pulumi-lang-go=\"`createSnapshot`\" pulumi-lang-python=\"`create_snapshot`\" pulumi-lang-yaml=\"`createSnapshot`\" pulumi-lang-java=\"`createSnapshot`\" pulumi-lang-hcl=\"`create_snapshot`\"\u003e`createSnapshot`\u003c/span\u003e must also be true.",
                    "secret": true
                },
                "formFieldSetId": {
                    "type": "integer",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nId of Form Field Set to use with this bundle",
                    "secret": true
                },
                "groupId": {
                    "type": "integer",
                    "description": "Owning group ID. If set, members of this group can view, edit, and share this Share Link."
                },
                "inboxId": {
                    "type": "integer",
                    "description": "ID of the associated inbox, if available."
                },
                "internalName": {
                    "type": "string",
                    "description": "Internal name for identifying this Share Link."
                },
                "maxUses": {
                    "type": "integer",
                    "description": "Maximum number of times bundle can be accessed"
                },
                "note": {
                    "type": "string",
                    "description": "Bundle internal note"
                },
                "password": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPassword for this bundle.",
                    "secret": true
                },
                "pathTemplate": {
                    "type": "string",
                    "description": "Template for creating submission subfolders. Can use the uploader's name, email address, ip, company, \u003cspan pulumi-lang-nodejs=\"`strftime`\" pulumi-lang-dotnet=\"`Strftime`\" pulumi-lang-go=\"`strftime`\" pulumi-lang-python=\"`strftime`\" pulumi-lang-yaml=\"`strftime`\" pulumi-lang-java=\"`strftime`\" pulumi-lang-hcl=\"`strftime`\"\u003e`strftime`\u003c/span\u003e directives, and any custom form data."
                },
                "pathTemplateTimeZone": {
                    "type": "string",
                    "description": "Timezone to use when rendering timestamps in path templates."
                },
                "paths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "A list of paths in this bundle.  For performance reasons, this is not provided when listing bundles.\n"
                },
                "permissions": {
                    "type": "string",
                    "description": "Permissions that apply to Folders in this Share Link."
                },
                "requireRegistration": {
                    "type": "boolean",
                    "description": "Show a registration page that captures the downloader's name and email address?"
                },
                "requireShareRecipient": {
                    "type": "boolean",
                    "description": "Only allow access to recipients who have explicitly received the share via an email sent through the Files.com UI?"
                },
                "sendEmailReceiptToUploader": {
                    "type": "boolean",
                    "description": "Send delivery receipt to the uploader. Note: For writable share only"
                },
                "sendOneTimePasswordToRecipientAtRegistration": {
                    "type": "boolean",
                    "description": "If true,\u003cspan pulumi-lang-nodejs=\" requireShareRecipient \" pulumi-lang-dotnet=\" RequireShareRecipient \" pulumi-lang-go=\" requireShareRecipient \" pulumi-lang-python=\" require_share_recipient \" pulumi-lang-yaml=\" requireShareRecipient \" pulumi-lang-java=\" requireShareRecipient \" pulumi-lang-hcl=\" require_share_recipient \"\u003e requireShareRecipient \u003c/span\u003ebundles will send a one-time password to the recipient when they register. Cannot be enabled if the bundle has a password set."
                },
                "skipCompany": {
                    "type": "boolean",
                    "description": "BundleRegistrations can be saved without providing company?"
                },
                "skipEmail": {
                    "type": "boolean",
                    "description": "BundleRegistrations can be saved without providing email?"
                },
                "skipName": {
                    "type": "boolean",
                    "description": "BundleRegistrations can be saved without providing name?"
                },
                "snapshotId": {
                    "type": "integer",
                    "description": "ID of the snapshot containing this bundle's contents.",
                    "willReplaceOnChanges": true
                },
                "startAccessOnDate": {
                    "type": "string",
                    "description": "Date when share will start to be accessible. If \u003cspan pulumi-lang-nodejs=\"`nil`\" pulumi-lang-dotnet=\"`Nil`\" pulumi-lang-go=\"`nil`\" pulumi-lang-python=\"`nil`\" pulumi-lang-yaml=\"`nil`\" pulumi-lang-java=\"`nil`\" pulumi-lang-hcl=\"`nil`\"\u003e`nil`\u003c/span\u003e access granted right after create."
                },
                "userId": {
                    "type": "integer",
                    "description": "Bundle creator user ID"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace."
                }
            },
            "requiredInputs": [
                "paths"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Bundle resources.\n",
                "properties": {
                    "bundlepaths": {
                        "$ref": "pulumi.json#/Any",
                        "description": "A list of bundlepaths in this bundle.  For performance reasons, this is not provided when listing bundles."
                    },
                    "bypassesSiteExpirationRules": {
                        "type": "boolean",
                        "description": "If true, this Share Link bypasses site-wide expiration rules. Only site admins may set this."
                    },
                    "clickwrapBody": {
                        "type": "string",
                        "description": "Legal text that must be agreed to prior to accessing Bundle."
                    },
                    "clickwrapId": {
                        "type": "integer",
                        "description": "ID of the clickwrap to use with this bundle."
                    },
                    "code": {
                        "type": "string",
                        "description": "Bundle code.  This code forms the end part of the Public URL."
                    },
                    "colorLeft": {
                        "type": "string",
                        "description": "Page link and button color"
                    },
                    "colorLink": {
                        "type": "string",
                        "description": "Top bar link color"
                    },
                    "colorText": {
                        "type": "string",
                        "description": "Page link and button color"
                    },
                    "colorTop": {
                        "type": "string",
                        "description": "Top bar background color"
                    },
                    "colorTopText": {
                        "type": "string",
                        "description": "Top bar text color"
                    },
                    "createSnapshot": {
                        "type": "boolean",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nIf true, create a snapshot of this bundle's contents.",
                        "secret": true
                    },
                    "createdAt": {
                        "type": "string",
                        "description": "Bundle created at date/time"
                    },
                    "deleted": {
                        "type": "boolean",
                        "description": "Indicates if the bundle has been deleted."
                    },
                    "deletedAt": {
                        "type": "string",
                        "description": "Bundle deleted at date/time"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description"
                    },
                    "dontAllowFoldersInUploads": {
                        "type": "boolean",
                        "description": "Should folder uploads be prevented?"
                    },
                    "dontSeparateSubmissionsByFolder": {
                        "type": "boolean",
                        "description": "Do not create subfolders for files uploaded to this share. Note: there are subtle security pitfalls with allowing anonymous uploads from multiple users to live in the same folder. We strongly discourage use of this option unless absolutely required."
                    },
                    "expiresAt": {
                        "type": "string",
                        "description": "Bundle expiration date/time"
                    },
                    "finalizeSnapshot": {
                        "type": "boolean",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nIf true, finalize the snapshot of this bundle's contents. Note that \u003cspan pulumi-lang-nodejs=\"`createSnapshot`\" pulumi-lang-dotnet=\"`CreateSnapshot`\" pulumi-lang-go=\"`createSnapshot`\" pulumi-lang-python=\"`create_snapshot`\" pulumi-lang-yaml=\"`createSnapshot`\" pulumi-lang-java=\"`createSnapshot`\" pulumi-lang-hcl=\"`create_snapshot`\"\u003e`createSnapshot`\u003c/span\u003e must also be true.",
                        "secret": true
                    },
                    "formFieldSet": {
                        "type": "string",
                        "description": "Custom Form to use"
                    },
                    "formFieldSetId": {
                        "type": "integer",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nId of Form Field Set to use with this bundle",
                        "secret": true
                    },
                    "groupId": {
                        "type": "integer",
                        "description": "Owning group ID. If set, members of this group can view, edit, and share this Share Link."
                    },
                    "hasInbox": {
                        "type": "boolean",
                        "description": "Does this bundle have an associated inbox?"
                    },
                    "inboxId": {
                        "type": "integer",
                        "description": "ID of the associated inbox, if available."
                    },
                    "internalName": {
                        "type": "string",
                        "description": "Internal name for identifying this Share Link."
                    },
                    "maxUses": {
                        "type": "integer",
                        "description": "Maximum number of times bundle can be accessed"
                    },
                    "note": {
                        "type": "string",
                        "description": "Bundle internal note"
                    },
                    "password": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPassword for this bundle.",
                        "secret": true
                    },
                    "passwordProtected": {
                        "type": "boolean",
                        "description": "Is this bundle password protected?"
                    },
                    "pathTemplate": {
                        "type": "string",
                        "description": "Template for creating submission subfolders. Can use the uploader's name, email address, ip, company, \u003cspan pulumi-lang-nodejs=\"`strftime`\" pulumi-lang-dotnet=\"`Strftime`\" pulumi-lang-go=\"`strftime`\" pulumi-lang-python=\"`strftime`\" pulumi-lang-yaml=\"`strftime`\" pulumi-lang-java=\"`strftime`\" pulumi-lang-hcl=\"`strftime`\"\u003e`strftime`\u003c/span\u003e directives, and any custom form data."
                    },
                    "pathTemplateTimeZone": {
                        "type": "string",
                        "description": "Timezone to use when rendering timestamps in path templates."
                    },
                    "paths": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "A list of paths in this bundle.  For performance reasons, this is not provided when listing bundles.\n"
                    },
                    "permissions": {
                        "type": "string",
                        "description": "Permissions that apply to Folders in this Share Link."
                    },
                    "previewOnly": {
                        "type": "boolean"
                    },
                    "requestedUploadSlots": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Upload slots requested by the associated Inbox. Each slot contains a name used as its label and destination subfolder name."
                    },
                    "requireLogout": {
                        "type": "boolean",
                        "description": "If true, we will hide the 'Remember Me' box on the Bundle registration page, requiring that the user logout and log back in every time they visit the page."
                    },
                    "requireRegistration": {
                        "type": "boolean",
                        "description": "Show a registration page that captures the downloader's name and email address?"
                    },
                    "requireShareRecipient": {
                        "type": "boolean",
                        "description": "Only allow access to recipients who have explicitly received the share via an email sent through the Files.com UI?"
                    },
                    "sendEmailReceiptToUploader": {
                        "type": "boolean",
                        "description": "Send delivery receipt to the uploader. Note: For writable share only"
                    },
                    "sendOneTimePasswordToRecipientAtRegistration": {
                        "type": "boolean",
                        "description": "If true,\u003cspan pulumi-lang-nodejs=\" requireShareRecipient \" pulumi-lang-dotnet=\" RequireShareRecipient \" pulumi-lang-go=\" requireShareRecipient \" pulumi-lang-python=\" require_share_recipient \" pulumi-lang-yaml=\" requireShareRecipient \" pulumi-lang-java=\" requireShareRecipient \" pulumi-lang-hcl=\" require_share_recipient \"\u003e requireShareRecipient \u003c/span\u003ebundles will send a one-time password to the recipient when they register. Cannot be enabled if the bundle has a password set."
                    },
                    "skipCompany": {
                        "type": "boolean",
                        "description": "BundleRegistrations can be saved without providing company?"
                    },
                    "skipEmail": {
                        "type": "boolean",
                        "description": "BundleRegistrations can be saved without providing email?"
                    },
                    "skipName": {
                        "type": "boolean",
                        "description": "BundleRegistrations can be saved without providing name?"
                    },
                    "snapshotId": {
                        "type": "integer",
                        "description": "ID of the snapshot containing this bundle's contents."
                    },
                    "startAccessOnDate": {
                        "type": "string",
                        "description": "Date when share will start to be accessible. If \u003cspan pulumi-lang-nodejs=\"`nil`\" pulumi-lang-dotnet=\"`Nil`\" pulumi-lang-go=\"`nil`\" pulumi-lang-python=\"`nil`\" pulumi-lang-yaml=\"`nil`\" pulumi-lang-java=\"`nil`\" pulumi-lang-hcl=\"`nil`\"\u003e`nil`\u003c/span\u003e access granted right after create."
                    },
                    "url": {
                        "type": "string",
                        "description": "Public URL of Share Link"
                    },
                    "userId": {
                        "type": "integer",
                        "description": "Bundle creator user ID"
                    },
                    "username": {
                        "type": "string",
                        "description": "Bundle creator username"
                    },
                    "watermarkAttachment": {
                        "type": "string",
                        "description": "Preview watermark image applied to all bundle items."
                    },
                    "watermarkValue": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Preview watermark settings applied to all bundle items. Uses the same keys as Behavior.value"
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace."
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/bundleNotification:BundleNotification": {
            "description": "A BundleNotification is an E-Mail sent out to users when certain actions are performed on or within a shared set of files and folders.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleBundleNotification = new filescom.BundleNotification(\"example_bundle_notification\", {\n    userId: 1,\n    bundleId: 1,\n    notifyUserId: 1,\n    notifyOnRegistration: true,\n    notifyOnUpload: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_bundle_notification = filescom.BundleNotification(\"example_bundle_notification\",\n    user_id=1,\n    bundle_id=1,\n    notify_user_id=1,\n    notify_on_registration=True,\n    notify_on_upload=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleBundleNotification = new Filescom.BundleNotification(\"example_bundle_notification\", new()\n    {\n        UserId = 1,\n        BundleId = 1,\n        NotifyUserId = 1,\n        NotifyOnRegistration = true,\n        NotifyOnUpload = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewBundleNotification(ctx, \"example_bundle_notification\", \u0026filescom.BundleNotificationArgs{\n\t\t\tUserId:               pulumi.Int(1),\n\t\t\tBundleId:             pulumi.Int(1),\n\t\t\tNotifyUserId:         pulumi.Int(1),\n\t\t\tNotifyOnRegistration: pulumi.Bool(true),\n\t\t\tNotifyOnUpload:       pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_bundlenotification\" \"example_bundle_notification\" {\n  user_id                = 1\n  bundle_id              = 1\n  notify_user_id         = 1\n  notify_on_registration = true\n  notify_on_upload       = true\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.BundleNotification;\nimport com.pulumi.filescom.BundleNotificationArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleBundleNotification = new BundleNotification(\"exampleBundleNotification\", BundleNotificationArgs.builder()\n            .userId(1)\n            .bundleId(1)\n            .notifyUserId(1)\n            .notifyOnRegistration(true)\n            .notifyOnUpload(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleBundleNotification:\n    type: filescom:BundleNotification\n    name: example_bundle_notification\n    properties:\n      userId: 1\n      bundleId: 1\n      notifyUserId: 1\n      notifyOnRegistration: true\n      notifyOnUpload: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nBundle Notifications can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/bundleNotification:BundleNotification example_bundle_notification 1\n```\n\n",
            "properties": {
                "bundleId": {
                    "type": "integer",
                    "description": "Bundle ID to notify on\n"
                },
                "notifyCurrentUser": {
                    "type": "boolean",
                    "description": "Is the current user the user to notify?"
                },
                "notifyOnRegistration": {
                    "type": "boolean",
                    "description": "Triggers bundle notification when a registration action occurs for it."
                },
                "notifyOnUpload": {
                    "type": "boolean",
                    "description": "Triggers bundle notification when a upload action occurs for it."
                },
                "notifyUserId": {
                    "type": "integer",
                    "description": "The id of the user to notify."
                },
                "userId": {
                    "type": "integer",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nUser ID.  Provide a value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e to operate the current session's user.",
                    "secret": true
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace."
                }
            },
            "required": [
                "bundleId",
                "notifyCurrentUser",
                "notifyOnRegistration",
                "notifyOnUpload",
                "notifyUserId",
                "workspaceId"
            ],
            "inputProperties": {
                "bundleId": {
                    "type": "integer",
                    "description": "Bundle ID to notify on\n",
                    "willReplaceOnChanges": true
                },
                "notifyOnRegistration": {
                    "type": "boolean",
                    "description": "Triggers bundle notification when a registration action occurs for it."
                },
                "notifyOnUpload": {
                    "type": "boolean",
                    "description": "Triggers bundle notification when a upload action occurs for it."
                },
                "notifyUserId": {
                    "type": "integer",
                    "description": "The id of the user to notify.",
                    "willReplaceOnChanges": true
                },
                "userId": {
                    "type": "integer",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nUser ID.  Provide a value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e to operate the current session's user.",
                    "secret": true,
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "bundleId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering BundleNotification resources.\n",
                "properties": {
                    "bundleId": {
                        "type": "integer",
                        "description": "Bundle ID to notify on\n"
                    },
                    "notifyCurrentUser": {
                        "type": "boolean",
                        "description": "Is the current user the user to notify?"
                    },
                    "notifyOnRegistration": {
                        "type": "boolean",
                        "description": "Triggers bundle notification when a registration action occurs for it."
                    },
                    "notifyOnUpload": {
                        "type": "boolean",
                        "description": "Triggers bundle notification when a upload action occurs for it."
                    },
                    "notifyUserId": {
                        "type": "integer",
                        "description": "The id of the user to notify."
                    },
                    "userId": {
                        "type": "integer",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nUser ID.  Provide a value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e to operate the current session's user.",
                        "secret": true
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace."
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/childSiteManagementPolicy:ChildSiteManagementPolicy": {
            "description": "A Child Site Management Policy is a centralized policy defined by a parent site to enforce consistent configurations across child sites. These policies allow parent sites to maintain control over specific aspects of their child sites' functionality and appearance.\n\n\n\nNon-default policies apply only to the child sites listed in \u003cspan pulumi-lang-nodejs=\"`childSiteIds`\" pulumi-lang-dotnet=\"`ChildSiteIds`\" pulumi-lang-go=\"`childSiteIds`\" pulumi-lang-python=\"`child_site_ids`\" pulumi-lang-yaml=\"`childSiteIds`\" pulumi-lang-java=\"`childSiteIds`\" pulumi-lang-hcl=\"`child_site_ids`\"\u003e`childSiteIds`\u003c/span\u003e, and each child site can be explicitly assigned to only one policy.\n\n\n\nOne policy can be designated as the default policy. It applies to every child site not explicitly assigned to another policy or listed in its \u003cspan pulumi-lang-nodejs=\"`skipChildSiteIds`\" pulumi-lang-dotnet=\"`SkipChildSiteIds`\" pulumi-lang-go=\"`skipChildSiteIds`\" pulumi-lang-python=\"`skip_child_site_ids`\" pulumi-lang-yaml=\"`skipChildSiteIds`\" pulumi-lang-java=\"`skipChildSiteIds`\" pulumi-lang-hcl=\"`skip_child_site_ids`\"\u003e`skipChildSiteIds`\u003c/span\u003e, including newly created child sites. Only a default policy can exclude child sites. The \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\" pulumi-lang-hcl=\"`value`\"\u003e`value`\u003c/span\u003e field contains the policy configuration data, with the format varying based on the policy type. When a policy is active, its managed configurations are automatically enforced on applicable child sites, and attribute modifications are not permitted.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleChildSiteManagementPolicy = new filescom.ChildSiteManagementPolicy(\"example_child_site_management_policy\", {\n    value: {\n        color2Left: \"#000000\",\n    },\n    skipChildSiteIds: [\n        1,\n        2,\n    ],\n    childSiteIds: [\n        1,\n        2,\n    ],\n    defaultPolicy: true,\n    policyType: \"settings\",\n    name: \"example\",\n    description: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_child_site_management_policy = filescom.ChildSiteManagementPolicy(\"example_child_site_management_policy\",\n    value={\n        \"color2Left\": \"#000000\",\n    },\n    skip_child_site_ids=[\n        1,\n        2,\n    ],\n    child_site_ids=[\n        1,\n        2,\n    ],\n    default_policy=True,\n    policy_type=\"settings\",\n    name=\"example\",\n    description=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleChildSiteManagementPolicy = new Filescom.ChildSiteManagementPolicy(\"example_child_site_management_policy\", new()\n    {\n        Value = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"color2Left\"] = \"#000000\",\n        },\n        SkipChildSiteIds = new[]\n        {\n            1,\n            2,\n        },\n        ChildSiteIds = new[]\n        {\n            1,\n            2,\n        },\n        DefaultPolicy = true,\n        PolicyType = \"settings\",\n        Name = \"example\",\n        Description = \"example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewChildSiteManagementPolicy(ctx, \"example_child_site_management_policy\", \u0026filescom.ChildSiteManagementPolicyArgs{\n\t\t\tValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"color2Left\": \"#000000\",\n\t\t\t}),\n\t\t\tSkipChildSiteIds: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(2),\n\t\t\t},\n\t\t\tChildSiteIds: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(2),\n\t\t\t},\n\t\t\tDefaultPolicy: pulumi.Bool(true),\n\t\t\tPolicyType:    pulumi.String(\"settings\"),\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tDescription:   pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_childsitemanagementpolicy\" \"example_child_site_management_policy\" {\n  value = {\n    \"color2Left\" = \"#000000\"\n  }\n  skip_child_site_ids = [1, 2]\n  child_site_ids      = [1, 2]\n  default_policy      = true\n  policy_type         = \"settings\"\n  name                = \"example\"\n  description         = \"example\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.ChildSiteManagementPolicy;\nimport com.pulumi.filescom.ChildSiteManagementPolicyArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleChildSiteManagementPolicy = new ChildSiteManagementPolicy(\"exampleChildSiteManagementPolicy\", ChildSiteManagementPolicyArgs.builder()\n            .value(Map.of(\"color2Left\", \"#000000\"))\n            .skipChildSiteIds(            \n                1,\n                2)\n            .childSiteIds(            \n                1,\n                2)\n            .defaultPolicy(true)\n            .policyType(\"settings\")\n            .name(\"example\")\n            .description(\"example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleChildSiteManagementPolicy:\n    type: filescom:ChildSiteManagementPolicy\n    name: example_child_site_management_policy\n    properties:\n      value:\n        color2Left: '#000000'\n      skipChildSiteIds:\n        - 1\n        - 2\n      childSiteIds:\n        - 1\n        - 2\n      defaultPolicy: true\n      policyType: settings\n      name: example\n      description: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nChild Site Management Policies can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/childSiteManagementPolicy:ChildSiteManagementPolicy example_child_site_management_policy 1\n```\n\n",
            "properties": {
                "appliedChildSiteIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "IDs of child sites that this policy has been applied to. This field is read-only.\n"
                },
                "childSiteIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "IDs of child sites explicitly assigned to this non-default policy.\n"
                },
                "createdAt": {
                    "type": "string",
                    "description": "When this policy was created.\n"
                },
                "defaultPolicy": {
                    "type": "boolean",
                    "description": "Whether this policy applies to child sites not explicitly assigned to another policy.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Description for this policy.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name for this policy.\n"
                },
                "policyType": {
                    "type": "string",
                    "description": "Type of policy.  Valid values: \u003cspan pulumi-lang-nodejs=\"`settings`\" pulumi-lang-dotnet=\"`Settings`\" pulumi-lang-go=\"`settings`\" pulumi-lang-python=\"`settings`\" pulumi-lang-yaml=\"`settings`\" pulumi-lang-java=\"`settings`\" pulumi-lang-hcl=\"`settings`\"\u003e`settings`\u003c/span\u003e.\n"
                },
                "skipChildSiteIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "IDs of child sites excluded from this default policy.\n"
                },
                "updatedAt": {
                    "type": "string",
                    "description": "When this policy was last updated.\n"
                },
                "value": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Policy configuration data. Settings policies accept site settings plus an optional \u003cspan pulumi-lang-nodejs=\"`folderBehaviors`\" pulumi-lang-dotnet=\"`FolderBehaviors`\" pulumi-lang-go=\"`folderBehaviors`\" pulumi-lang-python=\"`folder_behaviors`\" pulumi-lang-yaml=\"`folderBehaviors`\" pulumi-lang-java=\"`folderBehaviors`\" pulumi-lang-hcl=\"`folder_behaviors`\"\u003e`folderBehaviors`\u003c/span\u003e array for parent-managed root behaviors on child sites. For more information, refer to the Value Hash section of the developer documentation.\n"
                }
            },
            "required": [
                "appliedChildSiteIds",
                "childSiteIds",
                "createdAt",
                "defaultPolicy",
                "description",
                "name",
                "policyType",
                "skipChildSiteIds",
                "updatedAt",
                "value"
            ],
            "inputProperties": {
                "childSiteIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "IDs of child sites explicitly assigned to this non-default policy.\n"
                },
                "defaultPolicy": {
                    "type": "boolean",
                    "description": "Whether this policy applies to child sites not explicitly assigned to another policy.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Description for this policy.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name for this policy.\n"
                },
                "policyType": {
                    "type": "string",
                    "description": "Type of policy.  Valid values: \u003cspan pulumi-lang-nodejs=\"`settings`\" pulumi-lang-dotnet=\"`Settings`\" pulumi-lang-go=\"`settings`\" pulumi-lang-python=\"`settings`\" pulumi-lang-yaml=\"`settings`\" pulumi-lang-java=\"`settings`\" pulumi-lang-hcl=\"`settings`\"\u003e`settings`\u003c/span\u003e.\n"
                },
                "skipChildSiteIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "IDs of child sites excluded from this default policy.\n"
                },
                "value": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Policy configuration data. Settings policies accept site settings plus an optional \u003cspan pulumi-lang-nodejs=\"`folderBehaviors`\" pulumi-lang-dotnet=\"`FolderBehaviors`\" pulumi-lang-go=\"`folderBehaviors`\" pulumi-lang-python=\"`folder_behaviors`\" pulumi-lang-yaml=\"`folderBehaviors`\" pulumi-lang-java=\"`folderBehaviors`\" pulumi-lang-hcl=\"`folder_behaviors`\"\u003e`folderBehaviors`\u003c/span\u003e array for parent-managed root behaviors on child sites. For more information, refer to the Value Hash section of the developer documentation.\n"
                }
            },
            "requiredInputs": [
                "policyType"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ChildSiteManagementPolicy resources.\n",
                "properties": {
                    "appliedChildSiteIds": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "IDs of child sites that this policy has been applied to. This field is read-only.\n"
                    },
                    "childSiteIds": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "IDs of child sites explicitly assigned to this non-default policy.\n"
                    },
                    "createdAt": {
                        "type": "string",
                        "description": "When this policy was created.\n"
                    },
                    "defaultPolicy": {
                        "type": "boolean",
                        "description": "Whether this policy applies to child sites not explicitly assigned to another policy.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Description for this policy.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name for this policy.\n"
                    },
                    "policyType": {
                        "type": "string",
                        "description": "Type of policy.  Valid values: \u003cspan pulumi-lang-nodejs=\"`settings`\" pulumi-lang-dotnet=\"`Settings`\" pulumi-lang-go=\"`settings`\" pulumi-lang-python=\"`settings`\" pulumi-lang-yaml=\"`settings`\" pulumi-lang-java=\"`settings`\" pulumi-lang-hcl=\"`settings`\"\u003e`settings`\u003c/span\u003e.\n"
                    },
                    "skipChildSiteIds": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "IDs of child sites excluded from this default policy.\n"
                    },
                    "updatedAt": {
                        "type": "string",
                        "description": "When this policy was last updated.\n"
                    },
                    "value": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Policy configuration data. Settings policies accept site settings plus an optional \u003cspan pulumi-lang-nodejs=\"`folderBehaviors`\" pulumi-lang-dotnet=\"`FolderBehaviors`\" pulumi-lang-go=\"`folderBehaviors`\" pulumi-lang-python=\"`folder_behaviors`\" pulumi-lang-yaml=\"`folderBehaviors`\" pulumi-lang-java=\"`folderBehaviors`\" pulumi-lang-hcl=\"`folder_behaviors`\"\u003e`folderBehaviors`\u003c/span\u003e array for parent-managed root behaviors on child sites. For more information, refer to the Value Hash section of the developer documentation.\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/clickwrap:Clickwrap": {
            "description": "A Clickwrap is a legal agreement (such as an NDA or Terms of Use) that your Users and/or Bundle/Inbox participants will need to agree to via a \"Clickwrap\" UI before accessing the site, bundle, or inbox.\n\n\n\nThe values for \u003cspan pulumi-lang-nodejs=\"`useWithUsers`\" pulumi-lang-dotnet=\"`UseWithUsers`\" pulumi-lang-go=\"`useWithUsers`\" pulumi-lang-python=\"`use_with_users`\" pulumi-lang-yaml=\"`useWithUsers`\" pulumi-lang-java=\"`useWithUsers`\" pulumi-lang-hcl=\"`use_with_users`\"\u003e`useWithUsers`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`useWithBundles`\" pulumi-lang-dotnet=\"`UseWithBundles`\" pulumi-lang-go=\"`useWithBundles`\" pulumi-lang-python=\"`use_with_bundles`\" pulumi-lang-yaml=\"`useWithBundles`\" pulumi-lang-java=\"`useWithBundles`\" pulumi-lang-hcl=\"`use_with_bundles`\"\u003e`useWithBundles`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`useWithInboxes`\" pulumi-lang-dotnet=\"`UseWithInboxes`\" pulumi-lang-go=\"`useWithInboxes`\" pulumi-lang-python=\"`use_with_inboxes`\" pulumi-lang-yaml=\"`useWithInboxes`\" pulumi-lang-java=\"`useWithInboxes`\" pulumi-lang-hcl=\"`use_with_inboxes`\"\u003e`useWithInboxes`\u003c/span\u003e are explained as follows:\n\n\n\n* \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e - This Clickwrap may not be used in this context.\n\n* \u003cspan pulumi-lang-nodejs=\"`availableToAllUsers`\" pulumi-lang-dotnet=\"`AvailableToAllUsers`\" pulumi-lang-go=\"`availableToAllUsers`\" pulumi-lang-python=\"`available_to_all_users`\" pulumi-lang-yaml=\"`availableToAllUsers`\" pulumi-lang-java=\"`availableToAllUsers`\" pulumi-lang-hcl=\"`available_to_all_users`\"\u003e`availableToAllUsers`\u003c/span\u003e - This Clickwrap may be assigned in this context by any user.\n\n* \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\" pulumi-lang-hcl=\"`available`\"\u003e`available`\u003c/span\u003e - This Clickwrap may be assigned in this context, but only by Site Admins. We recognize that the name of this setting is somewhat ambiguous, but we maintain it for legacy reasons.\n\n* \u003cspan pulumi-lang-nodejs=\"`required`\" pulumi-lang-dotnet=\"`Required`\" pulumi-lang-go=\"`required`\" pulumi-lang-python=\"`required`\" pulumi-lang-yaml=\"`required`\" pulumi-lang-java=\"`required`\" pulumi-lang-hcl=\"`required`\"\u003e`required`\u003c/span\u003e - This Clickwrap will always be used in this context, and may not be overridden.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleClickwrap = new filescom.Clickwrap(\"example_clickwrap\", {\n    name: \"Example Site NDA for Files.com Use\",\n    body: \"[Legal body text]\",\n    useWithBundles: \"example\",\n    useWithInboxes: \"example\",\n    useWithUsers: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_clickwrap = filescom.Clickwrap(\"example_clickwrap\",\n    name=\"Example Site NDA for Files.com Use\",\n    body=\"[Legal body text]\",\n    use_with_bundles=\"example\",\n    use_with_inboxes=\"example\",\n    use_with_users=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleClickwrap = new Filescom.Clickwrap(\"example_clickwrap\", new()\n    {\n        Name = \"Example Site NDA for Files.com Use\",\n        Body = \"[Legal body text]\",\n        UseWithBundles = \"example\",\n        UseWithInboxes = \"example\",\n        UseWithUsers = \"example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewClickwrap(ctx, \"example_clickwrap\", \u0026filescom.ClickwrapArgs{\n\t\t\tName:           pulumi.String(\"Example Site NDA for Files.com Use\"),\n\t\t\tBody:           pulumi.String(\"[Legal body text]\"),\n\t\t\tUseWithBundles: pulumi.String(\"example\"),\n\t\t\tUseWithInboxes: pulumi.String(\"example\"),\n\t\t\tUseWithUsers:   pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_clickwrap\" \"example_clickwrap\" {\n  name             = \"Example Site NDA for Files.com Use\"\n  body             = \"[Legal body text]\"\n  use_with_bundles = \"example\"\n  use_with_inboxes = \"example\"\n  use_with_users   = \"example\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.Clickwrap;\nimport com.pulumi.filescom.ClickwrapArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleClickwrap = new Clickwrap(\"exampleClickwrap\", ClickwrapArgs.builder()\n            .name(\"Example Site NDA for Files.com Use\")\n            .body(\"[Legal body text]\")\n            .useWithBundles(\"example\")\n            .useWithInboxes(\"example\")\n            .useWithUsers(\"example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleClickwrap:\n    type: filescom:Clickwrap\n    name: example_clickwrap\n    properties:\n      name: Example Site NDA for Files.com Use\n      body: '[Legal body text]'\n      useWithBundles: example\n      useWithInboxes: example\n      useWithUsers: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nClickwraps can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/clickwrap:Clickwrap example_clickwrap 1\n```\n\n",
            "properties": {
                "body": {
                    "type": "string",
                    "description": "Body text of Clickwrap (supports Markdown formatting).\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the Clickwrap agreement (used when selecting from multiple Clickwrap agreements.)\n"
                },
                "useWithBundles": {
                    "type": "string",
                    "description": "Use this Clickwrap for Bundles?\n"
                },
                "useWithInboxes": {
                    "type": "string",
                    "description": "Use this Clickwrap for Inboxes?\n"
                },
                "useWithUsers": {
                    "type": "string",
                    "description": "Use this Clickwrap for Users?  Values: \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`require`\" pulumi-lang-dotnet=\"`Require`\" pulumi-lang-go=\"`require`\" pulumi-lang-python=\"`require`\" pulumi-lang-yaml=\"`require`\" pulumi-lang-java=\"`require`\" pulumi-lang-hcl=\"`require`\"\u003e`require`\u003c/span\u003e (new user signup via email invitation only), \u003cspan pulumi-lang-nodejs=\"`requireAllUsersOnce`\" pulumi-lang-dotnet=\"`RequireAllUsersOnce`\" pulumi-lang-go=\"`requireAllUsersOnce`\" pulumi-lang-python=\"`require_all_users_once`\" pulumi-lang-yaml=\"`requireAllUsersOnce`\" pulumi-lang-java=\"`requireAllUsersOnce`\" pulumi-lang-hcl=\"`require_all_users_once`\"\u003e`requireAllUsersOnce`\u003c/span\u003e (show to all users at their next web login; once accepted, not shown again), \u003cspan pulumi-lang-nodejs=\"`requireAllUsersAlways`\" pulumi-lang-dotnet=\"`RequireAllUsersAlways`\" pulumi-lang-go=\"`requireAllUsersAlways`\" pulumi-lang-python=\"`require_all_users_always`\" pulumi-lang-yaml=\"`requireAllUsersAlways`\" pulumi-lang-java=\"`requireAllUsersAlways`\" pulumi-lang-hcl=\"`require_all_users_always`\"\u003e`requireAllUsersAlways`\u003c/span\u003e (show to all users on every web login).\n"
                }
            },
            "required": [
                "body",
                "name",
                "useWithBundles",
                "useWithInboxes",
                "useWithUsers"
            ],
            "inputProperties": {
                "body": {
                    "type": "string",
                    "description": "Body text of Clickwrap (supports Markdown formatting).\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the Clickwrap agreement (used when selecting from multiple Clickwrap agreements.)\n"
                },
                "useWithBundles": {
                    "type": "string",
                    "description": "Use this Clickwrap for Bundles?\n"
                },
                "useWithInboxes": {
                    "type": "string",
                    "description": "Use this Clickwrap for Inboxes?\n"
                },
                "useWithUsers": {
                    "type": "string",
                    "description": "Use this Clickwrap for Users?  Values: \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`require`\" pulumi-lang-dotnet=\"`Require`\" pulumi-lang-go=\"`require`\" pulumi-lang-python=\"`require`\" pulumi-lang-yaml=\"`require`\" pulumi-lang-java=\"`require`\" pulumi-lang-hcl=\"`require`\"\u003e`require`\u003c/span\u003e (new user signup via email invitation only), \u003cspan pulumi-lang-nodejs=\"`requireAllUsersOnce`\" pulumi-lang-dotnet=\"`RequireAllUsersOnce`\" pulumi-lang-go=\"`requireAllUsersOnce`\" pulumi-lang-python=\"`require_all_users_once`\" pulumi-lang-yaml=\"`requireAllUsersOnce`\" pulumi-lang-java=\"`requireAllUsersOnce`\" pulumi-lang-hcl=\"`require_all_users_once`\"\u003e`requireAllUsersOnce`\u003c/span\u003e (show to all users at their next web login; once accepted, not shown again), \u003cspan pulumi-lang-nodejs=\"`requireAllUsersAlways`\" pulumi-lang-dotnet=\"`RequireAllUsersAlways`\" pulumi-lang-go=\"`requireAllUsersAlways`\" pulumi-lang-python=\"`require_all_users_always`\" pulumi-lang-yaml=\"`requireAllUsersAlways`\" pulumi-lang-java=\"`requireAllUsersAlways`\" pulumi-lang-hcl=\"`require_all_users_always`\"\u003e`requireAllUsersAlways`\u003c/span\u003e (show to all users on every web login).\n"
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Clickwrap resources.\n",
                "properties": {
                    "body": {
                        "type": "string",
                        "description": "Body text of Clickwrap (supports Markdown formatting).\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the Clickwrap agreement (used when selecting from multiple Clickwrap agreements.)\n"
                    },
                    "useWithBundles": {
                        "type": "string",
                        "description": "Use this Clickwrap for Bundles?\n"
                    },
                    "useWithInboxes": {
                        "type": "string",
                        "description": "Use this Clickwrap for Inboxes?\n"
                    },
                    "useWithUsers": {
                        "type": "string",
                        "description": "Use this Clickwrap for Users?  Values: \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`require`\" pulumi-lang-dotnet=\"`Require`\" pulumi-lang-go=\"`require`\" pulumi-lang-python=\"`require`\" pulumi-lang-yaml=\"`require`\" pulumi-lang-java=\"`require`\" pulumi-lang-hcl=\"`require`\"\u003e`require`\u003c/span\u003e (new user signup via email invitation only), \u003cspan pulumi-lang-nodejs=\"`requireAllUsersOnce`\" pulumi-lang-dotnet=\"`RequireAllUsersOnce`\" pulumi-lang-go=\"`requireAllUsersOnce`\" pulumi-lang-python=\"`require_all_users_once`\" pulumi-lang-yaml=\"`requireAllUsersOnce`\" pulumi-lang-java=\"`requireAllUsersOnce`\" pulumi-lang-hcl=\"`require_all_users_once`\"\u003e`requireAllUsersOnce`\u003c/span\u003e (show to all users at their next web login; once accepted, not shown again), \u003cspan pulumi-lang-nodejs=\"`requireAllUsersAlways`\" pulumi-lang-dotnet=\"`RequireAllUsersAlways`\" pulumi-lang-go=\"`requireAllUsersAlways`\" pulumi-lang-python=\"`require_all_users_always`\" pulumi-lang-yaml=\"`requireAllUsersAlways`\" pulumi-lang-java=\"`requireAllUsersAlways`\" pulumi-lang-hcl=\"`require_all_users_always`\"\u003e`requireAllUsersAlways`\u003c/span\u003e (show to all users on every web login).\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/customDomain:CustomDomain": {
            "description": "A CustomDomain object represents an additional customer-owned domain that routes to a Files.com site.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleCustomDomain = new filescom.CustomDomain(\"example_custom_domain\", {\n    destination: \"site_alias\",\n    folderBehaviorId: 1,\n    sslCertificateId: 1,\n    domain: \"files.example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_custom_domain = filescom.CustomDomain(\"example_custom_domain\",\n    destination=\"site_alias\",\n    folder_behavior_id=1,\n    ssl_certificate_id=1,\n    domain=\"files.example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleCustomDomain = new Filescom.CustomDomain(\"example_custom_domain\", new()\n    {\n        Destination = \"site_alias\",\n        FolderBehaviorId = 1,\n        SslCertificateId = 1,\n        Domain = \"files.example.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewCustomDomain(ctx, \"example_custom_domain\", \u0026filescom.CustomDomainArgs{\n\t\t\tDestination:      pulumi.String(\"site_alias\"),\n\t\t\tFolderBehaviorId: pulumi.Int(1),\n\t\t\tSslCertificateId: pulumi.Int(1),\n\t\t\tDomain:           pulumi.String(\"files.example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_customdomain\" \"example_custom_domain\" {\n  destination        = \"site_alias\"\n  folder_behavior_id = 1\n  ssl_certificate_id = 1\n  domain             = \"files.example.com\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.CustomDomain;\nimport com.pulumi.filescom.CustomDomainArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleCustomDomain = new CustomDomain(\"exampleCustomDomain\", CustomDomainArgs.builder()\n            .destination(\"site_alias\")\n            .folderBehaviorId(1)\n            .sslCertificateId(1)\n            .domain(\"files.example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleCustomDomain:\n    type: filescom:CustomDomain\n    name: example_custom_domain\n    properties:\n      destination: site_alias\n      folderBehaviorId: 1\n      sslCertificateId: 1\n      domain: files.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nCustom Domains can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/customDomain:CustomDomain example_custom_domain 1\n```\n\n",
            "properties": {
                "brickManaged": {
                    "type": "boolean",
                    "description": "Is this domain's SSL certificate automatically managed and renewed by Files.com?\n"
                },
                "createdAt": {
                    "type": "string",
                    "description": "When this Custom Domain was created.\n"
                },
                "destination": {
                    "type": "string",
                    "description": "Where this custom domain routes. Can be \u003cspan pulumi-lang-nodejs=\"`siteAlias`\" pulumi-lang-dotnet=\"`SiteAlias`\" pulumi-lang-go=\"`siteAlias`\" pulumi-lang-python=\"`site_alias`\" pulumi-lang-yaml=\"`siteAlias`\" pulumi-lang-java=\"`siteAlias`\" pulumi-lang-hcl=\"`site_alias`\"\u003e`siteAlias`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`publicHosting`\" pulumi-lang-dotnet=\"`PublicHosting`\" pulumi-lang-go=\"`publicHosting`\" pulumi-lang-python=\"`public_hosting`\" pulumi-lang-yaml=\"`publicHosting`\" pulumi-lang-java=\"`publicHosting`\" pulumi-lang-hcl=\"`public_hosting`\"\u003e`publicHosting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`s3Endpoint`\" pulumi-lang-dotnet=\"`S3Endpoint`\" pulumi-lang-go=\"`s3Endpoint`\" pulumi-lang-python=\"`s3_endpoint`\" pulumi-lang-yaml=\"`s3Endpoint`\" pulumi-lang-java=\"`s3Endpoint`\" pulumi-lang-hcl=\"`s3_endpoint`\"\u003e`s3Endpoint`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`unassigned`\" pulumi-lang-dotnet=\"`Unassigned`\" pulumi-lang-go=\"`unassigned`\" pulumi-lang-python=\"`unassigned`\" pulumi-lang-yaml=\"`unassigned`\" pulumi-lang-java=\"`unassigned`\" pulumi-lang-hcl=\"`unassigned`\"\u003e`unassigned`\u003c/span\u003e (not routing traffic). Set to \u003cspan pulumi-lang-nodejs=\"`unassigned`\" pulumi-lang-dotnet=\"`Unassigned`\" pulumi-lang-go=\"`unassigned`\" pulumi-lang-python=\"`unassigned`\" pulumi-lang-yaml=\"`unassigned`\" pulumi-lang-java=\"`unassigned`\" pulumi-lang-hcl=\"`unassigned`\"\u003e`unassigned`\u003c/span\u003e automatically when a bound \u003cspan pulumi-lang-nodejs=\"`publicHosting`\" pulumi-lang-dotnet=\"`PublicHosting`\" pulumi-lang-go=\"`publicHosting`\" pulumi-lang-python=\"`public_hosting`\" pulumi-lang-yaml=\"`publicHosting`\" pulumi-lang-java=\"`publicHosting`\" pulumi-lang-hcl=\"`public_hosting`\"\u003e`publicHosting`\u003c/span\u003e folder behavior is deleted, and can be set manually via the API for any reason.\n"
                },
                "dnsStatus": {
                    "type": "string",
                    "description": "Current DNS verification status.\n"
                },
                "domain": {
                    "type": "string",
                    "description": "Customer-owned domain name.\n"
                },
                "folderBehaviorId": {
                    "type": "integer",
                    "description": "Public Hosting behavior ID when this domain routes to a specific Public Hosting behavior.  Preserved as historical context when \u003cspan pulumi-lang-nodejs=\"`destination`\" pulumi-lang-dotnet=\"`Destination`\" pulumi-lang-go=\"`destination`\" pulumi-lang-python=\"`destination`\" pulumi-lang-yaml=\"`destination`\" pulumi-lang-java=\"`destination`\" pulumi-lang-hcl=\"`destination`\"\u003e`destination`\u003c/span\u003e becomes \u003cspan pulumi-lang-nodejs=\"`unassigned`\" pulumi-lang-dotnet=\"`Unassigned`\" pulumi-lang-go=\"`unassigned`\" pulumi-lang-python=\"`unassigned`\" pulumi-lang-yaml=\"`unassigned`\" pulumi-lang-java=\"`unassigned`\" pulumi-lang-hcl=\"`unassigned`\"\u003e`unassigned`\u003c/span\u003e.\n"
                },
                "sslCertificateId": {
                    "type": "integer",
                    "description": "Current SSL certificate ID.\n"
                },
                "updatedAt": {
                    "type": "string",
                    "description": "When this Custom Domain was last updated.\n"
                }
            },
            "required": [
                "brickManaged",
                "createdAt",
                "destination",
                "dnsStatus",
                "domain",
                "folderBehaviorId",
                "sslCertificateId",
                "updatedAt"
            ],
            "inputProperties": {
                "destination": {
                    "type": "string",
                    "description": "Where this custom domain routes. Can be \u003cspan pulumi-lang-nodejs=\"`siteAlias`\" pulumi-lang-dotnet=\"`SiteAlias`\" pulumi-lang-go=\"`siteAlias`\" pulumi-lang-python=\"`site_alias`\" pulumi-lang-yaml=\"`siteAlias`\" pulumi-lang-java=\"`siteAlias`\" pulumi-lang-hcl=\"`site_alias`\"\u003e`siteAlias`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`publicHosting`\" pulumi-lang-dotnet=\"`PublicHosting`\" pulumi-lang-go=\"`publicHosting`\" pulumi-lang-python=\"`public_hosting`\" pulumi-lang-yaml=\"`publicHosting`\" pulumi-lang-java=\"`publicHosting`\" pulumi-lang-hcl=\"`public_hosting`\"\u003e`publicHosting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`s3Endpoint`\" pulumi-lang-dotnet=\"`S3Endpoint`\" pulumi-lang-go=\"`s3Endpoint`\" pulumi-lang-python=\"`s3_endpoint`\" pulumi-lang-yaml=\"`s3Endpoint`\" pulumi-lang-java=\"`s3Endpoint`\" pulumi-lang-hcl=\"`s3_endpoint`\"\u003e`s3Endpoint`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`unassigned`\" pulumi-lang-dotnet=\"`Unassigned`\" pulumi-lang-go=\"`unassigned`\" pulumi-lang-python=\"`unassigned`\" pulumi-lang-yaml=\"`unassigned`\" pulumi-lang-java=\"`unassigned`\" pulumi-lang-hcl=\"`unassigned`\"\u003e`unassigned`\u003c/span\u003e (not routing traffic). Set to \u003cspan pulumi-lang-nodejs=\"`unassigned`\" pulumi-lang-dotnet=\"`Unassigned`\" pulumi-lang-go=\"`unassigned`\" pulumi-lang-python=\"`unassigned`\" pulumi-lang-yaml=\"`unassigned`\" pulumi-lang-java=\"`unassigned`\" pulumi-lang-hcl=\"`unassigned`\"\u003e`unassigned`\u003c/span\u003e automatically when a bound \u003cspan pulumi-lang-nodejs=\"`publicHosting`\" pulumi-lang-dotnet=\"`PublicHosting`\" pulumi-lang-go=\"`publicHosting`\" pulumi-lang-python=\"`public_hosting`\" pulumi-lang-yaml=\"`publicHosting`\" pulumi-lang-java=\"`publicHosting`\" pulumi-lang-hcl=\"`public_hosting`\"\u003e`publicHosting`\u003c/span\u003e folder behavior is deleted, and can be set manually via the API for any reason.\n"
                },
                "domain": {
                    "type": "string",
                    "description": "Customer-owned domain name.\n"
                },
                "folderBehaviorId": {
                    "type": "integer",
                    "description": "Public Hosting behavior ID when this domain routes to a specific Public Hosting behavior.  Preserved as historical context when \u003cspan pulumi-lang-nodejs=\"`destination`\" pulumi-lang-dotnet=\"`Destination`\" pulumi-lang-go=\"`destination`\" pulumi-lang-python=\"`destination`\" pulumi-lang-yaml=\"`destination`\" pulumi-lang-java=\"`destination`\" pulumi-lang-hcl=\"`destination`\"\u003e`destination`\u003c/span\u003e becomes \u003cspan pulumi-lang-nodejs=\"`unassigned`\" pulumi-lang-dotnet=\"`Unassigned`\" pulumi-lang-go=\"`unassigned`\" pulumi-lang-python=\"`unassigned`\" pulumi-lang-yaml=\"`unassigned`\" pulumi-lang-java=\"`unassigned`\" pulumi-lang-hcl=\"`unassigned`\"\u003e`unassigned`\u003c/span\u003e.\n"
                },
                "sslCertificateId": {
                    "type": "integer",
                    "description": "Current SSL certificate ID.\n"
                }
            },
            "requiredInputs": [
                "domain"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering CustomDomain resources.\n",
                "properties": {
                    "brickManaged": {
                        "type": "boolean",
                        "description": "Is this domain's SSL certificate automatically managed and renewed by Files.com?\n"
                    },
                    "createdAt": {
                        "type": "string",
                        "description": "When this Custom Domain was created.\n"
                    },
                    "destination": {
                        "type": "string",
                        "description": "Where this custom domain routes. Can be \u003cspan pulumi-lang-nodejs=\"`siteAlias`\" pulumi-lang-dotnet=\"`SiteAlias`\" pulumi-lang-go=\"`siteAlias`\" pulumi-lang-python=\"`site_alias`\" pulumi-lang-yaml=\"`siteAlias`\" pulumi-lang-java=\"`siteAlias`\" pulumi-lang-hcl=\"`site_alias`\"\u003e`siteAlias`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`publicHosting`\" pulumi-lang-dotnet=\"`PublicHosting`\" pulumi-lang-go=\"`publicHosting`\" pulumi-lang-python=\"`public_hosting`\" pulumi-lang-yaml=\"`publicHosting`\" pulumi-lang-java=\"`publicHosting`\" pulumi-lang-hcl=\"`public_hosting`\"\u003e`publicHosting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`s3Endpoint`\" pulumi-lang-dotnet=\"`S3Endpoint`\" pulumi-lang-go=\"`s3Endpoint`\" pulumi-lang-python=\"`s3_endpoint`\" pulumi-lang-yaml=\"`s3Endpoint`\" pulumi-lang-java=\"`s3Endpoint`\" pulumi-lang-hcl=\"`s3_endpoint`\"\u003e`s3Endpoint`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`unassigned`\" pulumi-lang-dotnet=\"`Unassigned`\" pulumi-lang-go=\"`unassigned`\" pulumi-lang-python=\"`unassigned`\" pulumi-lang-yaml=\"`unassigned`\" pulumi-lang-java=\"`unassigned`\" pulumi-lang-hcl=\"`unassigned`\"\u003e`unassigned`\u003c/span\u003e (not routing traffic). Set to \u003cspan pulumi-lang-nodejs=\"`unassigned`\" pulumi-lang-dotnet=\"`Unassigned`\" pulumi-lang-go=\"`unassigned`\" pulumi-lang-python=\"`unassigned`\" pulumi-lang-yaml=\"`unassigned`\" pulumi-lang-java=\"`unassigned`\" pulumi-lang-hcl=\"`unassigned`\"\u003e`unassigned`\u003c/span\u003e automatically when a bound \u003cspan pulumi-lang-nodejs=\"`publicHosting`\" pulumi-lang-dotnet=\"`PublicHosting`\" pulumi-lang-go=\"`publicHosting`\" pulumi-lang-python=\"`public_hosting`\" pulumi-lang-yaml=\"`publicHosting`\" pulumi-lang-java=\"`publicHosting`\" pulumi-lang-hcl=\"`public_hosting`\"\u003e`publicHosting`\u003c/span\u003e folder behavior is deleted, and can be set manually via the API for any reason.\n"
                    },
                    "dnsStatus": {
                        "type": "string",
                        "description": "Current DNS verification status.\n"
                    },
                    "domain": {
                        "type": "string",
                        "description": "Customer-owned domain name.\n"
                    },
                    "folderBehaviorId": {
                        "type": "integer",
                        "description": "Public Hosting behavior ID when this domain routes to a specific Public Hosting behavior.  Preserved as historical context when \u003cspan pulumi-lang-nodejs=\"`destination`\" pulumi-lang-dotnet=\"`Destination`\" pulumi-lang-go=\"`destination`\" pulumi-lang-python=\"`destination`\" pulumi-lang-yaml=\"`destination`\" pulumi-lang-java=\"`destination`\" pulumi-lang-hcl=\"`destination`\"\u003e`destination`\u003c/span\u003e becomes \u003cspan pulumi-lang-nodejs=\"`unassigned`\" pulumi-lang-dotnet=\"`Unassigned`\" pulumi-lang-go=\"`unassigned`\" pulumi-lang-python=\"`unassigned`\" pulumi-lang-yaml=\"`unassigned`\" pulumi-lang-java=\"`unassigned`\" pulumi-lang-hcl=\"`unassigned`\"\u003e`unassigned`\u003c/span\u003e.\n"
                    },
                    "sslCertificateId": {
                        "type": "integer",
                        "description": "Current SSL certificate ID.\n"
                    },
                    "updatedAt": {
                        "type": "string",
                        "description": "When this Custom Domain was last updated.\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/desktopConfigurationProfile:DesktopConfigurationProfile": {
            "description": "A Desktop Configuration Profile centrally defines desktop mount point mappings for users in a Site or Workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleDesktopConfigurationProfile = new filescom.DesktopConfigurationProfile(\"example_desktop_configuration_profile\", {\n    name: \"North America Desktop Profile\",\n    mountMappings: {\n        key: \"example value\",\n    },\n    workspaceId: 1,\n    useForAllUsers: false,\n    disableDriveMounting: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_desktop_configuration_profile = filescom.DesktopConfigurationProfile(\"example_desktop_configuration_profile\",\n    name=\"North America Desktop Profile\",\n    mount_mappings={\n        \"key\": \"example value\",\n    },\n    workspace_id=1,\n    use_for_all_users=False,\n    disable_drive_mounting=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleDesktopConfigurationProfile = new Filescom.DesktopConfigurationProfile(\"example_desktop_configuration_profile\", new()\n    {\n        Name = \"North America Desktop Profile\",\n        MountMappings = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"key\"] = \"example value\",\n        },\n        WorkspaceId = 1,\n        UseForAllUsers = false,\n        DisableDriveMounting = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewDesktopConfigurationProfile(ctx, \"example_desktop_configuration_profile\", \u0026filescom.DesktopConfigurationProfileArgs{\n\t\t\tName: pulumi.String(\"North America Desktop Profile\"),\n\t\t\tMountMappings: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"key\": \"example value\",\n\t\t\t}),\n\t\t\tWorkspaceId:          pulumi.Int(1),\n\t\t\tUseForAllUsers:       pulumi.Bool(false),\n\t\t\tDisableDriveMounting: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_desktopconfigurationprofile\" \"example_desktop_configuration_profile\" {\n  name = \"North America Desktop Profile\"\n  mount_mappings = {\n    \"key\" = \"example value\"\n  }\n  workspace_id           = 1\n  use_for_all_users      = false\n  disable_drive_mounting = false\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.DesktopConfigurationProfile;\nimport com.pulumi.filescom.DesktopConfigurationProfileArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleDesktopConfigurationProfile = new DesktopConfigurationProfile(\"exampleDesktopConfigurationProfile\", DesktopConfigurationProfileArgs.builder()\n            .name(\"North America Desktop Profile\")\n            .mountMappings(Map.of(\"key\", \"example value\"))\n            .workspaceId(1)\n            .useForAllUsers(false)\n            .disableDriveMounting(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleDesktopConfigurationProfile:\n    type: filescom:DesktopConfigurationProfile\n    name: example_desktop_configuration_profile\n    properties:\n      name: North America Desktop Profile\n      mountMappings:\n        key: example value\n      workspaceId: 1\n      useForAllUsers: false\n      disableDriveMounting: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nDesktop Configuration Profiles can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/desktopConfigurationProfile:DesktopConfigurationProfile example_desktop_configuration_profile 1\n```\n\n",
            "properties": {
                "disableDriveMounting": {
                    "type": "boolean",
                    "description": "Whether the desktop app should hide drive mounting, prevent new drive mounts, and unmount active drive mounts for users with this profile\n"
                },
                "mountMappings": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Mount point mappings for the desktop app. Keys must be a single uppercase Windows drive letter other than A, B, or C, and values are Files.com paths to mount there.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Profile name\n"
                },
                "useForAllUsers": {
                    "type": "boolean",
                    "description": "Whether this profile applies to all users in the Workspace by default\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID\n"
                }
            },
            "required": [
                "disableDriveMounting",
                "mountMappings",
                "name",
                "useForAllUsers",
                "workspaceId"
            ],
            "inputProperties": {
                "disableDriveMounting": {
                    "type": "boolean",
                    "description": "Whether the desktop app should hide drive mounting, prevent new drive mounts, and unmount active drive mounts for users with this profile\n"
                },
                "mountMappings": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Mount point mappings for the desktop app. Keys must be a single uppercase Windows drive letter other than A, B, or C, and values are Files.com paths to mount there.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Profile name\n"
                },
                "useForAllUsers": {
                    "type": "boolean",
                    "description": "Whether this profile applies to all users in the Workspace by default\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID\n"
                }
            },
            "requiredInputs": [
                "mountMappings"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering DesktopConfigurationProfile resources.\n",
                "properties": {
                    "disableDriveMounting": {
                        "type": "boolean",
                        "description": "Whether the desktop app should hide drive mounting, prevent new drive mounts, and unmount active drive mounts for users with this profile\n"
                    },
                    "mountMappings": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Mount point mappings for the desktop app. Keys must be a single uppercase Windows drive letter other than A, B, or C, and values are Files.com paths to mount there.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Profile name\n"
                    },
                    "useForAllUsers": {
                        "type": "boolean",
                        "description": "Whether this profile applies to all users in the Workspace by default\n"
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/eventChannel:EventChannel": {
            "description": "An EventChannel is a named grouping of EventSubscriptions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleEventChannel = new filescom.EventChannel(\"example_event_channel\", {\n    name: \"example\",\n    workspaceId: 1,\n    description: \"example\",\n    enabled: true,\n    defaultChannel: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_event_channel = filescom.EventChannel(\"example_event_channel\",\n    name=\"example\",\n    workspace_id=1,\n    description=\"example\",\n    enabled=True,\n    default_channel=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleEventChannel = new Filescom.EventChannel(\"example_event_channel\", new()\n    {\n        Name = \"example\",\n        WorkspaceId = 1,\n        Description = \"example\",\n        Enabled = true,\n        DefaultChannel = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewEventChannel(ctx, \"example_event_channel\", \u0026filescom.EventChannelArgs{\n\t\t\tName:           pulumi.String(\"example\"),\n\t\t\tWorkspaceId:    pulumi.Int(1),\n\t\t\tDescription:    pulumi.String(\"example\"),\n\t\t\tEnabled:        pulumi.Bool(true),\n\t\t\tDefaultChannel: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_eventchannel\" \"example_event_channel\" {\n  name            = \"example\"\n  workspace_id    = 1\n  description     = \"example\"\n  enabled         = true\n  default_channel = true\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.EventChannel;\nimport com.pulumi.filescom.EventChannelArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleEventChannel = new EventChannel(\"exampleEventChannel\", EventChannelArgs.builder()\n            .name(\"example\")\n            .workspaceId(1)\n            .description(\"example\")\n            .enabled(true)\n            .defaultChannel(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleEventChannel:\n    type: filescom:EventChannel\n    name: example_event_channel\n    properties:\n      name: example\n      workspaceId: 1\n      description: example\n      enabled: true\n      defaultChannel: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nEvent Channels can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/eventChannel:EventChannel example_event_channel 1\n```\n\n",
            "properties": {
                "createdAt": {
                    "type": "string",
                    "description": "Event Channel create date/time.\n"
                },
                "defaultChannel": {
                    "type": "boolean",
                    "description": "Whether this Event Channel is the default destination for newly published events.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Event Channel description.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether this Event Channel can dispatch events.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Event Channel name.\n"
                },
                "updatedAt": {
                    "type": "string",
                    "description": "Event Channel update date/time.\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. 0 means the default workspace.\n"
                }
            },
            "required": [
                "createdAt",
                "defaultChannel",
                "description",
                "enabled",
                "name",
                "updatedAt",
                "workspaceId"
            ],
            "inputProperties": {
                "defaultChannel": {
                    "type": "boolean",
                    "description": "Whether this Event Channel is the default destination for newly published events.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Event Channel description.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether this Event Channel can dispatch events.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Event Channel name.\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. 0 means the default workspace.\n"
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering EventChannel resources.\n",
                "properties": {
                    "createdAt": {
                        "type": "string",
                        "description": "Event Channel create date/time.\n"
                    },
                    "defaultChannel": {
                        "type": "boolean",
                        "description": "Whether this Event Channel is the default destination for newly published events.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Event Channel description.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Whether this Event Channel can dispatch events.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Event Channel name.\n"
                    },
                    "updatedAt": {
                        "type": "string",
                        "description": "Event Channel update date/time.\n"
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID. 0 means the default workspace.\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/eventSubscription:EventSubscription": {
            "description": "An EventSubscription selects EventRecords for an EventChannel and sends them to one or more EventTargets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleEventSubscription = new filescom.EventSubscription(\"example_event_subscription\", {\n    eventChannelId: 1,\n    workspaceId: 1,\n    applyToAllWorkspaces: true,\n    name: \"example\",\n    subject: \"example\",\n    message: \"example\",\n    enabled: true,\n    eventTypes: [\"example\"],\n    deliveryPolicy: \"example\",\n    eventTargetIds: [1],\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_event_subscription = filescom.EventSubscription(\"example_event_subscription\",\n    event_channel_id=1,\n    workspace_id=1,\n    apply_to_all_workspaces=True,\n    name=\"example\",\n    subject=\"example\",\n    message=\"example\",\n    enabled=True,\n    event_types=[\"example\"],\n    delivery_policy=\"example\",\n    event_target_ids=[1])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleEventSubscription = new Filescom.EventSubscription(\"example_event_subscription\", new()\n    {\n        EventChannelId = 1,\n        WorkspaceId = 1,\n        ApplyToAllWorkspaces = true,\n        Name = \"example\",\n        Subject = \"example\",\n        Message = \"example\",\n        Enabled = true,\n        EventTypes = new[]\n        {\n            \"example\",\n        },\n        DeliveryPolicy = \"example\",\n        EventTargetIds = new[]\n        {\n            1,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewEventSubscription(ctx, \"example_event_subscription\", \u0026filescom.EventSubscriptionArgs{\n\t\t\tEventChannelId:       pulumi.Int(1),\n\t\t\tWorkspaceId:          pulumi.Int(1),\n\t\t\tApplyToAllWorkspaces: pulumi.Bool(true),\n\t\t\tName:                 pulumi.String(\"example\"),\n\t\t\tSubject:              pulumi.String(\"example\"),\n\t\t\tMessage:              pulumi.String(\"example\"),\n\t\t\tEnabled:              pulumi.Bool(true),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example\"),\n\t\t\t},\n\t\t\tDeliveryPolicy: pulumi.Any(\"example\"),\n\t\t\tEventTargetIds: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_eventsubscription\" \"example_event_subscription\" {\n  event_channel_id        = 1\n  workspace_id            = 1\n  apply_to_all_workspaces = true\n  name                    = \"example\"\n  subject                 = \"example\"\n  message                 = \"example\"\n  enabled                 = true\n  event_types             = [\"example\"]\n  delivery_policy         = \"example\"\n  event_target_ids        = [1]\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.EventSubscription;\nimport com.pulumi.filescom.EventSubscriptionArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleEventSubscription = new EventSubscription(\"exampleEventSubscription\", EventSubscriptionArgs.builder()\n            .eventChannelId(1)\n            .workspaceId(1)\n            .applyToAllWorkspaces(true)\n            .name(\"example\")\n            .subject(\"example\")\n            .message(\"example\")\n            .enabled(true)\n            .eventTypes(\"example\")\n            .deliveryPolicy(\"example\")\n            .eventTargetIds(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleEventSubscription:\n    type: filescom:EventSubscription\n    name: example_event_subscription\n    properties:\n      eventChannelId: 1\n      workspaceId: 1\n      applyToAllWorkspaces: true\n      name: example\n      subject: example\n      message: example\n      enabled: true\n      eventTypes:\n        - example\n      deliveryPolicy: example\n      eventTargetIds:\n        - 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nEvent Subscriptions can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/eventSubscription:EventSubscription example_event_subscription 1\n```\n\n",
            "properties": {
                "applyToAllWorkspaces": {
                    "type": "boolean",
                    "description": "If true, this default-workspace subscription applies to events from all workspaces.\n"
                },
                "createdAt": {
                    "type": "string",
                    "description": "Event Subscription create date/time.\n"
                },
                "deliveryPolicy": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Event Subscription delivery policy.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether this Event Subscription can dispatch events.\n"
                },
                "eventChannelId": {
                    "type": "integer",
                    "description": "Event Channel ID\n"
                },
                "eventTargetIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Event Target IDs this subscription sends to.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Event type strings matched by this subscription. Blank means all event types.\n"
                },
                "filter": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Structured event payload filter.\n"
                },
                "message": {
                    "type": "string",
                    "description": "Custom message to include in notification emails.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Event Subscription name.\n"
                },
                "subject": {
                    "type": "string",
                    "description": "Custom subject line to use for notification emails.\n"
                },
                "updatedAt": {
                    "type": "string",
                    "description": "Event Subscription update date/time.\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. 0 means the default workspace or site-wide.\n"
                }
            },
            "required": [
                "applyToAllWorkspaces",
                "createdAt",
                "deliveryPolicy",
                "enabled",
                "eventChannelId",
                "eventTargetIds",
                "eventTypes",
                "filter",
                "message",
                "name",
                "subject",
                "updatedAt",
                "workspaceId"
            ],
            "inputProperties": {
                "applyToAllWorkspaces": {
                    "type": "boolean",
                    "description": "If true, this default-workspace subscription applies to events from all workspaces.\n"
                },
                "deliveryPolicy": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Event Subscription delivery policy.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether this Event Subscription can dispatch events.\n"
                },
                "eventChannelId": {
                    "type": "integer",
                    "description": "Event Channel ID\n"
                },
                "eventTargetIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Event Target IDs this subscription sends to.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Event type strings matched by this subscription. Blank means all event types.\n"
                },
                "filter": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Structured event payload filter.\n"
                },
                "message": {
                    "type": "string",
                    "description": "Custom message to include in notification emails.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Event Subscription name.\n"
                },
                "subject": {
                    "type": "string",
                    "description": "Custom subject line to use for notification emails.\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. 0 means the default workspace or site-wide.\n"
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering EventSubscription resources.\n",
                "properties": {
                    "applyToAllWorkspaces": {
                        "type": "boolean",
                        "description": "If true, this default-workspace subscription applies to events from all workspaces.\n"
                    },
                    "createdAt": {
                        "type": "string",
                        "description": "Event Subscription create date/time.\n"
                    },
                    "deliveryPolicy": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Event Subscription delivery policy.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Whether this Event Subscription can dispatch events.\n"
                    },
                    "eventChannelId": {
                        "type": "integer",
                        "description": "Event Channel ID\n"
                    },
                    "eventTargetIds": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "Event Target IDs this subscription sends to.\n"
                    },
                    "eventTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Event type strings matched by this subscription. Blank means all event types.\n"
                    },
                    "filter": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Structured event payload filter.\n"
                    },
                    "message": {
                        "type": "string",
                        "description": "Custom message to include in notification emails.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Event Subscription name.\n"
                    },
                    "subject": {
                        "type": "string",
                        "description": "Custom subject line to use for notification emails.\n"
                    },
                    "updatedAt": {
                        "type": "string",
                        "description": "Event Subscription update date/time.\n"
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID. 0 means the default workspace or site-wide.\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/eventTarget:EventTarget": {
            "description": "An EventTarget is a delivery destination for EventRecords.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleEventTarget = new filescom.EventTarget(\"example_event_target\", {\n    name: \"example\",\n    workspaceId: 1,\n    applyToAllWorkspaces: true,\n    enabled: true,\n    config: \"example\",\n    deliveryPolicy: \"example\",\n    targetType: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_event_target = filescom.EventTarget(\"example_event_target\",\n    name=\"example\",\n    workspace_id=1,\n    apply_to_all_workspaces=True,\n    enabled=True,\n    config=\"example\",\n    delivery_policy=\"example\",\n    target_type=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleEventTarget = new Filescom.EventTarget(\"example_event_target\", new()\n    {\n        Name = \"example\",\n        WorkspaceId = 1,\n        ApplyToAllWorkspaces = true,\n        Enabled = true,\n        Config = \"example\",\n        DeliveryPolicy = \"example\",\n        TargetType = \"example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewEventTarget(ctx, \"example_event_target\", \u0026filescom.EventTargetArgs{\n\t\t\tName:                 pulumi.String(\"example\"),\n\t\t\tWorkspaceId:          pulumi.Int(1),\n\t\t\tApplyToAllWorkspaces: pulumi.Bool(true),\n\t\t\tEnabled:              pulumi.Bool(true),\n\t\t\tConfig:               pulumi.Any(\"example\"),\n\t\t\tDeliveryPolicy:       pulumi.Any(\"example\"),\n\t\t\tTargetType:           pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_eventtarget\" \"example_event_target\" {\n  name                    = \"example\"\n  workspace_id            = 1\n  apply_to_all_workspaces = true\n  enabled                 = true\n  config                  = \"example\"\n  delivery_policy         = \"example\"\n  target_type             = \"example\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.EventTarget;\nimport com.pulumi.filescom.EventTargetArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleEventTarget = new EventTarget(\"exampleEventTarget\", EventTargetArgs.builder()\n            .name(\"example\")\n            .workspaceId(1)\n            .applyToAllWorkspaces(true)\n            .enabled(true)\n            .config(\"example\")\n            .deliveryPolicy(\"example\")\n            .targetType(\"example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleEventTarget:\n    type: filescom:EventTarget\n    name: example_event_target\n    properties:\n      name: example\n      workspaceId: 1\n      applyToAllWorkspaces: true\n      enabled: true\n      config: example\n      deliveryPolicy: example\n      targetType: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nEvent Targets can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/eventTarget:EventTarget example_event_target 1\n```\n\n",
            "properties": {
                "applyToAllWorkspaces": {
                    "type": "boolean",
                    "description": "If true, this default-workspace target can receive events from all workspaces.\n"
                },
                "config": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Event Target configuration. Folder targets accept path and format (json or csv).\n"
                },
                "createdAt": {
                    "type": "string",
                    "description": "Event Target create date/time.\n"
                },
                "deliveryPolicy": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Event Target delivery policy. Email and folder targets support\u003cspan pulumi-lang-nodejs=\" batchInterval \" pulumi-lang-dotnet=\" BatchInterval \" pulumi-lang-go=\" batchInterval \" pulumi-lang-python=\" batch_interval \" pulumi-lang-yaml=\" batchInterval \" pulumi-lang-java=\" batchInterval \" pulumi-lang-hcl=\" batch_interval \"\u003e batchInterval \u003c/span\u003ein seconds, between 600 and 86400.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether this Event Target can receive events.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Event Target name.\n"
                },
                "targetType": {
                    "type": "string",
                    "description": "Event Target type.\n"
                },
                "updatedAt": {
                    "type": "string",
                    "description": "Event Target update date/time.\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. 0 means the default workspace or site-wide.\n"
                }
            },
            "required": [
                "applyToAllWorkspaces",
                "config",
                "createdAt",
                "deliveryPolicy",
                "enabled",
                "name",
                "targetType",
                "updatedAt",
                "workspaceId"
            ],
            "inputProperties": {
                "applyToAllWorkspaces": {
                    "type": "boolean",
                    "description": "If true, this default-workspace target can receive events from all workspaces.\n"
                },
                "config": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Event Target configuration. Folder targets accept path and format (json or csv).\n"
                },
                "deliveryPolicy": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Event Target delivery policy. Email and folder targets support\u003cspan pulumi-lang-nodejs=\" batchInterval \" pulumi-lang-dotnet=\" BatchInterval \" pulumi-lang-go=\" batchInterval \" pulumi-lang-python=\" batch_interval \" pulumi-lang-yaml=\" batchInterval \" pulumi-lang-java=\" batchInterval \" pulumi-lang-hcl=\" batch_interval \"\u003e batchInterval \u003c/span\u003ein seconds, between 600 and 86400.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether this Event Target can receive events.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Event Target name.\n"
                },
                "targetType": {
                    "type": "string",
                    "description": "Event Target type.\n",
                    "willReplaceOnChanges": true
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. 0 means the default workspace or site-wide.\n"
                }
            },
            "requiredInputs": [
                "config",
                "targetType"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering EventTarget resources.\n",
                "properties": {
                    "applyToAllWorkspaces": {
                        "type": "boolean",
                        "description": "If true, this default-workspace target can receive events from all workspaces.\n"
                    },
                    "config": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Event Target configuration. Folder targets accept path and format (json or csv).\n"
                    },
                    "createdAt": {
                        "type": "string",
                        "description": "Event Target create date/time.\n"
                    },
                    "deliveryPolicy": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Event Target delivery policy. Email and folder targets support\u003cspan pulumi-lang-nodejs=\" batchInterval \" pulumi-lang-dotnet=\" BatchInterval \" pulumi-lang-go=\" batchInterval \" pulumi-lang-python=\" batch_interval \" pulumi-lang-yaml=\" batchInterval \" pulumi-lang-java=\" batchInterval \" pulumi-lang-hcl=\" batch_interval \"\u003e batchInterval \u003c/span\u003ein seconds, between 600 and 86400.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Whether this Event Target can receive events.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Event Target name.\n"
                    },
                    "targetType": {
                        "type": "string",
                        "description": "Event Target type.\n"
                    },
                    "updatedAt": {
                        "type": "string",
                        "description": "Event Target update date/time.\n"
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID. 0 means the default workspace or site-wide.\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/expectation:Expectation": {
            "description": "Expectations let your Files.com site define what “correct” file delivery looks like, continuously evaluate whether it happened, and keep history when it did not.\n\n\n\nExpectations are meant to answer operational questions like:\n\n\n\n* Did the expected file arrive?\n\n* Was it on time?\n\n* Did it meet the required shape and count rules?\n\n* Is there an active issue someone needs to acknowledge?\n\n\n\nExpectations are different from Automations and Syncs. Automations and Syncs act on files; Expectations monitor whether expected files arrived on time, in the right place, and in the right shape. In practice, Expectations are the sensor and Automations are the actuator.\n\n\n\nAn Expectation combines four concepts:\n\n\n\n1. **Scope**: where to look for candidate files, using \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e, and optional \u003cspan pulumi-lang-nodejs=\"`excludePattern`\" pulumi-lang-dotnet=\"`ExcludePattern`\" pulumi-lang-go=\"`excludePattern`\" pulumi-lang-python=\"`exclude_pattern`\" pulumi-lang-yaml=\"`excludePattern`\" pulumi-lang-java=\"`excludePattern`\" pulumi-lang-hcl=\"`exclude_pattern`\"\u003e`excludePattern`\u003c/span\u003e.\n\n2. **Trigger / timing**: when a window opens and how long it stays eligible, using \u003cspan pulumi-lang-nodejs=\"`trigger`\" pulumi-lang-dotnet=\"`Trigger`\" pulumi-lang-go=\"`trigger`\" pulumi-lang-python=\"`trigger`\" pulumi-lang-yaml=\"`trigger`\" pulumi-lang-java=\"`trigger`\" pulumi-lang-hcl=\"`trigger`\"\u003e`trigger`\u003c/span\u003e, schedule fields, \u003cspan pulumi-lang-nodejs=\"`lookbackInterval`\" pulumi-lang-dotnet=\"`LookbackInterval`\" pulumi-lang-go=\"`lookbackInterval`\" pulumi-lang-python=\"`lookback_interval`\" pulumi-lang-yaml=\"`lookbackInterval`\" pulumi-lang-java=\"`lookbackInterval`\" pulumi-lang-hcl=\"`lookback_interval`\"\u003e`lookbackInterval`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lateAcceptanceInterval`\" pulumi-lang-dotnet=\"`LateAcceptanceInterval`\" pulumi-lang-go=\"`lateAcceptanceInterval`\" pulumi-lang-python=\"`late_acceptance_interval`\" pulumi-lang-yaml=\"`lateAcceptanceInterval`\" pulumi-lang-java=\"`lateAcceptanceInterval`\" pulumi-lang-hcl=\"`late_acceptance_interval`\"\u003e`lateAcceptanceInterval`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`inactivityInterval`\" pulumi-lang-dotnet=\"`InactivityInterval`\" pulumi-lang-go=\"`inactivityInterval`\" pulumi-lang-python=\"`inactivity_interval`\" pulumi-lang-yaml=\"`inactivityInterval`\" pulumi-lang-java=\"`inactivityInterval`\" pulumi-lang-hcl=\"`inactivity_interval`\"\u003e`inactivityInterval`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`maxOpenInterval`\" pulumi-lang-dotnet=\"`MaxOpenInterval`\" pulumi-lang-go=\"`maxOpenInterval`\" pulumi-lang-python=\"`max_open_interval`\" pulumi-lang-yaml=\"`maxOpenInterval`\" pulumi-lang-java=\"`maxOpenInterval`\" pulumi-lang-hcl=\"`max_open_interval`\"\u003e`maxOpenInterval`\u003c/span\u003e.\n\n3. **Criteria**: what must be true for the window to succeed, using the structured \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\" pulumi-lang-hcl=\"`criteria`\"\u003e`criteria`\u003c/span\u003e JSON document.\n\n4. **Outcome history**: what happened over time, exposed through `ExpectationEvaluation` history and `ExpectationIncident` lifecycle records.\n\n\n\n## Scope and matching\n\n\n\nExpectations reuse the familiar Files.com path-plus-glob model.\n\n\n\nThe \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e field identifies the folder scope, while \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e identifies which files within that scope are candidates. \u003cspan pulumi-lang-nodejs=\"`excludePattern`\" pulumi-lang-dotnet=\"`ExcludePattern`\" pulumi-lang-go=\"`excludePattern`\" pulumi-lang-python=\"`exclude_pattern`\" pulumi-lang-yaml=\"`excludePattern`\" pulumi-lang-java=\"`excludePattern`\" pulumi-lang-hcl=\"`exclude_pattern`\"\u003e`excludePattern`\u003c/span\u003e removes files from consideration.\n\n\n\nLike Automations, these fields support glob-style matching. Expectations treat those matches as one logical candidate set for each window. A single Expectation does not implicitly fan out into separate per-customer or per-folder evaluations just because the path contains wildcards.\n\n\n\n## Expectation windows\n\n\n\nExpectations are evaluated in windows.\n\n\n\nEach window is persisted as an `ExpectationEvaluation` record. A window opens, remains \u003cspan pulumi-lang-nodejs=\"`open`\" pulumi-lang-dotnet=\"`Open`\" pulumi-lang-go=\"`open`\" pulumi-lang-python=\"`open`\" pulumi-lang-yaml=\"`open`\" pulumi-lang-java=\"`open`\" pulumi-lang-hcl=\"`open`\"\u003e`open`\u003c/span\u003e while evidence can still arrive, and then closes into a terminal result such as \u003cspan pulumi-lang-nodejs=\"`success`\" pulumi-lang-dotnet=\"`Success`\" pulumi-lang-go=\"`success`\" pulumi-lang-python=\"`success`\" pulumi-lang-yaml=\"`success`\" pulumi-lang-java=\"`success`\" pulumi-lang-hcl=\"`success`\"\u003e`success`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`late`\" pulumi-lang-dotnet=\"`Late`\" pulumi-lang-go=\"`late`\" pulumi-lang-python=\"`late`\" pulumi-lang-yaml=\"`late`\" pulumi-lang-java=\"`late`\" pulumi-lang-hcl=\"`late`\"\u003e`late`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`missing`\" pulumi-lang-dotnet=\"`Missing`\" pulumi-lang-go=\"`missing`\" pulumi-lang-python=\"`missing`\" pulumi-lang-yaml=\"`missing`\" pulumi-lang-java=\"`missing`\" pulumi-lang-hcl=\"`missing`\"\u003e`missing`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`invalid`\" pulumi-lang-dotnet=\"`Invalid`\" pulumi-lang-go=\"`invalid`\" pulumi-lang-python=\"`invalid`\" pulumi-lang-yaml=\"`invalid`\" pulumi-lang-java=\"`invalid`\" pulumi-lang-hcl=\"`invalid`\"\u003e`invalid`\u003c/span\u003e.\n\n\n\nAn Expectation has only one open window at a time.\n\n\n\n## Trigger modes\n\n\n\nExpectations can open windows in three ways:\n\n\n\n* \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e: run on a recurring daily/weekly/monthly/quarterly/yearly cadence using \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\" pulumi-lang-hcl=\"`interval`\"\u003e`interval`\u003c/span\u003e and either \u003cspan pulumi-lang-nodejs=\"`recurringDay`\" pulumi-lang-dotnet=\"`RecurringDay`\" pulumi-lang-go=\"`recurringDay`\" pulumi-lang-python=\"`recurring_day`\" pulumi-lang-yaml=\"`recurringDay`\" pulumi-lang-java=\"`recurringDay`\" pulumi-lang-hcl=\"`recurring_day`\"\u003e`recurringDay`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`recurringDays`\" pulumi-lang-dotnet=\"`RecurringDays`\" pulumi-lang-go=\"`recurringDays`\" pulumi-lang-python=\"`recurring_days`\" pulumi-lang-yaml=\"`recurringDays`\" pulumi-lang-java=\"`recurringDays`\" pulumi-lang-hcl=\"`recurring_days`\"\u003e`recurringDays`\u003c/span\u003e.\n\n* \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e: run using either the reusable Site-level Schedule selected by \u003cspan pulumi-lang-nodejs=\"`scheduleId`\" pulumi-lang-dotnet=\"`ScheduleId`\" pulumi-lang-go=\"`scheduleId`\" pulumi-lang-python=\"`schedule_id`\" pulumi-lang-yaml=\"`scheduleId`\" pulumi-lang-java=\"`scheduleId`\" pulumi-lang-hcl=\"`schedule_id`\"\u003e`scheduleId`\u003c/span\u003e or specific weekdays and times stored on the Expectation.\n\n* \u003cspan pulumi-lang-nodejs=\"`manual`\" pulumi-lang-dotnet=\"`Manual`\" pulumi-lang-go=\"`manual`\" pulumi-lang-python=\"`manual`\" pulumi-lang-yaml=\"`manual`\" pulumi-lang-java=\"`manual`\" pulumi-lang-hcl=\"`manual`\"\u003e`manual`\u003c/span\u003e: an operator explicitly opens the window.\n\n\n\nSchedule-driven expectations define an on-time deadline and may optionally remain eligible to close as \u003cspan pulumi-lang-nodejs=\"`late`\" pulumi-lang-dotnet=\"`Late`\" pulumi-lang-go=\"`late`\" pulumi-lang-python=\"`late`\" pulumi-lang-yaml=\"`late`\" pulumi-lang-java=\"`late`\" pulumi-lang-hcl=\"`late`\"\u003e`late`\u003c/span\u003e during \u003cspan pulumi-lang-nodejs=\"`lateAcceptanceInterval`\" pulumi-lang-dotnet=\"`LateAcceptanceInterval`\" pulumi-lang-go=\"`lateAcceptanceInterval`\" pulumi-lang-python=\"`late_acceptance_interval`\" pulumi-lang-yaml=\"`lateAcceptanceInterval`\" pulumi-lang-java=\"`lateAcceptanceInterval`\" pulumi-lang-hcl=\"`late_acceptance_interval`\"\u003e`lateAcceptanceInterval`\u003c/span\u003e.\n\n\n\nManual expectations have no concept of \u003cspan pulumi-lang-nodejs=\"`late`\" pulumi-lang-dotnet=\"`Late`\" pulumi-lang-go=\"`late`\" pulumi-lang-python=\"`late`\" pulumi-lang-yaml=\"`late`\" pulumi-lang-java=\"`late`\" pulumi-lang-hcl=\"`late`\"\u003e`late`\u003c/span\u003e; they open when triggered and close based on inactivity or hard-stop timing.\n\n\n\n## Success criteria\n\n\n\nThe \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\" pulumi-lang-hcl=\"`criteria`\"\u003e`criteria`\u003c/span\u003e field is a structured JSON object describing what counts as success for the window.\n\n\n\nCriteria v1 can express things like:\n\n\n\n* file count constraints\n\n* total byte constraints\n\n* allowed extensions\n\n* filename regex validation\n\n* forbidden files\n\n* required named or globbed files with their own per-file constraints\n\n\n\nCriteria v2 adds \u003cspan pulumi-lang-nodejs=\"`contentValidation`\" pulumi-lang-dotnet=\"`ContentValidation`\" pulumi-lang-go=\"`contentValidation`\" pulumi-lang-python=\"`content_validation`\" pulumi-lang-yaml=\"`contentValidation`\" pulumi-lang-java=\"`contentValidation`\" pulumi-lang-hcl=\"`content_validation`\"\u003e`contentValidation`\u003c/span\u003e, which runs a customer-authored Files Transform Script in either \u003cspan pulumi-lang-nodejs=\"`perFile`\" pulumi-lang-dotnet=\"`PerFile`\" pulumi-lang-go=\"`perFile`\" pulumi-lang-python=\"`per_file`\" pulumi-lang-yaml=\"`perFile`\" pulumi-lang-java=\"`perFile`\" pulumi-lang-hcl=\"`per_file`\"\u003e`perFile`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`wholeBatch`\" pulumi-lang-dotnet=\"`WholeBatch`\" pulumi-lang-go=\"`wholeBatch`\" pulumi-lang-python=\"`whole_batch`\" pulumi-lang-yaml=\"`wholeBatch`\" pulumi-lang-java=\"`wholeBatch`\" pulumi-lang-hcl=\"`whole_batch`\"\u003e`wholeBatch`\u003c/span\u003e mode. Per-file scripts receive the file contents parsed by FTS as \u003cspan pulumi-lang-nodejs=\"`payload`\" pulumi-lang-dotnet=\"`Payload`\" pulumi-lang-go=\"`payload`\" pulumi-lang-python=\"`payload`\" pulumi-lang-yaml=\"`payload`\" pulumi-lang-java=\"`payload`\" pulumi-lang-hcl=\"`payload`\"\u003e`payload`\u003c/span\u003e. Whole-batch scripts receive an array of file objects containing \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\" pulumi-lang-hcl=\"`name`\"\u003e`name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`size`\" pulumi-lang-dotnet=\"`Size`\" pulumi-lang-go=\"`size`\" pulumi-lang-python=\"`size`\" pulumi-lang-yaml=\"`size`\" pulumi-lang-java=\"`size`\" pulumi-lang-hcl=\"`size`\"\u003e`size`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lastModifiedAt`\" pulumi-lang-dotnet=\"`LastModifiedAt`\" pulumi-lang-go=\"`lastModifiedAt`\" pulumi-lang-python=\"`last_modified_at`\" pulumi-lang-yaml=\"`lastModifiedAt`\" pulumi-lang-java=\"`lastModifiedAt`\" pulumi-lang-hcl=\"`last_modified_at`\"\u003e`lastModifiedAt`\u003c/span\u003e, and each file's parsed \u003cspan pulumi-lang-nodejs=\"`payload`\" pulumi-lang-dotnet=\"`Payload`\" pulumi-lang-go=\"`payload`\" pulumi-lang-python=\"`payload`\" pulumi-lang-yaml=\"`payload`\" pulumi-lang-java=\"`payload`\" pulumi-lang-hcl=\"`payload`\"\u003e`payload`\u003c/span\u003e.\n\n\n\nA content-validation script returns \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e or `{ success: true }` to pass. It returns \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e or `{ success: false, errors: [...] }` to fail. Error entries may be strings or structured objects with values such as \u003cspan pulumi-lang-nodejs=\"`message`\" pulumi-lang-dotnet=\"`Message`\" pulumi-lang-go=\"`message`\" pulumi-lang-python=\"`message`\" pulumi-lang-yaml=\"`message`\" pulumi-lang-java=\"`message`\" pulumi-lang-hcl=\"`message`\"\u003e`message`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`field`\" pulumi-lang-dotnet=\"`Field`\" pulumi-lang-go=\"`field`\" pulumi-lang-python=\"`field`\" pulumi-lang-yaml=\"`field`\" pulumi-lang-java=\"`field`\" pulumi-lang-hcl=\"`field`\"\u003e`field`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`row`\" pulumi-lang-dotnet=\"`Row`\" pulumi-lang-go=\"`row`\" pulumi-lang-python=\"`row`\" pulumi-lang-yaml=\"`row`\" pulumi-lang-java=\"`row`\" pulumi-lang-hcl=\"`row`\"\u003e`row`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`expected`\" pulumi-lang-dotnet=\"`Expected`\" pulumi-lang-go=\"`expected`\" pulumi-lang-python=\"`expected`\" pulumi-lang-yaml=\"`expected`\" pulumi-lang-java=\"`expected`\" pulumi-lang-hcl=\"`expected`\"\u003e`expected`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`actual`\" pulumi-lang-dotnet=\"`Actual`\" pulumi-lang-go=\"`actual`\" pulumi-lang-python=\"`actual`\" pulumi-lang-yaml=\"`actual`\" pulumi-lang-java=\"`actual`\" pulumi-lang-hcl=\"`actual`\"\u003e`actual`\u003c/span\u003e; these details are preserved in readable form in the Evaluation's \u003cspan pulumi-lang-nodejs=\"`criteriaErrors`\" pulumi-lang-dotnet=\"`CriteriaErrors`\" pulumi-lang-go=\"`criteriaErrors`\" pulumi-lang-python=\"`criteria_errors`\" pulumi-lang-yaml=\"`criteriaErrors`\" pulumi-lang-java=\"`criteriaErrors`\" pulumi-lang-hcl=\"`criteria_errors`\"\u003e`criteriaErrors`\u003c/span\u003e. Script, parsing, download, and size-limit errors also fail the criterion. Each file is limited to 100 MB, and whole-batch mode additionally limits the combined raw input to 100 MB.\n\n\n\nRequired file rule keys may also include standard strftime-style date/time tokens like `%Y`, `%m`, and `%d`. Those tokens are resolved at evaluation time using a stable window anchor: schedule-driven expectations use the window's \u003cspan pulumi-lang-nodejs=\"`deadlineAt`\" pulumi-lang-dotnet=\"`DeadlineAt`\" pulumi-lang-go=\"`deadlineAt`\" pulumi-lang-python=\"`deadline_at`\" pulumi-lang-yaml=\"`deadlineAt`\" pulumi-lang-java=\"`deadlineAt`\" pulumi-lang-hcl=\"`deadline_at`\"\u003e`deadlineAt`\u003c/span\u003e, while manual and upload expectations use the window's \u003cspan pulumi-lang-nodejs=\"`openedAt`\" pulumi-lang-dotnet=\"`OpenedAt`\" pulumi-lang-go=\"`openedAt`\" pulumi-lang-python=\"`opened_at`\" pulumi-lang-yaml=\"`openedAt`\" pulumi-lang-java=\"`openedAt`\" pulumi-lang-hcl=\"`opened_at`\"\u003e`openedAt`\u003c/span\u003e.\n\n\n\n## History and incidents\n\n\n\nThe Expectation itself stores summary state like \u003cspan pulumi-lang-nodejs=\"`lastEvaluatedAt`\" pulumi-lang-dotnet=\"`LastEvaluatedAt`\" pulumi-lang-go=\"`lastEvaluatedAt`\" pulumi-lang-python=\"`last_evaluated_at`\" pulumi-lang-yaml=\"`lastEvaluatedAt`\" pulumi-lang-java=\"`lastEvaluatedAt`\" pulumi-lang-hcl=\"`last_evaluated_at`\"\u003e`lastEvaluatedAt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lastSuccessAt`\" pulumi-lang-dotnet=\"`LastSuccessAt`\" pulumi-lang-go=\"`lastSuccessAt`\" pulumi-lang-python=\"`last_success_at`\" pulumi-lang-yaml=\"`lastSuccessAt`\" pulumi-lang-java=\"`lastSuccessAt`\" pulumi-lang-hcl=\"`last_success_at`\"\u003e`lastSuccessAt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lastFailureAt`\" pulumi-lang-dotnet=\"`LastFailureAt`\" pulumi-lang-go=\"`lastFailureAt`\" pulumi-lang-python=\"`last_failure_at`\" pulumi-lang-yaml=\"`lastFailureAt`\" pulumi-lang-java=\"`lastFailureAt`\" pulumi-lang-hcl=\"`last_failure_at`\"\u003e`lastFailureAt`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`lastResult`\" pulumi-lang-dotnet=\"`LastResult`\" pulumi-lang-go=\"`lastResult`\" pulumi-lang-python=\"`last_result`\" pulumi-lang-yaml=\"`lastResult`\" pulumi-lang-java=\"`lastResult`\" pulumi-lang-hcl=\"`last_result`\"\u003e`lastResult`\u003c/span\u003e.\n\n\n\nFor deeper inspection:\n\n\n\n* `ExpectationEvaluation` history shows each open or closed window and the evidence captured for it.\n\n* `ExpectationIncident` records track ongoing failure situations over time, including acknowledge, snooze, and resolve actions.\n\n\n\nManual windows do not open incidents in v1. Schedule-driven failures can open incidents, and later qualifying success can resolve them.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleExpectation = new filescom.Expectation(\"example_expectation\", {\n    name: \"Daily Vendor Feed\",\n    description: \"Wait for the vendor CSV every morning.\",\n    path: \"incoming/vendor_a\",\n    source: \"*.csv\",\n    excludePattern: \"*.tmp\",\n    disabled: true,\n    trigger: \"manual\",\n    interval: \"day\",\n    recurringDay: 3,\n    recurringDays: [\n        1,\n        15,\n    ],\n    scheduleId: 1,\n    scheduleDaysOfWeeks: [\n        1,\n        3,\n        5,\n    ],\n    scheduleTimesOfDays: [\"06:00\"],\n    scheduleTimeZone: \"UTC\",\n    holidayRegion: \"us\",\n    lookbackInterval: 3600,\n    lateAcceptanceInterval: 900,\n    inactivityInterval: 300,\n    maxOpenInterval: 43200,\n    criteria: {\n        count: {\n            exact: 1,\n        },\n        extensions: [\"csv\"],\n    },\n    workspaceId: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_expectation = filescom.Expectation(\"example_expectation\",\n    name=\"Daily Vendor Feed\",\n    description=\"Wait for the vendor CSV every morning.\",\n    path=\"incoming/vendor_a\",\n    source=\"*.csv\",\n    exclude_pattern=\"*.tmp\",\n    disabled=True,\n    trigger=\"manual\",\n    interval=\"day\",\n    recurring_day=3,\n    recurring_days=[\n        1,\n        15,\n    ],\n    schedule_id=1,\n    schedule_days_of_weeks=[\n        1,\n        3,\n        5,\n    ],\n    schedule_times_of_days=[\"06:00\"],\n    schedule_time_zone=\"UTC\",\n    holiday_region=\"us\",\n    lookback_interval=3600,\n    late_acceptance_interval=900,\n    inactivity_interval=300,\n    max_open_interval=43200,\n    criteria={\n        \"count\": {\n            \"exact\": 1,\n        },\n        \"extensions\": [\"csv\"],\n    },\n    workspace_id=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleExpectation = new Filescom.Expectation(\"example_expectation\", new()\n    {\n        Name = \"Daily Vendor Feed\",\n        Description = \"Wait for the vendor CSV every morning.\",\n        Path = \"incoming/vendor_a\",\n        Source = \"*.csv\",\n        ExcludePattern = \"*.tmp\",\n        Disabled = true,\n        Trigger = \"manual\",\n        Interval = \"day\",\n        RecurringDay = 3,\n        RecurringDays = new[]\n        {\n            1,\n            15,\n        },\n        ScheduleId = 1,\n        ScheduleDaysOfWeeks = new[]\n        {\n            1,\n            3,\n            5,\n        },\n        ScheduleTimesOfDays = new[]\n        {\n            \"06:00\",\n        },\n        ScheduleTimeZone = \"UTC\",\n        HolidayRegion = \"us\",\n        LookbackInterval = 3600,\n        LateAcceptanceInterval = 900,\n        InactivityInterval = 300,\n        MaxOpenInterval = 43200,\n        Criteria = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"count\"] = new Dictionary\u003cstring, object?\u003e\n            {\n                [\"exact\"] = 1,\n            },\n            [\"extensions\"] = new[]\n            {\n                \"csv\",\n            },\n        },\n        WorkspaceId = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewExpectation(ctx, \"example_expectation\", \u0026filescom.ExpectationArgs{\n\t\t\tName:           pulumi.String(\"Daily Vendor Feed\"),\n\t\t\tDescription:    pulumi.String(\"Wait for the vendor CSV every morning.\"),\n\t\t\tPath:           pulumi.String(\"incoming/vendor_a\"),\n\t\t\tSource:         pulumi.String(\"*.csv\"),\n\t\t\tExcludePattern: pulumi.String(\"*.tmp\"),\n\t\t\tDisabled:       pulumi.Bool(true),\n\t\t\tTrigger:        pulumi.String(\"manual\"),\n\t\t\tInterval:       pulumi.String(\"day\"),\n\t\t\tRecurringDay:   pulumi.Int(3),\n\t\t\tRecurringDays: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(15),\n\t\t\t},\n\t\t\tScheduleId: pulumi.Int(1),\n\t\t\tScheduleDaysOfWeeks: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(3),\n\t\t\t\tpulumi.Int(5),\n\t\t\t},\n\t\t\tScheduleTimesOfDays: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"06:00\"),\n\t\t\t},\n\t\t\tScheduleTimeZone:       pulumi.String(\"UTC\"),\n\t\t\tHolidayRegion:          pulumi.String(\"us\"),\n\t\t\tLookbackInterval:       pulumi.Int(3600),\n\t\t\tLateAcceptanceInterval: pulumi.Int(900),\n\t\t\tInactivityInterval:     pulumi.Int(300),\n\t\t\tMaxOpenInterval:        pulumi.Int(43200),\n\t\t\tCriteria: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"count\": map[string]int{\n\t\t\t\t\t\"exact\": 1,\n\t\t\t\t},\n\t\t\t\t\"extensions\": []string{\n\t\t\t\t\t\"csv\",\n\t\t\t\t},\n\t\t\t}),\n\t\t\tWorkspaceId: pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_expectation\" \"example_expectation\" {\n  name                     = \"Daily Vendor Feed\"\n  description              = \"Wait for the vendor CSV every morning.\"\n  path                     = \"incoming/vendor_a\"\n  source                   = \"*.csv\"\n  exclude_pattern          = \"*.tmp\"\n  disabled                 = true\n  trigger                  = \"manual\"\n  interval                 = \"day\"\n  recurring_day            = 3\n  recurring_days           = [1, 15]\n  schedule_id              = 1\n  schedule_days_of_weeks   = [1, 3, 5]\n  schedule_times_of_days   = [\"06:00\"]\n  schedule_time_zone       = \"UTC\"\n  holiday_region           = \"us\"\n  lookback_interval        = 3600\n  late_acceptance_interval = 900\n  inactivity_interval      = 300\n  max_open_interval        = 43200\n  criteria = {\n    \"count\" = {\n      \"exact\" = 1\n    }\n    \"extensions\" = [\"csv\"]\n  }\n  workspace_id = 0\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.Expectation;\nimport com.pulumi.filescom.ExpectationArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleExpectation = new Expectation(\"exampleExpectation\", ExpectationArgs.builder()\n            .name(\"Daily Vendor Feed\")\n            .description(\"Wait for the vendor CSV every morning.\")\n            .path(\"incoming/vendor_a\")\n            .source(\"*.csv\")\n            .excludePattern(\"*.tmp\")\n            .disabled(true)\n            .trigger(\"manual\")\n            .interval(\"day\")\n            .recurringDay(3)\n            .recurringDays(            \n                1,\n                15)\n            .scheduleId(1)\n            .scheduleDaysOfWeeks(            \n                1,\n                3,\n                5)\n            .scheduleTimesOfDays(\"06:00\")\n            .scheduleTimeZone(\"UTC\")\n            .holidayRegion(\"us\")\n            .lookbackInterval(3600)\n            .lateAcceptanceInterval(900)\n            .inactivityInterval(300)\n            .maxOpenInterval(43200)\n            .criteria(Map.ofEntries(\n                Map.entry(\"count\", Map.of(\"exact\", 1)),\n                Map.entry(\"extensions\", Arrays.asList(\"csv\"))\n            ))\n            .workspaceId(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleExpectation:\n    type: filescom:Expectation\n    name: example_expectation\n    properties:\n      name: Daily Vendor Feed\n      description: Wait for the vendor CSV every morning.\n      path: incoming/vendor_a\n      source: '*.csv'\n      excludePattern: '*.tmp'\n      disabled: true\n      trigger: manual\n      interval: day\n      recurringDay: 3\n      recurringDays:\n        - 1\n        - 15\n      scheduleId: 1\n      scheduleDaysOfWeeks:\n        - 1\n        - 3\n        - 5\n      scheduleTimesOfDays:\n        - 06:00\n      scheduleTimeZone: UTC\n      holidayRegion: us\n      lookbackInterval: 3600\n      lateAcceptanceInterval: 900\n      inactivityInterval: 300\n      maxOpenInterval: 43200\n      criteria:\n        count:\n          exact: 1\n        extensions:\n          - csv\n      workspaceId: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nExpectations can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/expectation:Expectation example_expectation 1\n```\n\n",
            "properties": {
                "createdAt": {
                    "type": "string",
                    "description": "Creation time.\n"
                },
                "criteria": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Versioned success criteria definition for the expectation. Criteria v2 supports optional FTS content validation.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Expectation description.\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "If true, the expectation is disabled.\n"
                },
                "excludePattern": {
                    "type": "string",
                    "description": "Optional source exclusion glob.\n"
                },
                "expectationsVersion": {
                    "type": "integer",
                    "description": "Criteria schema version for this expectation.\n"
                },
                "holidayRegion": {
                    "type": "string",
                    "description": "Optional holiday region used by the Expectation schedule.\n"
                },
                "inactivityInterval": {
                    "type": "integer",
                    "description": "How many quiet seconds are required before final closure.\n"
                },
                "interval": {
                    "type": "string",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies how often to run the expectation.\n"
                },
                "lastEvaluatedAt": {
                    "type": "string",
                    "description": "Last time this expectation was evaluated.\n"
                },
                "lastFailureAt": {
                    "type": "string",
                    "description": "Last time this expectation closed with a failure result.\n"
                },
                "lastResult": {
                    "type": "string",
                    "description": "Most recent terminal result for this expectation.\n"
                },
                "lastSuccessAt": {
                    "type": "string",
                    "description": "Last time this expectation closed successfully.\n"
                },
                "lateAcceptanceInterval": {
                    "type": "integer",
                    "description": "How many seconds a schedule-driven window may remain eligible to close as late.\n"
                },
                "lookbackInterval": {
                    "type": "integer",
                    "description": "How many seconds before the due boundary the window starts.\n"
                },
                "maxOpenInterval": {
                    "type": "integer",
                    "description": "Hard-stop duration in seconds for unscheduled expectations.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Expectation name.\n"
                },
                "path": {
                    "type": "string",
                    "description": "Path scope for the expectation. Supports workspace-relative presentation. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                },
                "recurringDay": {
                    "type": "integer",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this selects the day number inside the chosen interval.\n"
                },
                "recurringDays": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this selects one or more day numbers inside a \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e interval.\n"
                },
                "scheduleDaysOfWeeks": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the 0-based weekdays used by the schedule.\n"
                },
                "scheduleId": {
                    "type": "integer",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the reusable Schedule used instead of the Expectation's schedule fields.\n"
                },
                "scheduleTimeZone": {
                    "type": "string",
                    "description": "Time zone used by the Expectation schedule.\n"
                },
                "scheduleTimesOfDays": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Times of day in HH:MM format for the Expectation schedule.\n"
                },
                "source": {
                    "type": "string",
                    "description": "Source glob used to select candidate files.\n"
                },
                "trigger": {
                    "type": "string",
                    "description": "How this expectation opens windows.\n"
                },
                "updatedAt": {
                    "type": "string",
                    "description": "Last update time.\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n"
                }
            },
            "required": [
                "createdAt",
                "criteria",
                "description",
                "disabled",
                "excludePattern",
                "expectationsVersion",
                "holidayRegion",
                "inactivityInterval",
                "interval",
                "lastEvaluatedAt",
                "lastFailureAt",
                "lastResult",
                "lastSuccessAt",
                "lateAcceptanceInterval",
                "lookbackInterval",
                "maxOpenInterval",
                "name",
                "path",
                "recurringDay",
                "recurringDays",
                "scheduleDaysOfWeeks",
                "scheduleId",
                "scheduleTimeZone",
                "scheduleTimesOfDays",
                "source",
                "trigger",
                "updatedAt",
                "workspaceId"
            ],
            "inputProperties": {
                "criteria": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Versioned success criteria definition for the expectation. Criteria v2 supports optional FTS content validation.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Expectation description.\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "If true, the expectation is disabled.\n"
                },
                "excludePattern": {
                    "type": "string",
                    "description": "Optional source exclusion glob.\n"
                },
                "holidayRegion": {
                    "type": "string",
                    "description": "Optional holiday region used by the Expectation schedule.\n"
                },
                "inactivityInterval": {
                    "type": "integer",
                    "description": "How many quiet seconds are required before final closure.\n"
                },
                "interval": {
                    "type": "string",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies how often to run the expectation.\n"
                },
                "lateAcceptanceInterval": {
                    "type": "integer",
                    "description": "How many seconds a schedule-driven window may remain eligible to close as late.\n"
                },
                "lookbackInterval": {
                    "type": "integer",
                    "description": "How many seconds before the due boundary the window starts.\n"
                },
                "maxOpenInterval": {
                    "type": "integer",
                    "description": "Hard-stop duration in seconds for unscheduled expectations.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Expectation name.\n"
                },
                "path": {
                    "type": "string",
                    "description": "Path scope for the expectation. Supports workspace-relative presentation. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                },
                "recurringDay": {
                    "type": "integer",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this selects the day number inside the chosen interval.\n"
                },
                "recurringDays": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this selects one or more day numbers inside a \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e interval.\n"
                },
                "scheduleDaysOfWeeks": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the 0-based weekdays used by the schedule.\n"
                },
                "scheduleId": {
                    "type": "integer",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the reusable Schedule used instead of the Expectation's schedule fields.\n"
                },
                "scheduleTimeZone": {
                    "type": "string",
                    "description": "Time zone used by the Expectation schedule.\n"
                },
                "scheduleTimesOfDays": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Times of day in HH:MM format for the Expectation schedule.\n"
                },
                "source": {
                    "type": "string",
                    "description": "Source glob used to select candidate files.\n"
                },
                "trigger": {
                    "type": "string",
                    "description": "How this expectation opens windows.\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n"
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Expectation resources.\n",
                "properties": {
                    "createdAt": {
                        "type": "string",
                        "description": "Creation time.\n"
                    },
                    "criteria": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Versioned success criteria definition for the expectation. Criteria v2 supports optional FTS content validation.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Expectation description.\n"
                    },
                    "disabled": {
                        "type": "boolean",
                        "description": "If true, the expectation is disabled.\n"
                    },
                    "excludePattern": {
                        "type": "string",
                        "description": "Optional source exclusion glob.\n"
                    },
                    "expectationsVersion": {
                        "type": "integer",
                        "description": "Criteria schema version for this expectation.\n"
                    },
                    "holidayRegion": {
                        "type": "string",
                        "description": "Optional holiday region used by the Expectation schedule.\n"
                    },
                    "inactivityInterval": {
                        "type": "integer",
                        "description": "How many quiet seconds are required before final closure.\n"
                    },
                    "interval": {
                        "type": "string",
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies how often to run the expectation.\n"
                    },
                    "lastEvaluatedAt": {
                        "type": "string",
                        "description": "Last time this expectation was evaluated.\n"
                    },
                    "lastFailureAt": {
                        "type": "string",
                        "description": "Last time this expectation closed with a failure result.\n"
                    },
                    "lastResult": {
                        "type": "string",
                        "description": "Most recent terminal result for this expectation.\n"
                    },
                    "lastSuccessAt": {
                        "type": "string",
                        "description": "Last time this expectation closed successfully.\n"
                    },
                    "lateAcceptanceInterval": {
                        "type": "integer",
                        "description": "How many seconds a schedule-driven window may remain eligible to close as late.\n"
                    },
                    "lookbackInterval": {
                        "type": "integer",
                        "description": "How many seconds before the due boundary the window starts.\n"
                    },
                    "maxOpenInterval": {
                        "type": "integer",
                        "description": "Hard-stop duration in seconds for unscheduled expectations.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Expectation name.\n"
                    },
                    "path": {
                        "type": "string",
                        "description": "Path scope for the expectation. Supports workspace-relative presentation. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                    },
                    "recurringDay": {
                        "type": "integer",
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this selects the day number inside the chosen interval.\n"
                    },
                    "recurringDays": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this selects one or more day numbers inside a \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e interval.\n"
                    },
                    "scheduleDaysOfWeeks": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the 0-based weekdays used by the schedule.\n"
                    },
                    "scheduleId": {
                        "type": "integer",
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the reusable Schedule used instead of the Expectation's schedule fields.\n"
                    },
                    "scheduleTimeZone": {
                        "type": "string",
                        "description": "Time zone used by the Expectation schedule.\n"
                    },
                    "scheduleTimesOfDays": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Times of day in HH:MM format for the Expectation schedule.\n"
                    },
                    "source": {
                        "type": "string",
                        "description": "Source glob used to select candidate files.\n"
                    },
                    "trigger": {
                        "type": "string",
                        "description": "How this expectation opens windows.\n"
                    },
                    "updatedAt": {
                        "type": "string",
                        "description": "Last update time.\n"
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/file:File": {
            "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleFile = new filescom.File(\"example_file\", {\n    source: \"path\",\n    md5: \"17c54824e9931a4688ca032d03f6663c\",\n    path: \"path\",\n    customMetadata: {\n        key: \"value\",\n    },\n    providedMtime: \"2000-01-01T01:00:00Z\",\n    priorityColor: \"red\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_file = filescom.File(\"example_file\",\n    source=\"path\",\n    md5=\"17c54824e9931a4688ca032d03f6663c\",\n    path=\"path\",\n    custom_metadata={\n        \"key\": \"value\",\n    },\n    provided_mtime=\"2000-01-01T01:00:00Z\",\n    priority_color=\"red\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleFile = new Filescom.File(\"example_file\", new()\n    {\n        Source = \"path\",\n        Md5 = \"17c54824e9931a4688ca032d03f6663c\",\n        Path = \"path\",\n        CustomMetadata = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"key\"] = \"value\",\n        },\n        ProvidedMtime = \"2000-01-01T01:00:00Z\",\n        PriorityColor = \"red\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewFile(ctx, \"example_file\", \u0026filescom.FileArgs{\n\t\t\tSource: pulumi.String(\"path\"),\n\t\t\tMd5:    pulumi.String(\"17c54824e9931a4688ca032d03f6663c\"),\n\t\t\tPath:   pulumi.String(\"path\"),\n\t\t\tCustomMetadata: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"key\": \"value\",\n\t\t\t}),\n\t\t\tProvidedMtime: pulumi.String(\"2000-01-01T01:00:00Z\"),\n\t\t\tPriorityColor: pulumi.String(\"red\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_file\" \"example_file\" {\n  source = \"path\"\n  md5    = \"17c54824e9931a4688ca032d03f6663c\"\n  path   = \"path\"\n  custom_metadata = {\n    \"key\" = \"value\"\n  }\n  provided_mtime = \"2000-01-01T01:00:00Z\"\n  priority_color = \"red\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.File;\nimport com.pulumi.filescom.FileArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleFile = new File(\"exampleFile\", FileArgs.builder()\n            .source(\"path\")\n            .md5(\"17c54824e9931a4688ca032d03f6663c\")\n            .path(\"path\")\n            .customMetadata(Map.of(\"key\", \"value\"))\n            .providedMtime(\"2000-01-01T01:00:00Z\")\n            .priorityColor(\"red\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleFile:\n    type: filescom:File\n    name: example_file\n    properties:\n      source: path\n      md5: 17c54824e9931a4688ca032d03f6663c\n      path: path\n      customMetadata:\n        key: value\n      providedMtime: 2000-01-01T01:00:00Z\n      priorityColor: red\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nFiles can be imported by specifying the path.\n\n```sh\n$ pulumi import filescom:index/file:File example_file path\n```\n\n",
            "properties": {
                "crc32": {
                    "type": "string",
                    "description": "File CRC32 checksum. This is sometimes delayed, so if you get a blank response, wait and try again.\n"
                },
                "createdAt": {
                    "type": "string",
                    "description": "File created date/time\n"
                },
                "createdByApiKeyId": {
                    "type": "integer",
                    "description": "ID of the API key that created the file/folder\n"
                },
                "createdByAs2IncomingMessageId": {
                    "type": "integer",
                    "description": "ID of the AS2 Incoming Message that created the file/folder\n"
                },
                "createdByAutomationId": {
                    "type": "integer",
                    "description": "ID of the Automation that created the file/folder\n"
                },
                "createdByBundleRegistrationId": {
                    "type": "integer",
                    "description": "ID of the Bundle Registration that created the file/folder\n"
                },
                "createdById": {
                    "type": "integer",
                    "description": "User ID of the User who created the file/folder\n"
                },
                "createdByInboxId": {
                    "type": "integer",
                    "description": "ID of the Inbox that created the file/folder\n"
                },
                "createdByRemoteServerId": {
                    "type": "integer",
                    "description": "ID of the Remote Server that created the file/folder\n"
                },
                "createdBySyncId": {
                    "type": "integer",
                    "description": "ID of the Sync that created the file/folder\n"
                },
                "customMetadata": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Custom metadata map of keys and values. Limited to 32 keys, 256 characters per key and 1024 characters per value.\n"
                },
                "directConnectionInfo": {
                    "type": "string",
                    "description": "Optional direct connection information for direct Agent transfer attempts\n"
                },
                "displayName": {
                    "type": "string",
                    "description": "File/Folder display name\n"
                },
                "downloadUri": {
                    "type": "string",
                    "description": "Link to download file. Provided only in response to a download request.\n"
                },
                "isLocked": {
                    "type": "boolean",
                    "description": "Is this folder locked and unable to be modified?\n"
                },
                "lastModifiedByApiKeyId": {
                    "type": "integer",
                    "description": "ID of the API key that last modified the file/folder\n"
                },
                "lastModifiedByAutomationId": {
                    "type": "integer",
                    "description": "ID of the Automation that last modified the file/folder\n"
                },
                "lastModifiedByBundleRegistrationId": {
                    "type": "integer",
                    "description": "ID of the Bundle Registration that last modified the file/folder\n"
                },
                "lastModifiedById": {
                    "type": "integer",
                    "description": "User ID of the User who last modified the file/folder\n"
                },
                "lastModifiedByRemoteServerId": {
                    "type": "integer",
                    "description": "ID of the Remote Server that last modified the file/folder\n"
                },
                "lastModifiedBySyncId": {
                    "type": "integer",
                    "description": "ID of the Sync that last modified the file/folder\n"
                },
                "md5": {
                    "type": "string",
                    "description": "File MD5 checksum.\n"
                },
                "mimeType": {
                    "type": "string",
                    "description": "MIME Type.  This is determined by the filename extension and is not stored separately internally.\n"
                },
                "mtime": {
                    "type": "string",
                    "description": "File last modified date/time, according to the server.  This is the timestamp of the last Files.com operation of the file, regardless of what modified timestamp was sent.\n"
                },
                "path": {
                    "type": "string",
                    "description": "File/Folder path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                },
                "permissions": {
                    "type": "string",
                    "description": "A short string representing the current user's permissions.  Can be \u003cspan pulumi-lang-nodejs=\"`r`\" pulumi-lang-dotnet=\"`R`\" pulumi-lang-go=\"`r`\" pulumi-lang-python=\"`r`\" pulumi-lang-yaml=\"`r`\" pulumi-lang-java=\"`r`\" pulumi-lang-hcl=\"`r`\"\u003e`r`\u003c/span\u003e (Read),\u003cspan pulumi-lang-nodejs=\"`w`\" pulumi-lang-dotnet=\"`W`\" pulumi-lang-go=\"`w`\" pulumi-lang-python=\"`w`\" pulumi-lang-yaml=\"`w`\" pulumi-lang-java=\"`w`\" pulumi-lang-hcl=\"`w`\"\u003e`w`\u003c/span\u003e (Write),\u003cspan pulumi-lang-nodejs=\"`d`\" pulumi-lang-dotnet=\"`D`\" pulumi-lang-go=\"`d`\" pulumi-lang-python=\"`d`\" pulumi-lang-yaml=\"`d`\" pulumi-lang-java=\"`d`\" pulumi-lang-hcl=\"`d`\"\u003e`d`\u003c/span\u003e (Delete), \u003cspan pulumi-lang-nodejs=\"`l`\" pulumi-lang-dotnet=\"`L`\" pulumi-lang-go=\"`l`\" pulumi-lang-python=\"`l`\" pulumi-lang-yaml=\"`l`\" pulumi-lang-java=\"`l`\" pulumi-lang-hcl=\"`l`\"\u003e`l`\u003c/span\u003e (List) or any combination\n"
                },
                "preview": {
                    "type": "string",
                    "description": "File preview\n"
                },
                "previewId": {
                    "type": "integer",
                    "description": "File preview ID\n"
                },
                "priorityColor": {
                    "type": "string",
                    "description": "Bookmark/priority color of file/folder\n"
                },
                "providedMtime": {
                    "type": "string",
                    "description": "File last modified date/time, according to the client who set it.  Files.com allows desktop, FTP, SFTP, and WebDAV clients to set modified at times.  This allows Desktop\u003c-\u003eCloud syncing to preserve modified at times.\n"
                },
                "region": {
                    "type": "string",
                    "description": "Region location\n"
                },
                "sha1": {
                    "type": "string",
                    "description": "File SHA1 checksum. This is sometimes delayed, so if you get a blank response, wait and try again.\n"
                },
                "sha256": {
                    "type": "string",
                    "description": "File SHA256 checksum. This is sometimes delayed, so if you get a blank response, wait and try again.\n"
                },
                "size": {
                    "type": "integer",
                    "description": "File/Folder size\n"
                },
                "source": {
                    "type": "string",
                    "description": "Path to a file that will be read and uploaded.\n"
                },
                "subfoldersLocked": {
                    "type": "boolean",
                    "description": "Are subfolders locked and unable to be modified?\n"
                },
                "type": {
                    "type": "string",
                    "description": "Type: \u003cspan pulumi-lang-nodejs=\"`directory`\" pulumi-lang-dotnet=\"`Directory`\" pulumi-lang-go=\"`directory`\" pulumi-lang-python=\"`directory`\" pulumi-lang-yaml=\"`directory`\" pulumi-lang-java=\"`directory`\" pulumi-lang-hcl=\"`directory`\"\u003e`directory`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\" pulumi-lang-hcl=\"`file`\"\u003e`file`\u003c/span\u003e.\n"
                }
            },
            "required": [
                "crc32",
                "createdAt",
                "createdByApiKeyId",
                "createdByAs2IncomingMessageId",
                "createdByAutomationId",
                "createdByBundleRegistrationId",
                "createdById",
                "createdByInboxId",
                "createdByRemoteServerId",
                "createdBySyncId",
                "customMetadata",
                "directConnectionInfo",
                "displayName",
                "downloadUri",
                "isLocked",
                "lastModifiedByApiKeyId",
                "lastModifiedByAutomationId",
                "lastModifiedByBundleRegistrationId",
                "lastModifiedById",
                "lastModifiedByRemoteServerId",
                "lastModifiedBySyncId",
                "md5",
                "mimeType",
                "mtime",
                "path",
                "permissions",
                "preview",
                "previewId",
                "priorityColor",
                "providedMtime",
                "region",
                "sha1",
                "sha256",
                "size",
                "source",
                "subfoldersLocked",
                "type"
            ],
            "inputProperties": {
                "customMetadata": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Custom metadata map of keys and values. Limited to 32 keys, 256 characters per key and 1024 characters per value.\n"
                },
                "md5": {
                    "type": "string",
                    "description": "File MD5 checksum.\n",
                    "willReplaceOnChanges": true
                },
                "path": {
                    "type": "string",
                    "description": "File/Folder path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                },
                "priorityColor": {
                    "type": "string",
                    "description": "Bookmark/priority color of file/folder\n"
                },
                "providedMtime": {
                    "type": "string",
                    "description": "File last modified date/time, according to the client who set it.  Files.com allows desktop, FTP, SFTP, and WebDAV clients to set modified at times.  This allows Desktop\u003c-\u003eCloud syncing to preserve modified at times.\n"
                },
                "size": {
                    "type": "integer",
                    "description": "File/Folder size\n",
                    "willReplaceOnChanges": true
                },
                "source": {
                    "type": "string",
                    "description": "Path to a file that will be read and uploaded.\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "path",
                "source"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering File resources.\n",
                "properties": {
                    "crc32": {
                        "type": "string",
                        "description": "File CRC32 checksum. This is sometimes delayed, so if you get a blank response, wait and try again.\n"
                    },
                    "createdAt": {
                        "type": "string",
                        "description": "File created date/time\n"
                    },
                    "createdByApiKeyId": {
                        "type": "integer",
                        "description": "ID of the API key that created the file/folder\n"
                    },
                    "createdByAs2IncomingMessageId": {
                        "type": "integer",
                        "description": "ID of the AS2 Incoming Message that created the file/folder\n"
                    },
                    "createdByAutomationId": {
                        "type": "integer",
                        "description": "ID of the Automation that created the file/folder\n"
                    },
                    "createdByBundleRegistrationId": {
                        "type": "integer",
                        "description": "ID of the Bundle Registration that created the file/folder\n"
                    },
                    "createdById": {
                        "type": "integer",
                        "description": "User ID of the User who created the file/folder\n"
                    },
                    "createdByInboxId": {
                        "type": "integer",
                        "description": "ID of the Inbox that created the file/folder\n"
                    },
                    "createdByRemoteServerId": {
                        "type": "integer",
                        "description": "ID of the Remote Server that created the file/folder\n"
                    },
                    "createdBySyncId": {
                        "type": "integer",
                        "description": "ID of the Sync that created the file/folder\n"
                    },
                    "customMetadata": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Custom metadata map of keys and values. Limited to 32 keys, 256 characters per key and 1024 characters per value.\n"
                    },
                    "directConnectionInfo": {
                        "type": "string",
                        "description": "Optional direct connection information for direct Agent transfer attempts\n"
                    },
                    "displayName": {
                        "type": "string",
                        "description": "File/Folder display name\n"
                    },
                    "downloadUri": {
                        "type": "string",
                        "description": "Link to download file. Provided only in response to a download request.\n"
                    },
                    "isLocked": {
                        "type": "boolean",
                        "description": "Is this folder locked and unable to be modified?\n"
                    },
                    "lastModifiedByApiKeyId": {
                        "type": "integer",
                        "description": "ID of the API key that last modified the file/folder\n"
                    },
                    "lastModifiedByAutomationId": {
                        "type": "integer",
                        "description": "ID of the Automation that last modified the file/folder\n"
                    },
                    "lastModifiedByBundleRegistrationId": {
                        "type": "integer",
                        "description": "ID of the Bundle Registration that last modified the file/folder\n"
                    },
                    "lastModifiedById": {
                        "type": "integer",
                        "description": "User ID of the User who last modified the file/folder\n"
                    },
                    "lastModifiedByRemoteServerId": {
                        "type": "integer",
                        "description": "ID of the Remote Server that last modified the file/folder\n"
                    },
                    "lastModifiedBySyncId": {
                        "type": "integer",
                        "description": "ID of the Sync that last modified the file/folder\n"
                    },
                    "md5": {
                        "type": "string",
                        "description": "File MD5 checksum.\n"
                    },
                    "mimeType": {
                        "type": "string",
                        "description": "MIME Type.  This is determined by the filename extension and is not stored separately internally.\n"
                    },
                    "mtime": {
                        "type": "string",
                        "description": "File last modified date/time, according to the server.  This is the timestamp of the last Files.com operation of the file, regardless of what modified timestamp was sent.\n"
                    },
                    "path": {
                        "type": "string",
                        "description": "File/Folder path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                    },
                    "permissions": {
                        "type": "string",
                        "description": "A short string representing the current user's permissions.  Can be \u003cspan pulumi-lang-nodejs=\"`r`\" pulumi-lang-dotnet=\"`R`\" pulumi-lang-go=\"`r`\" pulumi-lang-python=\"`r`\" pulumi-lang-yaml=\"`r`\" pulumi-lang-java=\"`r`\" pulumi-lang-hcl=\"`r`\"\u003e`r`\u003c/span\u003e (Read),\u003cspan pulumi-lang-nodejs=\"`w`\" pulumi-lang-dotnet=\"`W`\" pulumi-lang-go=\"`w`\" pulumi-lang-python=\"`w`\" pulumi-lang-yaml=\"`w`\" pulumi-lang-java=\"`w`\" pulumi-lang-hcl=\"`w`\"\u003e`w`\u003c/span\u003e (Write),\u003cspan pulumi-lang-nodejs=\"`d`\" pulumi-lang-dotnet=\"`D`\" pulumi-lang-go=\"`d`\" pulumi-lang-python=\"`d`\" pulumi-lang-yaml=\"`d`\" pulumi-lang-java=\"`d`\" pulumi-lang-hcl=\"`d`\"\u003e`d`\u003c/span\u003e (Delete), \u003cspan pulumi-lang-nodejs=\"`l`\" pulumi-lang-dotnet=\"`L`\" pulumi-lang-go=\"`l`\" pulumi-lang-python=\"`l`\" pulumi-lang-yaml=\"`l`\" pulumi-lang-java=\"`l`\" pulumi-lang-hcl=\"`l`\"\u003e`l`\u003c/span\u003e (List) or any combination\n"
                    },
                    "preview": {
                        "type": "string",
                        "description": "File preview\n"
                    },
                    "previewId": {
                        "type": "integer",
                        "description": "File preview ID\n"
                    },
                    "priorityColor": {
                        "type": "string",
                        "description": "Bookmark/priority color of file/folder\n"
                    },
                    "providedMtime": {
                        "type": "string",
                        "description": "File last modified date/time, according to the client who set it.  Files.com allows desktop, FTP, SFTP, and WebDAV clients to set modified at times.  This allows Desktop\u003c-\u003eCloud syncing to preserve modified at times.\n"
                    },
                    "region": {
                        "type": "string",
                        "description": "Region location\n"
                    },
                    "sha1": {
                        "type": "string",
                        "description": "File SHA1 checksum. This is sometimes delayed, so if you get a blank response, wait and try again.\n"
                    },
                    "sha256": {
                        "type": "string",
                        "description": "File SHA256 checksum. This is sometimes delayed, so if you get a blank response, wait and try again.\n"
                    },
                    "size": {
                        "type": "integer",
                        "description": "File/Folder size\n"
                    },
                    "source": {
                        "type": "string",
                        "description": "Path to a file that will be read and uploaded.\n"
                    },
                    "subfoldersLocked": {
                        "type": "boolean",
                        "description": "Are subfolders locked and unable to be modified?\n"
                    },
                    "type": {
                        "type": "string",
                        "description": "Type: \u003cspan pulumi-lang-nodejs=\"`directory`\" pulumi-lang-dotnet=\"`Directory`\" pulumi-lang-go=\"`directory`\" pulumi-lang-python=\"`directory`\" pulumi-lang-yaml=\"`directory`\" pulumi-lang-java=\"`directory`\" pulumi-lang-hcl=\"`directory`\"\u003e`directory`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\" pulumi-lang-hcl=\"`file`\"\u003e`file`\u003c/span\u003e.\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/fileComment:FileComment": {
            "description": "A FileComment is a comment attached to a file by a user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleFileComment = new filescom.FileComment(\"example_file_comment\", {\n    body: \"What a great file!\",\n    path: \"path\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_file_comment = filescom.FileComment(\"example_file_comment\",\n    body=\"What a great file!\",\n    path=\"path\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleFileComment = new Filescom.FileComment(\"example_file_comment\", new()\n    {\n        Body = \"What a great file!\",\n        Path = \"path\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewFileComment(ctx, \"example_file_comment\", \u0026filescom.FileCommentArgs{\n\t\t\tBody: pulumi.String(\"What a great file!\"),\n\t\t\tPath: pulumi.String(\"path\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_filecomment\" \"example_file_comment\" {\n  body = \"What a great file!\"\n  path = \"path\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FileComment;\nimport com.pulumi.filescom.FileCommentArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleFileComment = new FileComment(\"exampleFileComment\", FileCommentArgs.builder()\n            .body(\"What a great file!\")\n            .path(\"path\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleFileComment:\n    type: filescom:FileComment\n    name: example_file_comment\n    properties:\n      body: What a great file!\n      path: path\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nFile Comments can be imported by specifying the id and path.\n\n```sh\n$ pulumi import filescom:index/fileComment:FileComment example_file_comment 1,path\n```\n\n",
            "properties": {
                "body": {
                    "type": "string",
                    "description": "Comment body."
                },
                "path": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nFile path.",
                    "secret": true
                },
                "reactions": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Reactions to this comment."
                }
            },
            "required": [
                "body",
                "path",
                "reactions"
            ],
            "inputProperties": {
                "body": {
                    "type": "string",
                    "description": "Comment body."
                },
                "path": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nFile path.",
                    "secret": true,
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "body",
                "path"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FileComment resources.\n",
                "properties": {
                    "body": {
                        "type": "string",
                        "description": "Comment body."
                    },
                    "path": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nFile path.",
                        "secret": true
                    },
                    "reactions": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Reactions to this comment."
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/folder:Folder": {
            "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleFolder = new filescom.Folder(\"example_folder\", {\n    path: \"path\",\n    mkdirParents: false,\n    providedMtime: \"2000-01-01T01:00:00Z\",\n    customMetadata: {\n        key: \"value\",\n    },\n    priorityColor: \"red\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_folder = filescom.Folder(\"example_folder\",\n    path=\"path\",\n    mkdir_parents=False,\n    provided_mtime=\"2000-01-01T01:00:00Z\",\n    custom_metadata={\n        \"key\": \"value\",\n    },\n    priority_color=\"red\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleFolder = new Filescom.Folder(\"example_folder\", new()\n    {\n        Path = \"path\",\n        MkdirParents = false,\n        ProvidedMtime = \"2000-01-01T01:00:00Z\",\n        CustomMetadata = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"key\"] = \"value\",\n        },\n        PriorityColor = \"red\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewFolder(ctx, \"example_folder\", \u0026filescom.FolderArgs{\n\t\t\tPath:          pulumi.String(\"path\"),\n\t\t\tMkdirParents:  pulumi.Bool(false),\n\t\t\tProvidedMtime: pulumi.String(\"2000-01-01T01:00:00Z\"),\n\t\t\tCustomMetadata: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"key\": \"value\",\n\t\t\t}),\n\t\t\tPriorityColor: pulumi.String(\"red\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_folder\" \"example_folder\" {\n  path           = \"path\"\n  mkdir_parents  = false\n  provided_mtime = \"2000-01-01T01:00:00Z\"\n  custom_metadata = {\n    \"key\" = \"value\"\n  }\n  priority_color = \"red\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.Folder;\nimport com.pulumi.filescom.FolderArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleFolder = new Folder(\"exampleFolder\", FolderArgs.builder()\n            .path(\"path\")\n            .mkdirParents(false)\n            .providedMtime(\"2000-01-01T01:00:00Z\")\n            .customMetadata(Map.of(\"key\", \"value\"))\n            .priorityColor(\"red\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleFolder:\n    type: filescom:Folder\n    name: example_folder\n    properties:\n      path: path\n      mkdirParents: false\n      providedMtime: 2000-01-01T01:00:00Z\n      customMetadata:\n        key: value\n      priorityColor: red\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nFolders can be imported by specifying the path.\n\n```sh\n$ pulumi import filescom:index/folder:Folder example_folder path\n```\n\n",
            "properties": {
                "crc32": {
                    "type": "string",
                    "description": "File CRC32 checksum. This is sometimes delayed, so if you get a blank response, wait and try again."
                },
                "createdAt": {
                    "type": "string",
                    "description": "File created date/time"
                },
                "createdByApiKeyId": {
                    "type": "integer",
                    "description": "ID of the API key that created the file/folder"
                },
                "createdByAs2IncomingMessageId": {
                    "type": "integer",
                    "description": "ID of the AS2 Incoming Message that created the file/folder"
                },
                "createdByAutomationId": {
                    "type": "integer",
                    "description": "ID of the Automation that created the file/folder"
                },
                "createdByBundleRegistrationId": {
                    "type": "integer",
                    "description": "ID of the Bundle Registration that created the file/folder"
                },
                "createdById": {
                    "type": "integer",
                    "description": "User ID of the User who created the file/folder"
                },
                "createdByInboxId": {
                    "type": "integer",
                    "description": "ID of the Inbox that created the file/folder"
                },
                "createdByRemoteServerId": {
                    "type": "integer",
                    "description": "ID of the Remote Server that created the file/folder"
                },
                "createdBySyncId": {
                    "type": "integer",
                    "description": "ID of the Sync that created the file/folder"
                },
                "customMetadata": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Custom metadata map of keys and values. Limited to 32 keys, 256 characters per key and 1024 characters per value."
                },
                "directConnectionInfo": {
                    "type": "string",
                    "description": "Optional direct connection information for direct Agent transfer attempts"
                },
                "displayName": {
                    "type": "string",
                    "description": "File/Folder display name"
                },
                "downloadUri": {
                    "type": "string",
                    "description": "Link to download file. Provided only in response to a download request."
                },
                "isLocked": {
                    "type": "boolean",
                    "description": "Is this folder locked and unable to be modified?"
                },
                "lastModifiedByApiKeyId": {
                    "type": "integer",
                    "description": "ID of the API key that last modified the file/folder"
                },
                "lastModifiedByAutomationId": {
                    "type": "integer",
                    "description": "ID of the Automation that last modified the file/folder"
                },
                "lastModifiedByBundleRegistrationId": {
                    "type": "integer",
                    "description": "ID of the Bundle Registration that last modified the file/folder"
                },
                "lastModifiedById": {
                    "type": "integer",
                    "description": "User ID of the User who last modified the file/folder"
                },
                "lastModifiedByRemoteServerId": {
                    "type": "integer",
                    "description": "ID of the Remote Server that last modified the file/folder"
                },
                "lastModifiedBySyncId": {
                    "type": "integer",
                    "description": "ID of the Sync that last modified the file/folder"
                },
                "md5": {
                    "type": "string",
                    "description": "File MD5 checksum. This is sometimes delayed, so if you get a blank response, wait and try again."
                },
                "mimeType": {
                    "type": "string",
                    "description": "MIME Type.  This is determined by the filename extension and is not stored separately internally."
                },
                "mkdirParents": {
                    "type": "boolean",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nCreate parent directories if they do not exist?",
                    "secret": true
                },
                "mtime": {
                    "type": "string",
                    "description": "File last modified date/time, according to the server.  This is the timestamp of the last Files.com operation of the file, regardless of what modified timestamp was sent."
                },
                "path": {
                    "type": "string",
                    "description": "File/Folder path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                },
                "permissions": {
                    "type": "string",
                    "description": "A short string representing the current user's permissions.  Can be \u003cspan pulumi-lang-nodejs=\"`r`\" pulumi-lang-dotnet=\"`R`\" pulumi-lang-go=\"`r`\" pulumi-lang-python=\"`r`\" pulumi-lang-yaml=\"`r`\" pulumi-lang-java=\"`r`\" pulumi-lang-hcl=\"`r`\"\u003e`r`\u003c/span\u003e (Read),\u003cspan pulumi-lang-nodejs=\"`w`\" pulumi-lang-dotnet=\"`W`\" pulumi-lang-go=\"`w`\" pulumi-lang-python=\"`w`\" pulumi-lang-yaml=\"`w`\" pulumi-lang-java=\"`w`\" pulumi-lang-hcl=\"`w`\"\u003e`w`\u003c/span\u003e (Write),\u003cspan pulumi-lang-nodejs=\"`d`\" pulumi-lang-dotnet=\"`D`\" pulumi-lang-go=\"`d`\" pulumi-lang-python=\"`d`\" pulumi-lang-yaml=\"`d`\" pulumi-lang-java=\"`d`\" pulumi-lang-hcl=\"`d`\"\u003e`d`\u003c/span\u003e (Delete), \u003cspan pulumi-lang-nodejs=\"`l`\" pulumi-lang-dotnet=\"`L`\" pulumi-lang-go=\"`l`\" pulumi-lang-python=\"`l`\" pulumi-lang-yaml=\"`l`\" pulumi-lang-java=\"`l`\" pulumi-lang-hcl=\"`l`\"\u003e`l`\u003c/span\u003e (List) or any combination"
                },
                "preview": {
                    "type": "string",
                    "description": "File preview"
                },
                "previewId": {
                    "type": "integer",
                    "description": "File preview ID"
                },
                "priorityColor": {
                    "type": "string",
                    "description": "Bookmark/priority color of file/folder"
                },
                "providedMtime": {
                    "type": "string",
                    "description": "File last modified date/time, according to the client who set it.  Files.com allows desktop, FTP, SFTP, and WebDAV clients to set modified at times.  This allows Desktop\u003c-\u003eCloud syncing to preserve modified at times."
                },
                "region": {
                    "type": "string",
                    "description": "Region location"
                },
                "sha1": {
                    "type": "string",
                    "description": "File SHA1 checksum. This is sometimes delayed, so if you get a blank response, wait and try again."
                },
                "sha256": {
                    "type": "string",
                    "description": "File SHA256 checksum. This is sometimes delayed, so if you get a blank response, wait and try again."
                },
                "size": {
                    "type": "integer",
                    "description": "File/Folder size"
                },
                "subfoldersLocked": {
                    "type": "boolean",
                    "description": "Are subfolders locked and unable to be modified?"
                },
                "type": {
                    "type": "string",
                    "description": "Type: \u003cspan pulumi-lang-nodejs=\"`directory`\" pulumi-lang-dotnet=\"`Directory`\" pulumi-lang-go=\"`directory`\" pulumi-lang-python=\"`directory`\" pulumi-lang-yaml=\"`directory`\" pulumi-lang-java=\"`directory`\" pulumi-lang-hcl=\"`directory`\"\u003e`directory`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\" pulumi-lang-hcl=\"`file`\"\u003e`file`\u003c/span\u003e."
                }
            },
            "required": [
                "crc32",
                "createdAt",
                "createdByApiKeyId",
                "createdByAs2IncomingMessageId",
                "createdByAutomationId",
                "createdByBundleRegistrationId",
                "createdById",
                "createdByInboxId",
                "createdByRemoteServerId",
                "createdBySyncId",
                "customMetadata",
                "directConnectionInfo",
                "displayName",
                "downloadUri",
                "isLocked",
                "lastModifiedByApiKeyId",
                "lastModifiedByAutomationId",
                "lastModifiedByBundleRegistrationId",
                "lastModifiedById",
                "lastModifiedByRemoteServerId",
                "lastModifiedBySyncId",
                "md5",
                "mimeType",
                "mtime",
                "path",
                "permissions",
                "preview",
                "previewId",
                "priorityColor",
                "providedMtime",
                "region",
                "sha1",
                "sha256",
                "size",
                "subfoldersLocked",
                "type"
            ],
            "inputProperties": {
                "customMetadata": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Custom metadata map of keys and values. Limited to 32 keys, 256 characters per key and 1024 characters per value."
                },
                "mkdirParents": {
                    "type": "boolean",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nCreate parent directories if they do not exist?",
                    "secret": true,
                    "willReplaceOnChanges": true
                },
                "path": {
                    "type": "string",
                    "description": "File/Folder path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                },
                "priorityColor": {
                    "type": "string",
                    "description": "Bookmark/priority color of file/folder"
                },
                "providedMtime": {
                    "type": "string",
                    "description": "File last modified date/time, according to the client who set it.  Files.com allows desktop, FTP, SFTP, and WebDAV clients to set modified at times.  This allows Desktop\u003c-\u003eCloud syncing to preserve modified at times."
                }
            },
            "requiredInputs": [
                "path"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Folder resources.\n",
                "properties": {
                    "crc32": {
                        "type": "string",
                        "description": "File CRC32 checksum. This is sometimes delayed, so if you get a blank response, wait and try again."
                    },
                    "createdAt": {
                        "type": "string",
                        "description": "File created date/time"
                    },
                    "createdByApiKeyId": {
                        "type": "integer",
                        "description": "ID of the API key that created the file/folder"
                    },
                    "createdByAs2IncomingMessageId": {
                        "type": "integer",
                        "description": "ID of the AS2 Incoming Message that created the file/folder"
                    },
                    "createdByAutomationId": {
                        "type": "integer",
                        "description": "ID of the Automation that created the file/folder"
                    },
                    "createdByBundleRegistrationId": {
                        "type": "integer",
                        "description": "ID of the Bundle Registration that created the file/folder"
                    },
                    "createdById": {
                        "type": "integer",
                        "description": "User ID of the User who created the file/folder"
                    },
                    "createdByInboxId": {
                        "type": "integer",
                        "description": "ID of the Inbox that created the file/folder"
                    },
                    "createdByRemoteServerId": {
                        "type": "integer",
                        "description": "ID of the Remote Server that created the file/folder"
                    },
                    "createdBySyncId": {
                        "type": "integer",
                        "description": "ID of the Sync that created the file/folder"
                    },
                    "customMetadata": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Custom metadata map of keys and values. Limited to 32 keys, 256 characters per key and 1024 characters per value."
                    },
                    "directConnectionInfo": {
                        "type": "string",
                        "description": "Optional direct connection information for direct Agent transfer attempts"
                    },
                    "displayName": {
                        "type": "string",
                        "description": "File/Folder display name"
                    },
                    "downloadUri": {
                        "type": "string",
                        "description": "Link to download file. Provided only in response to a download request."
                    },
                    "isLocked": {
                        "type": "boolean",
                        "description": "Is this folder locked and unable to be modified?"
                    },
                    "lastModifiedByApiKeyId": {
                        "type": "integer",
                        "description": "ID of the API key that last modified the file/folder"
                    },
                    "lastModifiedByAutomationId": {
                        "type": "integer",
                        "description": "ID of the Automation that last modified the file/folder"
                    },
                    "lastModifiedByBundleRegistrationId": {
                        "type": "integer",
                        "description": "ID of the Bundle Registration that last modified the file/folder"
                    },
                    "lastModifiedById": {
                        "type": "integer",
                        "description": "User ID of the User who last modified the file/folder"
                    },
                    "lastModifiedByRemoteServerId": {
                        "type": "integer",
                        "description": "ID of the Remote Server that last modified the file/folder"
                    },
                    "lastModifiedBySyncId": {
                        "type": "integer",
                        "description": "ID of the Sync that last modified the file/folder"
                    },
                    "md5": {
                        "type": "string",
                        "description": "File MD5 checksum. This is sometimes delayed, so if you get a blank response, wait and try again."
                    },
                    "mimeType": {
                        "type": "string",
                        "description": "MIME Type.  This is determined by the filename extension and is not stored separately internally."
                    },
                    "mkdirParents": {
                        "type": "boolean",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nCreate parent directories if they do not exist?",
                        "secret": true
                    },
                    "mtime": {
                        "type": "string",
                        "description": "File last modified date/time, according to the server.  This is the timestamp of the last Files.com operation of the file, regardless of what modified timestamp was sent."
                    },
                    "path": {
                        "type": "string",
                        "description": "File/Folder path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                    },
                    "permissions": {
                        "type": "string",
                        "description": "A short string representing the current user's permissions.  Can be \u003cspan pulumi-lang-nodejs=\"`r`\" pulumi-lang-dotnet=\"`R`\" pulumi-lang-go=\"`r`\" pulumi-lang-python=\"`r`\" pulumi-lang-yaml=\"`r`\" pulumi-lang-java=\"`r`\" pulumi-lang-hcl=\"`r`\"\u003e`r`\u003c/span\u003e (Read),\u003cspan pulumi-lang-nodejs=\"`w`\" pulumi-lang-dotnet=\"`W`\" pulumi-lang-go=\"`w`\" pulumi-lang-python=\"`w`\" pulumi-lang-yaml=\"`w`\" pulumi-lang-java=\"`w`\" pulumi-lang-hcl=\"`w`\"\u003e`w`\u003c/span\u003e (Write),\u003cspan pulumi-lang-nodejs=\"`d`\" pulumi-lang-dotnet=\"`D`\" pulumi-lang-go=\"`d`\" pulumi-lang-python=\"`d`\" pulumi-lang-yaml=\"`d`\" pulumi-lang-java=\"`d`\" pulumi-lang-hcl=\"`d`\"\u003e`d`\u003c/span\u003e (Delete), \u003cspan pulumi-lang-nodejs=\"`l`\" pulumi-lang-dotnet=\"`L`\" pulumi-lang-go=\"`l`\" pulumi-lang-python=\"`l`\" pulumi-lang-yaml=\"`l`\" pulumi-lang-java=\"`l`\" pulumi-lang-hcl=\"`l`\"\u003e`l`\u003c/span\u003e (List) or any combination"
                    },
                    "preview": {
                        "type": "string",
                        "description": "File preview"
                    },
                    "previewId": {
                        "type": "integer",
                        "description": "File preview ID"
                    },
                    "priorityColor": {
                        "type": "string",
                        "description": "Bookmark/priority color of file/folder"
                    },
                    "providedMtime": {
                        "type": "string",
                        "description": "File last modified date/time, according to the client who set it.  Files.com allows desktop, FTP, SFTP, and WebDAV clients to set modified at times.  This allows Desktop\u003c-\u003eCloud syncing to preserve modified at times."
                    },
                    "region": {
                        "type": "string",
                        "description": "Region location"
                    },
                    "sha1": {
                        "type": "string",
                        "description": "File SHA1 checksum. This is sometimes delayed, so if you get a blank response, wait and try again."
                    },
                    "sha256": {
                        "type": "string",
                        "description": "File SHA256 checksum. This is sometimes delayed, so if you get a blank response, wait and try again."
                    },
                    "size": {
                        "type": "integer",
                        "description": "File/Folder size"
                    },
                    "subfoldersLocked": {
                        "type": "boolean",
                        "description": "Are subfolders locked and unable to be modified?"
                    },
                    "type": {
                        "type": "string",
                        "description": "Type: \u003cspan pulumi-lang-nodejs=\"`directory`\" pulumi-lang-dotnet=\"`Directory`\" pulumi-lang-go=\"`directory`\" pulumi-lang-python=\"`directory`\" pulumi-lang-yaml=\"`directory`\" pulumi-lang-java=\"`directory`\" pulumi-lang-hcl=\"`directory`\"\u003e`directory`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\" pulumi-lang-hcl=\"`file`\"\u003e`file`\u003c/span\u003e."
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/formFieldSet:FormFieldSet": {
            "description": "A Form Field Set is a custom form to be used for bundle and inbox registrations.\n\n\n\nEach Form Field Set contains one or more Form Fields. A form and all of its form fields are submitted in a single create request. The order of form fields in the array is the order they will be displayed.\n\n\n\nOnce created, a form field set can then be associated with one or more bundle(s) and/or inbox(s). Once associated, you will be required to submit well-formatted form-data when creating a bundle-registration or inbox registration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleFormFieldSet = new filescom.FormFieldSet(\"example_form_field_set\", {\n    userId: 1,\n    title: \"Sample Form Title\",\n    workspaceId: 1,\n    skipEmail: false,\n    skipName: false,\n    skipCompany: false,\n    formFields: [{\n        label: \"Sample Label\",\n        required: true,\n        helpText: \"Help Text\",\n        fieldType: \"text\",\n        optionsForSelect: [\n            \"red\",\n            \"green\",\n            \"blue\",\n        ],\n        defaultOption: \"red\",\n        formFieldSetId: 1,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_form_field_set = filescom.FormFieldSet(\"example_form_field_set\",\n    user_id=1,\n    title=\"Sample Form Title\",\n    workspace_id=1,\n    skip_email=False,\n    skip_name=False,\n    skip_company=False,\n    form_fields=[{\n        \"label\": \"Sample Label\",\n        \"required\": True,\n        \"helpText\": \"Help Text\",\n        \"fieldType\": \"text\",\n        \"optionsForSelect\": [\n            \"red\",\n            \"green\",\n            \"blue\",\n        ],\n        \"defaultOption\": \"red\",\n        \"formFieldSetId\": 1,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleFormFieldSet = new Filescom.FormFieldSet(\"example_form_field_set\", new()\n    {\n        UserId = 1,\n        Title = \"Sample Form Title\",\n        WorkspaceId = 1,\n        SkipEmail = false,\n        SkipName = false,\n        SkipCompany = false,\n        FormFields = new[]\n        {\n            \n            {\n                { \"label\", \"Sample Label\" },\n                { \"required\", true },\n                { \"helpText\", \"Help Text\" },\n                { \"fieldType\", \"text\" },\n                { \"optionsForSelect\", new[]\n                {\n                    \"red\",\n                    \"green\",\n                    \"blue\",\n                } },\n                { \"defaultOption\", \"red\" },\n                { \"formFieldSetId\", 1 },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewFormFieldSet(ctx, \"example_form_field_set\", \u0026filescom.FormFieldSetArgs{\n\t\t\tUserId:      pulumi.Int(1),\n\t\t\tTitle:       pulumi.String(\"Sample Form Title\"),\n\t\t\tWorkspaceId: pulumi.Int(1),\n\t\t\tSkipEmail:   pulumi.Bool(false),\n\t\t\tSkipName:    pulumi.Bool(false),\n\t\t\tSkipCompany: pulumi.Bool(false),\n\t\t\tFormFields: pulumi.Any{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"label\":     \"Sample Label\",\n\t\t\t\t\t\"required\":  true,\n\t\t\t\t\t\"helpText\":  \"Help Text\",\n\t\t\t\t\t\"fieldType\": \"text\",\n\t\t\t\t\t\"optionsForSelect\": []string{\n\t\t\t\t\t\t\"red\",\n\t\t\t\t\t\t\"green\",\n\t\t\t\t\t\t\"blue\",\n\t\t\t\t\t},\n\t\t\t\t\t\"defaultOption\":  \"red\",\n\t\t\t\t\t\"formFieldSetId\": 1,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_formfieldset\" \"example_form_field_set\" {\n  user_id      = 1\n  title        = \"Sample Form Title\"\n  workspace_id = 1\n  skip_email   = false\n  skip_name    = false\n  skip_company = false\n  form_fields = [{\n    \"label\"            = \"Sample Label\"\n    \"required\"         = true\n    \"helpText\"         = \"Help Text\"\n    \"fieldType\"        = \"text\"\n    \"optionsForSelect\" = [\"red\", \"green\", \"blue\"]\n    \"defaultOption\"    = \"red\"\n    \"formFieldSetId\"   = 1\n  }]\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FormFieldSet;\nimport com.pulumi.filescom.FormFieldSetArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleFormFieldSet = new FormFieldSet(\"exampleFormFieldSet\", FormFieldSetArgs.builder()\n            .userId(1)\n            .title(\"Sample Form Title\")\n            .workspaceId(1)\n            .skipEmail(false)\n            .skipName(false)\n            .skipCompany(false)\n            .formFields(Map.ofEntries(\n                Map.entry(\"label\", \"Sample Label\"),\n                Map.entry(\"required\", true),\n                Map.entry(\"helpText\", \"Help Text\"),\n                Map.entry(\"fieldType\", \"text\"),\n                Map.entry(\"optionsForSelect\", Arrays.asList(                \n                    \"red\",\n                    \"green\",\n                    \"blue\")),\n                Map.entry(\"defaultOption\", \"red\"),\n                Map.entry(\"formFieldSetId\", 1)\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleFormFieldSet:\n    type: filescom:FormFieldSet\n    name: example_form_field_set\n    properties:\n      userId: 1\n      title: Sample Form Title\n      workspaceId: 1\n      skipEmail: false\n      skipName: false\n      skipCompany: false\n      formFields:\n        - label: Sample Label\n          required: true\n          helpText: Help Text\n          fieldType: text\n          optionsForSelect:\n            - red\n            - green\n            - blue\n          defaultOption: red\n          formFieldSetId: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nForm Field Sets can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/formFieldSet:FormFieldSet example_form_field_set 1\n```\n\n",
            "properties": {
                "formFields": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Associated form fields"
                },
                "formLayouts": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Layout of the form"
                },
                "inUse": {
                    "type": "boolean",
                    "description": "Form Field Set is in use by an active Inbox / Bundle / Inbox Registration / Bundle Registration"
                },
                "skipCompany": {
                    "type": "boolean",
                    "description": "Any associated InboxRegistrations or BundleRegistrations can be saved without providing company"
                },
                "skipEmail": {
                    "type": "boolean",
                    "description": "Any associated InboxRegistrations or BundleRegistrations can be saved without providing email"
                },
                "skipName": {
                    "type": "boolean",
                    "description": "Any associated InboxRegistrations or BundleRegistrations can be saved without providing name"
                },
                "title": {
                    "type": "string",
                    "description": "Title to be displayed"
                },
                "userId": {
                    "type": "integer",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nUser ID.  Provide a value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e to operate the current session's user.",
                    "secret": true
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nWorkspace ID",
                    "secret": true
                }
            },
            "required": [
                "formFields",
                "formLayouts",
                "inUse",
                "skipCompany",
                "skipEmail",
                "skipName",
                "title"
            ],
            "inputProperties": {
                "formFields": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Associated form fields"
                },
                "skipCompany": {
                    "type": "boolean",
                    "description": "Any associated InboxRegistrations or BundleRegistrations can be saved without providing company"
                },
                "skipEmail": {
                    "type": "boolean",
                    "description": "Any associated InboxRegistrations or BundleRegistrations can be saved without providing email"
                },
                "skipName": {
                    "type": "boolean",
                    "description": "Any associated InboxRegistrations or BundleRegistrations can be saved without providing name"
                },
                "title": {
                    "type": "string",
                    "description": "Title to be displayed"
                },
                "userId": {
                    "type": "integer",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nUser ID.  Provide a value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e to operate the current session's user.",
                    "secret": true,
                    "willReplaceOnChanges": true
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nWorkspace ID",
                    "secret": true
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FormFieldSet resources.\n",
                "properties": {
                    "formFields": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Associated form fields"
                    },
                    "formLayouts": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "Layout of the form"
                    },
                    "inUse": {
                        "type": "boolean",
                        "description": "Form Field Set is in use by an active Inbox / Bundle / Inbox Registration / Bundle Registration"
                    },
                    "skipCompany": {
                        "type": "boolean",
                        "description": "Any associated InboxRegistrations or BundleRegistrations can be saved without providing company"
                    },
                    "skipEmail": {
                        "type": "boolean",
                        "description": "Any associated InboxRegistrations or BundleRegistrations can be saved without providing email"
                    },
                    "skipName": {
                        "type": "boolean",
                        "description": "Any associated InboxRegistrations or BundleRegistrations can be saved without providing name"
                    },
                    "title": {
                        "type": "string",
                        "description": "Title to be displayed"
                    },
                    "userId": {
                        "type": "integer",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nUser ID.  Provide a value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e to operate the current session's user.",
                        "secret": true
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nWorkspace ID",
                        "secret": true
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/gpgKey:GpgKey": {
            "description": "A GPGKey object on Files.com is used to securely store both the private and public keys associated with a GPG (GNU Privacy Guard) encryption key pair. This object enables the encryption and decryption of data using GPG, allowing you to protect sensitive information.\n\n\n\nThe private key is kept confidential and is used for decrypting data or signing messages to prove authenticity, while the public key is used to encrypt messages that only the owner of the private key can decrypt.\n\n\n\nBy storing both keys together in a GPGKey object, Files.com makes it easier to understand encryption operations, ensuring secure and efficient handling of encrypted data within the platform.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleGpgKey = new filescom.GpgKey(\"example_gpg_key\", {\n    userId: 1,\n    partnerId: 1,\n    name: \"key name\",\n    workspaceId: 0,\n    generateExpiresAt: \"2025-06-19 12:00:00\",\n    generateKeypair: false,\n    generateFullName: \"John Doe\",\n    generateEmail: \"jdoe@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_gpg_key = filescom.GpgKey(\"example_gpg_key\",\n    user_id=1,\n    partner_id=1,\n    name=\"key name\",\n    workspace_id=0,\n    generate_expires_at=\"2025-06-19 12:00:00\",\n    generate_keypair=False,\n    generate_full_name=\"John Doe\",\n    generate_email=\"jdoe@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleGpgKey = new Filescom.GpgKey(\"example_gpg_key\", new()\n    {\n        UserId = 1,\n        PartnerId = 1,\n        Name = \"key name\",\n        WorkspaceId = 0,\n        GenerateExpiresAt = \"2025-06-19 12:00:00\",\n        GenerateKeypair = false,\n        GenerateFullName = \"John Doe\",\n        GenerateEmail = \"jdoe@example.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewGpgKey(ctx, \"example_gpg_key\", \u0026filescom.GpgKeyArgs{\n\t\t\tUserId:            pulumi.Int(1),\n\t\t\tPartnerId:         pulumi.Int(1),\n\t\t\tName:              pulumi.String(\"key name\"),\n\t\t\tWorkspaceId:       pulumi.Int(0),\n\t\t\tGenerateExpiresAt: pulumi.String(\"2025-06-19 12:00:00\"),\n\t\t\tGenerateKeypair:   pulumi.Bool(false),\n\t\t\tGenerateFullName:  pulumi.String(\"John Doe\"),\n\t\t\tGenerateEmail:     pulumi.String(\"jdoe@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_gpgkey\" \"example_gpg_key\" {\n  user_id             = 1\n  partner_id          = 1\n  name                = \"key name\"\n  workspace_id        = 0\n  generate_expires_at = \"2025-06-19 12:00:00\"\n  generate_keypair    = false\n  generate_full_name  = \"John Doe\"\n  generate_email      = \"jdoe@example.com\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.GpgKey;\nimport com.pulumi.filescom.GpgKeyArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleGpgKey = new GpgKey(\"exampleGpgKey\", GpgKeyArgs.builder()\n            .userId(1)\n            .partnerId(1)\n            .name(\"key name\")\n            .workspaceId(0)\n            .generateExpiresAt(\"2025-06-19 12:00:00\")\n            .generateKeypair(false)\n            .generateFullName(\"John Doe\")\n            .generateEmail(\"jdoe@example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleGpgKey:\n    type: filescom:GpgKey\n    name: example_gpg_key\n    properties:\n      userId: 1\n      partnerId: 1\n      name: key name\n      workspaceId: 0\n      generateExpiresAt: 2025-06-19 12:00:00\n      generateKeypair: false\n      generateFullName: John Doe\n      generateEmail: jdoe@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nGpg Keys can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/gpgKey:GpgKey example_gpg_key 1\n```\n\n",
            "properties": {
                "expiresAt": {
                    "type": "string",
                    "description": "GPG key expiration date."
                },
                "generateEmail": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nEmail address of the key owner. Used for the generation of the key. Will be ignored if \u003cspan pulumi-lang-nodejs=\"`generateKeypair`\" pulumi-lang-dotnet=\"`GenerateKeypair`\" pulumi-lang-go=\"`generateKeypair`\" pulumi-lang-python=\"`generate_keypair`\" pulumi-lang-yaml=\"`generateKeypair`\" pulumi-lang-java=\"`generateKeypair`\" pulumi-lang-hcl=\"`generate_keypair`\"\u003e`generateKeypair`\u003c/span\u003e is false.",
                    "secret": true
                },
                "generateExpiresAt": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nExpiration date of the key. Used for the generation of the key. Will be ignored if \u003cspan pulumi-lang-nodejs=\"`generateKeypair`\" pulumi-lang-dotnet=\"`GenerateKeypair`\" pulumi-lang-go=\"`generateKeypair`\" pulumi-lang-python=\"`generate_keypair`\" pulumi-lang-yaml=\"`generateKeypair`\" pulumi-lang-java=\"`generateKeypair`\" pulumi-lang-hcl=\"`generate_keypair`\"\u003e`generateKeypair`\u003c/span\u003e is false.",
                    "secret": true
                },
                "generateFullName": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nFull name of the key owner. Used for the generation of the key. Will be ignored if \u003cspan pulumi-lang-nodejs=\"`generateKeypair`\" pulumi-lang-dotnet=\"`GenerateKeypair`\" pulumi-lang-go=\"`generateKeypair`\" pulumi-lang-python=\"`generate_keypair`\" pulumi-lang-yaml=\"`generateKeypair`\" pulumi-lang-java=\"`generateKeypair`\" pulumi-lang-hcl=\"`generate_keypair`\"\u003e`generateKeypair`\u003c/span\u003e is false.",
                    "secret": true
                },
                "generateKeypair": {
                    "type": "boolean",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nIf true, generate a new GPG key pair. Can not be used with \u003cspan pulumi-lang-nodejs=\"`publicKey`\" pulumi-lang-dotnet=\"`PublicKey`\" pulumi-lang-go=\"`publicKey`\" pulumi-lang-python=\"`public_key`\" pulumi-lang-yaml=\"`publicKey`\" pulumi-lang-java=\"`publicKey`\" pulumi-lang-hcl=\"`public_key`\"\u003e`publicKey`\u003c/span\u003e/\u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\" pulumi-lang-hcl=\"`private_key`\"\u003e`privateKey`\u003c/span\u003e",
                    "secret": true
                },
                "generatedPrivateKey": {
                    "type": "string",
                    "description": "GPG private key.",
                    "secret": true
                },
                "generatedPublicKey": {
                    "type": "string",
                    "description": "GPG public key"
                },
                "name": {
                    "type": "string",
                    "description": "GPG key name.\n"
                },
                "partnerId": {
                    "type": "integer",
                    "description": "Partner ID who owns this GPG Key, if applicable."
                },
                "partnerName": {
                    "type": "string",
                    "description": "Name of the Partner who owns this GPG Key, if applicable."
                },
                "privateKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe GPG private key",
                    "secret": true
                },
                "privateKeyMd5": {
                    "type": "string",
                    "description": "MD5 hash of the GPG private key."
                },
                "privateKeyPassword": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe GPG private key password",
                    "secret": true
                },
                "privateKeyPasswordMd5": {
                    "type": "string",
                    "description": "GPG private key password. Only required for password protected keys."
                },
                "publicKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe GPG public key",
                    "secret": true
                },
                "publicKeyMd5": {
                    "type": "string",
                    "description": "MD5 hash of the GPG public key"
                },
                "userId": {
                    "type": "integer",
                    "description": "User ID who owns this GPG Key, if applicable."
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID (0 for default workspace)."
                }
            },
            "required": [
                "expiresAt",
                "generatedPrivateKey",
                "generatedPublicKey",
                "name",
                "partnerId",
                "partnerName",
                "privateKeyMd5",
                "privateKeyPasswordMd5",
                "publicKeyMd5",
                "userId",
                "workspaceId"
            ],
            "inputProperties": {
                "generateEmail": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nEmail address of the key owner. Used for the generation of the key. Will be ignored if \u003cspan pulumi-lang-nodejs=\"`generateKeypair`\" pulumi-lang-dotnet=\"`GenerateKeypair`\" pulumi-lang-go=\"`generateKeypair`\" pulumi-lang-python=\"`generate_keypair`\" pulumi-lang-yaml=\"`generateKeypair`\" pulumi-lang-java=\"`generateKeypair`\" pulumi-lang-hcl=\"`generate_keypair`\"\u003e`generateKeypair`\u003c/span\u003e is false.",
                    "secret": true,
                    "willReplaceOnChanges": true
                },
                "generateExpiresAt": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nExpiration date of the key. Used for the generation of the key. Will be ignored if \u003cspan pulumi-lang-nodejs=\"`generateKeypair`\" pulumi-lang-dotnet=\"`GenerateKeypair`\" pulumi-lang-go=\"`generateKeypair`\" pulumi-lang-python=\"`generate_keypair`\" pulumi-lang-yaml=\"`generateKeypair`\" pulumi-lang-java=\"`generateKeypair`\" pulumi-lang-hcl=\"`generate_keypair`\"\u003e`generateKeypair`\u003c/span\u003e is false.",
                    "secret": true,
                    "willReplaceOnChanges": true
                },
                "generateFullName": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nFull name of the key owner. Used for the generation of the key. Will be ignored if \u003cspan pulumi-lang-nodejs=\"`generateKeypair`\" pulumi-lang-dotnet=\"`GenerateKeypair`\" pulumi-lang-go=\"`generateKeypair`\" pulumi-lang-python=\"`generate_keypair`\" pulumi-lang-yaml=\"`generateKeypair`\" pulumi-lang-java=\"`generateKeypair`\" pulumi-lang-hcl=\"`generate_keypair`\"\u003e`generateKeypair`\u003c/span\u003e is false.",
                    "secret": true,
                    "willReplaceOnChanges": true
                },
                "generateKeypair": {
                    "type": "boolean",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nIf true, generate a new GPG key pair. Can not be used with \u003cspan pulumi-lang-nodejs=\"`publicKey`\" pulumi-lang-dotnet=\"`PublicKey`\" pulumi-lang-go=\"`publicKey`\" pulumi-lang-python=\"`public_key`\" pulumi-lang-yaml=\"`publicKey`\" pulumi-lang-java=\"`publicKey`\" pulumi-lang-hcl=\"`public_key`\"\u003e`publicKey`\u003c/span\u003e/\u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\" pulumi-lang-hcl=\"`private_key`\"\u003e`privateKey`\u003c/span\u003e",
                    "secret": true,
                    "willReplaceOnChanges": true
                },
                "name": {
                    "type": "string",
                    "description": "GPG key name.\n"
                },
                "partnerId": {
                    "type": "integer",
                    "description": "Partner ID who owns this GPG Key, if applicable."
                },
                "privateKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe GPG private key",
                    "secret": true
                },
                "privateKeyPassword": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe GPG private key password",
                    "secret": true
                },
                "publicKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe GPG public key",
                    "secret": true
                },
                "userId": {
                    "type": "integer",
                    "description": "User ID who owns this GPG Key, if applicable.",
                    "willReplaceOnChanges": true
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID (0 for default workspace).",
                    "willReplaceOnChanges": true
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering GpgKey resources.\n",
                "properties": {
                    "expiresAt": {
                        "type": "string",
                        "description": "GPG key expiration date."
                    },
                    "generateEmail": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nEmail address of the key owner. Used for the generation of the key. Will be ignored if \u003cspan pulumi-lang-nodejs=\"`generateKeypair`\" pulumi-lang-dotnet=\"`GenerateKeypair`\" pulumi-lang-go=\"`generateKeypair`\" pulumi-lang-python=\"`generate_keypair`\" pulumi-lang-yaml=\"`generateKeypair`\" pulumi-lang-java=\"`generateKeypair`\" pulumi-lang-hcl=\"`generate_keypair`\"\u003e`generateKeypair`\u003c/span\u003e is false.",
                        "secret": true
                    },
                    "generateExpiresAt": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nExpiration date of the key. Used for the generation of the key. Will be ignored if \u003cspan pulumi-lang-nodejs=\"`generateKeypair`\" pulumi-lang-dotnet=\"`GenerateKeypair`\" pulumi-lang-go=\"`generateKeypair`\" pulumi-lang-python=\"`generate_keypair`\" pulumi-lang-yaml=\"`generateKeypair`\" pulumi-lang-java=\"`generateKeypair`\" pulumi-lang-hcl=\"`generate_keypair`\"\u003e`generateKeypair`\u003c/span\u003e is false.",
                        "secret": true
                    },
                    "generateFullName": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nFull name of the key owner. Used for the generation of the key. Will be ignored if \u003cspan pulumi-lang-nodejs=\"`generateKeypair`\" pulumi-lang-dotnet=\"`GenerateKeypair`\" pulumi-lang-go=\"`generateKeypair`\" pulumi-lang-python=\"`generate_keypair`\" pulumi-lang-yaml=\"`generateKeypair`\" pulumi-lang-java=\"`generateKeypair`\" pulumi-lang-hcl=\"`generate_keypair`\"\u003e`generateKeypair`\u003c/span\u003e is false.",
                        "secret": true
                    },
                    "generateKeypair": {
                        "type": "boolean",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nIf true, generate a new GPG key pair. Can not be used with \u003cspan pulumi-lang-nodejs=\"`publicKey`\" pulumi-lang-dotnet=\"`PublicKey`\" pulumi-lang-go=\"`publicKey`\" pulumi-lang-python=\"`public_key`\" pulumi-lang-yaml=\"`publicKey`\" pulumi-lang-java=\"`publicKey`\" pulumi-lang-hcl=\"`public_key`\"\u003e`publicKey`\u003c/span\u003e/\u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\" pulumi-lang-hcl=\"`private_key`\"\u003e`privateKey`\u003c/span\u003e",
                        "secret": true
                    },
                    "generatedPrivateKey": {
                        "type": "string",
                        "description": "GPG private key.",
                        "secret": true
                    },
                    "generatedPublicKey": {
                        "type": "string",
                        "description": "GPG public key"
                    },
                    "name": {
                        "type": "string",
                        "description": "GPG key name.\n"
                    },
                    "partnerId": {
                        "type": "integer",
                        "description": "Partner ID who owns this GPG Key, if applicable."
                    },
                    "partnerName": {
                        "type": "string",
                        "description": "Name of the Partner who owns this GPG Key, if applicable."
                    },
                    "privateKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe GPG private key",
                        "secret": true
                    },
                    "privateKeyMd5": {
                        "type": "string",
                        "description": "MD5 hash of the GPG private key."
                    },
                    "privateKeyPassword": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe GPG private key password",
                        "secret": true
                    },
                    "privateKeyPasswordMd5": {
                        "type": "string",
                        "description": "GPG private key password. Only required for password protected keys."
                    },
                    "publicKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe GPG public key",
                        "secret": true
                    },
                    "publicKeyMd5": {
                        "type": "string",
                        "description": "MD5 hash of the GPG public key"
                    },
                    "userId": {
                        "type": "integer",
                        "description": "User ID who owns this GPG Key, if applicable."
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID (0 for default workspace)."
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/group:Group": {
            "description": "A Group is a powerful tool for permissions and user management on Files.com. Users can belong to multiple groups.\n\n\n\nAll permissions can be managed via Groups, and Groups can also be synced to your identity platform via LDAP or SCIM.\n\n\n\nFiles.com's Group Admin feature allows you to define Group Admins, who then have access to add and remove users within their groups.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleGroup = new filescom.Group(\"example_group\", {\n    notes: \"example\",\n    userIds: \"1\",\n    adminIds: \"1\",\n    aiAssistantPersonalityId: 1,\n    ftpPermission: true,\n    sftpPermission: true,\n    davPermission: true,\n    restapiPermission: true,\n    desktopConfigurationProfileId: 1,\n    integrationCentricProfileId: 1,\n    allowedIps: `10.0.0.0/8\n127.0.0.1`,\n    name: \"name\",\n    workspaceId: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_group = filescom.Group(\"example_group\",\n    notes=\"example\",\n    user_ids=\"1\",\n    admin_ids=\"1\",\n    ai_assistant_personality_id=1,\n    ftp_permission=True,\n    sftp_permission=True,\n    dav_permission=True,\n    restapi_permission=True,\n    desktop_configuration_profile_id=1,\n    integration_centric_profile_id=1,\n    allowed_ips=\"\"\"10.0.0.0/8\n127.0.0.1\"\"\",\n    name=\"name\",\n    workspace_id=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleGroup = new Filescom.Group(\"example_group\", new()\n    {\n        Notes = \"example\",\n        UserIds = \"1\",\n        AdminIds = \"1\",\n        AiAssistantPersonalityId = 1,\n        FtpPermission = true,\n        SftpPermission = true,\n        DavPermission = true,\n        RestapiPermission = true,\n        DesktopConfigurationProfileId = 1,\n        IntegrationCentricProfileId = 1,\n        AllowedIps = @\"10.0.0.0/8\n127.0.0.1\",\n        Name = \"name\",\n        WorkspaceId = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewGroup(ctx, \"example_group\", \u0026filescom.GroupArgs{\n\t\t\tNotes:                         pulumi.String(\"example\"),\n\t\t\tUserIds:                       pulumi.String(\"1\"),\n\t\t\tAdminIds:                      pulumi.String(\"1\"),\n\t\t\tAiAssistantPersonalityId:      pulumi.Int(1),\n\t\t\tFtpPermission:                 pulumi.Bool(true),\n\t\t\tSftpPermission:                pulumi.Bool(true),\n\t\t\tDavPermission:                 pulumi.Bool(true),\n\t\t\tRestapiPermission:             pulumi.Bool(true),\n\t\t\tDesktopConfigurationProfileId: pulumi.Int(1),\n\t\t\tIntegrationCentricProfileId:   pulumi.Int(1),\n\t\t\tAllowedIps:                    pulumi.String(\"10.0.0.0/8\\n127.0.0.1\"),\n\t\t\tName:                          pulumi.String(\"name\"),\n\t\t\tWorkspaceId:                   pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_group\" \"example_group\" {\n  notes                            = \"example\"\n  user_ids                         = 1\n  admin_ids                        = 1\n  ai_assistant_personality_id      = 1\n  ftp_permission                   = true\n  sftp_permission                  = true\n  dav_permission                   = true\n  restapi_permission               = true\n  desktop_configuration_profile_id = 1\n  integration_centric_profile_id   = 1\n  allowed_ips                      = \"10.0.0.0/8\\n127.0.0.1\"\n  name                             = \"name\"\n  workspace_id                     = 0\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.Group;\nimport com.pulumi.filescom.GroupArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder()\n            .notes(\"example\")\n            .userIds(\"1\")\n            .adminIds(\"1\")\n            .aiAssistantPersonalityId(1)\n            .ftpPermission(true)\n            .sftpPermission(true)\n            .davPermission(true)\n            .restapiPermission(true)\n            .desktopConfigurationProfileId(1)\n            .integrationCentricProfileId(1)\n            .allowedIps(\"\"\"\n10.0.0.0/8\n127.0.0.1            \"\"\")\n            .name(\"name\")\n            .workspaceId(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleGroup:\n    type: filescom:Group\n    name: example_group\n    properties:\n      notes: example\n      userIds: 1\n      adminIds: 1\n      aiAssistantPersonalityId: 1\n      ftpPermission: true\n      sftpPermission: true\n      davPermission: true\n      restapiPermission: true\n      desktopConfigurationProfileId: 1\n      integrationCentricProfileId: 1\n      allowedIps: |-\n        10.0.0.0/8\n        127.0.0.1\n      name: name\n      workspaceId: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nGroups can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/group:Group example_group 1\n```\n\n",
            "properties": {
                "adminIds": {
                    "type": "string",
                    "description": "Comma-delimited list of user IDs who are group administrators (separated by commas)\n"
                },
                "aiAssistantPersonalityId": {
                    "type": "integer",
                    "description": "AI Assistant Personality ID assigned to this Group, if any. Users in the Group inherit it unless a direct per-user or Partner assignment overrides it.\n"
                },
                "allowedIps": {
                    "type": "string",
                    "description": "A list of allowed IPs if applicable.  Newline delimited\n"
                },
                "davPermission": {
                    "type": "boolean",
                    "description": "If true, users in this group can use WebDAV to login.  This will override a false value of \u003cspan pulumi-lang-nodejs=\"`davPermission`\" pulumi-lang-dotnet=\"`DavPermission`\" pulumi-lang-go=\"`davPermission`\" pulumi-lang-python=\"`dav_permission`\" pulumi-lang-yaml=\"`davPermission`\" pulumi-lang-java=\"`davPermission`\" pulumi-lang-hcl=\"`dav_permission`\"\u003e`davPermission`\u003c/span\u003e on the user level.\n"
                },
                "desktopConfigurationProfileId": {
                    "type": "integer",
                    "description": "Desktop Configuration Profile ID assigned to this Group, if any. Users in the Group inherit it unless a direct per-user assignment overrides it.\n"
                },
                "ftpPermission": {
                    "type": "boolean",
                    "description": "If true, users in this group can use FTP to login.  This will override a false value of \u003cspan pulumi-lang-nodejs=\"`ftpPermission`\" pulumi-lang-dotnet=\"`FtpPermission`\" pulumi-lang-go=\"`ftpPermission`\" pulumi-lang-python=\"`ftp_permission`\" pulumi-lang-yaml=\"`ftpPermission`\" pulumi-lang-java=\"`ftpPermission`\" pulumi-lang-hcl=\"`ftp_permission`\"\u003e`ftpPermission`\u003c/span\u003e on the user level.\n"
                },
                "integrationCentricProfileId": {
                    "type": "integer",
                    "description": "Integration Centric Profile ID assigned to this Group, if any. Users in the Group inherit it unless a direct per-user assignment overrides it.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Group name\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Notes about this group\n"
                },
                "restapiPermission": {
                    "type": "boolean",
                    "description": "If true, users in this group can use the REST API to login.  This will override a false value of \u003cspan pulumi-lang-nodejs=\"`restapiPermission`\" pulumi-lang-dotnet=\"`RestapiPermission`\" pulumi-lang-go=\"`restapiPermission`\" pulumi-lang-python=\"`restapi_permission`\" pulumi-lang-yaml=\"`restapiPermission`\" pulumi-lang-java=\"`restapiPermission`\" pulumi-lang-hcl=\"`restapi_permission`\"\u003e`restapiPermission`\u003c/span\u003e on the user level.\n"
                },
                "sftpPermission": {
                    "type": "boolean",
                    "description": "If true, users in this group can use SFTP to login.  This will override a false value of \u003cspan pulumi-lang-nodejs=\"`sftpPermission`\" pulumi-lang-dotnet=\"`SftpPermission`\" pulumi-lang-go=\"`sftpPermission`\" pulumi-lang-python=\"`sftp_permission`\" pulumi-lang-yaml=\"`sftpPermission`\" pulumi-lang-java=\"`sftpPermission`\" pulumi-lang-hcl=\"`sftp_permission`\"\u003e`sftpPermission`\u003c/span\u003e on the user level.\n"
                },
                "siteId": {
                    "type": "integer",
                    "description": "Site ID\n"
                },
                "userIds": {
                    "type": "string",
                    "description": "Comma-delimited list of user IDs who belong to this group (separated by commas)\n"
                },
                "usernames": {
                    "type": "string",
                    "description": "Comma-delimited list of usernames who belong to this group (separated by commas)\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID\n"
                }
            },
            "required": [
                "adminIds",
                "aiAssistantPersonalityId",
                "allowedIps",
                "davPermission",
                "desktopConfigurationProfileId",
                "ftpPermission",
                "integrationCentricProfileId",
                "name",
                "notes",
                "restapiPermission",
                "sftpPermission",
                "siteId",
                "userIds",
                "usernames",
                "workspaceId"
            ],
            "inputProperties": {
                "adminIds": {
                    "type": "string",
                    "description": "Comma-delimited list of user IDs who are group administrators (separated by commas)\n"
                },
                "aiAssistantPersonalityId": {
                    "type": "integer",
                    "description": "AI Assistant Personality ID assigned to this Group, if any. Users in the Group inherit it unless a direct per-user or Partner assignment overrides it.\n"
                },
                "allowedIps": {
                    "type": "string",
                    "description": "A list of allowed IPs if applicable.  Newline delimited\n"
                },
                "davPermission": {
                    "type": "boolean",
                    "description": "If true, users in this group can use WebDAV to login.  This will override a false value of \u003cspan pulumi-lang-nodejs=\"`davPermission`\" pulumi-lang-dotnet=\"`DavPermission`\" pulumi-lang-go=\"`davPermission`\" pulumi-lang-python=\"`dav_permission`\" pulumi-lang-yaml=\"`davPermission`\" pulumi-lang-java=\"`davPermission`\" pulumi-lang-hcl=\"`dav_permission`\"\u003e`davPermission`\u003c/span\u003e on the user level.\n"
                },
                "desktopConfigurationProfileId": {
                    "type": "integer",
                    "description": "Desktop Configuration Profile ID assigned to this Group, if any. Users in the Group inherit it unless a direct per-user assignment overrides it.\n"
                },
                "ftpPermission": {
                    "type": "boolean",
                    "description": "If true, users in this group can use FTP to login.  This will override a false value of \u003cspan pulumi-lang-nodejs=\"`ftpPermission`\" pulumi-lang-dotnet=\"`FtpPermission`\" pulumi-lang-go=\"`ftpPermission`\" pulumi-lang-python=\"`ftp_permission`\" pulumi-lang-yaml=\"`ftpPermission`\" pulumi-lang-java=\"`ftpPermission`\" pulumi-lang-hcl=\"`ftp_permission`\"\u003e`ftpPermission`\u003c/span\u003e on the user level.\n"
                },
                "integrationCentricProfileId": {
                    "type": "integer",
                    "description": "Integration Centric Profile ID assigned to this Group, if any. Users in the Group inherit it unless a direct per-user assignment overrides it.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Group name\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Notes about this group\n"
                },
                "restapiPermission": {
                    "type": "boolean",
                    "description": "If true, users in this group can use the REST API to login.  This will override a false value of \u003cspan pulumi-lang-nodejs=\"`restapiPermission`\" pulumi-lang-dotnet=\"`RestapiPermission`\" pulumi-lang-go=\"`restapiPermission`\" pulumi-lang-python=\"`restapi_permission`\" pulumi-lang-yaml=\"`restapiPermission`\" pulumi-lang-java=\"`restapiPermission`\" pulumi-lang-hcl=\"`restapi_permission`\"\u003e`restapiPermission`\u003c/span\u003e on the user level.\n"
                },
                "sftpPermission": {
                    "type": "boolean",
                    "description": "If true, users in this group can use SFTP to login.  This will override a false value of \u003cspan pulumi-lang-nodejs=\"`sftpPermission`\" pulumi-lang-dotnet=\"`SftpPermission`\" pulumi-lang-go=\"`sftpPermission`\" pulumi-lang-python=\"`sftp_permission`\" pulumi-lang-yaml=\"`sftpPermission`\" pulumi-lang-java=\"`sftpPermission`\" pulumi-lang-hcl=\"`sftp_permission`\"\u003e`sftpPermission`\u003c/span\u003e on the user level.\n"
                },
                "userIds": {
                    "type": "string",
                    "description": "Comma-delimited list of user IDs who belong to this group (separated by commas)\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID\n",
                    "willReplaceOnChanges": true
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Group resources.\n",
                "properties": {
                    "adminIds": {
                        "type": "string",
                        "description": "Comma-delimited list of user IDs who are group administrators (separated by commas)\n"
                    },
                    "aiAssistantPersonalityId": {
                        "type": "integer",
                        "description": "AI Assistant Personality ID assigned to this Group, if any. Users in the Group inherit it unless a direct per-user or Partner assignment overrides it.\n"
                    },
                    "allowedIps": {
                        "type": "string",
                        "description": "A list of allowed IPs if applicable.  Newline delimited\n"
                    },
                    "davPermission": {
                        "type": "boolean",
                        "description": "If true, users in this group can use WebDAV to login.  This will override a false value of \u003cspan pulumi-lang-nodejs=\"`davPermission`\" pulumi-lang-dotnet=\"`DavPermission`\" pulumi-lang-go=\"`davPermission`\" pulumi-lang-python=\"`dav_permission`\" pulumi-lang-yaml=\"`davPermission`\" pulumi-lang-java=\"`davPermission`\" pulumi-lang-hcl=\"`dav_permission`\"\u003e`davPermission`\u003c/span\u003e on the user level.\n"
                    },
                    "desktopConfigurationProfileId": {
                        "type": "integer",
                        "description": "Desktop Configuration Profile ID assigned to this Group, if any. Users in the Group inherit it unless a direct per-user assignment overrides it.\n"
                    },
                    "ftpPermission": {
                        "type": "boolean",
                        "description": "If true, users in this group can use FTP to login.  This will override a false value of \u003cspan pulumi-lang-nodejs=\"`ftpPermission`\" pulumi-lang-dotnet=\"`FtpPermission`\" pulumi-lang-go=\"`ftpPermission`\" pulumi-lang-python=\"`ftp_permission`\" pulumi-lang-yaml=\"`ftpPermission`\" pulumi-lang-java=\"`ftpPermission`\" pulumi-lang-hcl=\"`ftp_permission`\"\u003e`ftpPermission`\u003c/span\u003e on the user level.\n"
                    },
                    "integrationCentricProfileId": {
                        "type": "integer",
                        "description": "Integration Centric Profile ID assigned to this Group, if any. Users in the Group inherit it unless a direct per-user assignment overrides it.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Group name\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Notes about this group\n"
                    },
                    "restapiPermission": {
                        "type": "boolean",
                        "description": "If true, users in this group can use the REST API to login.  This will override a false value of \u003cspan pulumi-lang-nodejs=\"`restapiPermission`\" pulumi-lang-dotnet=\"`RestapiPermission`\" pulumi-lang-go=\"`restapiPermission`\" pulumi-lang-python=\"`restapi_permission`\" pulumi-lang-yaml=\"`restapiPermission`\" pulumi-lang-java=\"`restapiPermission`\" pulumi-lang-hcl=\"`restapi_permission`\"\u003e`restapiPermission`\u003c/span\u003e on the user level.\n"
                    },
                    "sftpPermission": {
                        "type": "boolean",
                        "description": "If true, users in this group can use SFTP to login.  This will override a false value of \u003cspan pulumi-lang-nodejs=\"`sftpPermission`\" pulumi-lang-dotnet=\"`SftpPermission`\" pulumi-lang-go=\"`sftpPermission`\" pulumi-lang-python=\"`sftp_permission`\" pulumi-lang-yaml=\"`sftpPermission`\" pulumi-lang-java=\"`sftpPermission`\" pulumi-lang-hcl=\"`sftp_permission`\"\u003e`sftpPermission`\u003c/span\u003e on the user level.\n"
                    },
                    "siteId": {
                        "type": "integer",
                        "description": "Site ID\n"
                    },
                    "userIds": {
                        "type": "string",
                        "description": "Comma-delimited list of user IDs who belong to this group (separated by commas)\n"
                    },
                    "usernames": {
                        "type": "string",
                        "description": "Comma-delimited list of usernames who belong to this group (separated by commas)\n"
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/groupUser:GroupUser": {
            "description": "A GroupUser is a record about membership of a User within a Group.\n\n\n\n## Creating GroupUsers\n\nGroupUsers can be created via the normal \u003cspan pulumi-lang-nodejs=\"`create`\" pulumi-lang-dotnet=\"`Create`\" pulumi-lang-go=\"`create`\" pulumi-lang-python=\"`create`\" pulumi-lang-yaml=\"`create`\" pulumi-lang-java=\"`create`\" pulumi-lang-hcl=\"`create`\"\u003e`create`\u003c/span\u003e action. When using the \u003cspan pulumi-lang-nodejs=\"`update`\" pulumi-lang-dotnet=\"`Update`\" pulumi-lang-go=\"`update`\" pulumi-lang-python=\"`update`\" pulumi-lang-yaml=\"`update`\" pulumi-lang-java=\"`update`\" pulumi-lang-hcl=\"`update`\"\u003e`update`\u003c/span\u003e action, if the\n\nGroupUser record does not exist for the given user/group IDs it will be created.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleGroupUser = new filescom.GroupUser(\"example_group_user\", {\n    groupId: 1,\n    userId: 1,\n    admin: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_group_user = filescom.GroupUser(\"example_group_user\",\n    group_id=1,\n    user_id=1,\n    admin=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleGroupUser = new Filescom.GroupUser(\"example_group_user\", new()\n    {\n        GroupId = 1,\n        UserId = 1,\n        Admin = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewGroupUser(ctx, \"example_group_user\", \u0026filescom.GroupUserArgs{\n\t\t\tGroupId: pulumi.Int(1),\n\t\t\tUserId:  pulumi.Int(1),\n\t\t\tAdmin:   pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_groupuser\" \"example_group_user\" {\n  group_id = 1\n  user_id  = 1\n  admin    = false\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.GroupUser;\nimport com.pulumi.filescom.GroupUserArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleGroupUser = new GroupUser(\"exampleGroupUser\", GroupUserArgs.builder()\n            .groupId(1)\n            .userId(1)\n            .admin(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleGroupUser:\n    type: filescom:GroupUser\n    name: example_group_user\n    properties:\n      groupId: 1\n      userId: 1\n      admin: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nGroup Users can be imported by specifying the\u003cspan pulumi-lang-nodejs=\" groupId \" pulumi-lang-dotnet=\" GroupId \" pulumi-lang-go=\" groupId \" pulumi-lang-python=\" group_id \" pulumi-lang-yaml=\" groupId \" pulumi-lang-java=\" groupId \" pulumi-lang-hcl=\" group_id \"\u003e groupId \u003c/span\u003eand user_id.\n\n```sh\n$ pulumi import filescom:index/groupUser:GroupUser example_group_user 1,1\n```\n\n",
            "properties": {
                "admin": {
                    "type": "boolean",
                    "description": "Is this user an administrator of this group?\n"
                },
                "groupId": {
                    "type": "integer",
                    "description": "Group ID\n"
                },
                "groupName": {
                    "type": "string",
                    "description": "Group name\n"
                },
                "userId": {
                    "type": "integer",
                    "description": "User ID\n"
                },
                "username": {
                    "type": "string",
                    "description": "Username of the user\n"
                }
            },
            "required": [
                "admin",
                "groupId",
                "groupName",
                "userId",
                "username"
            ],
            "inputProperties": {
                "admin": {
                    "type": "boolean",
                    "description": "Is this user an administrator of this group?\n",
                    "willReplaceOnChanges": true
                },
                "groupId": {
                    "type": "integer",
                    "description": "Group ID\n",
                    "willReplaceOnChanges": true
                },
                "userId": {
                    "type": "integer",
                    "description": "User ID\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "groupId",
                "userId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering GroupUser resources.\n",
                "properties": {
                    "admin": {
                        "type": "boolean",
                        "description": "Is this user an administrator of this group?\n"
                    },
                    "groupId": {
                        "type": "integer",
                        "description": "Group ID\n"
                    },
                    "groupName": {
                        "type": "string",
                        "description": "Group name\n"
                    },
                    "userId": {
                        "type": "integer",
                        "description": "User ID\n"
                    },
                    "username": {
                        "type": "string",
                        "description": "Username of the user\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/holidayCalendar:HolidayCalendar": {
            "description": "A Holiday Calendar defines site-wide holiday dates and optional partial-day windows that scheduled resources skip.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleHolidayCalendar = new filescom.HolidayCalendar(\"example_holiday_calendar\", {\n    definition: {\n        months: {\n            \"0\": {\n                calculatedRules: [{\n                    name: \"Good Friday\",\n                    \"function\": \"easter(year)\",\n                    functionModifier: -2,\n                }],\n            },\n            \"1\": {\n                fixedRules: [{\n                    name: \"New Year's Day\",\n                    mday: 1,\n                    observed: \"to_weekday_if_weekend(date)\",\n                }],\n                weekdayRules: [{\n                    name: \"Third Monday\",\n                    week: 3,\n                    wday: 1,\n                }],\n            },\n            \"11\": {\n                weekdayRules: [{\n                    name: \"Thanksgiving\",\n                    week: 4,\n                    wday: 4,\n                }],\n            },\n            \"12\": {\n                fixedRules: [{\n                    name: \"Christmas Eve Early Close\",\n                    mday: 24,\n                    startTime: \"13:00\",\n                    endTime: \"17:00\",\n                    yearRanges: {\n                        from: 2026,\n                    },\n                }],\n            },\n        },\n    },\n    name: \"Company Holidays\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_holiday_calendar = filescom.HolidayCalendar(\"example_holiday_calendar\",\n    definition={\n        \"months\": {\n            \"0\": {\n                \"calculated_rules\": [{\n                    \"name\": \"Good Friday\",\n                    \"function\": \"easter(year)\",\n                    \"function_modifier\": -2,\n                }],\n            },\n            \"1\": {\n                \"fixed_rules\": [{\n                    \"name\": \"New Year's Day\",\n                    \"mday\": 1,\n                    \"observed\": \"to_weekday_if_weekend(date)\",\n                }],\n                \"weekday_rules\": [{\n                    \"name\": \"Third Monday\",\n                    \"week\": 3,\n                    \"wday\": 1,\n                }],\n            },\n            \"11\": {\n                \"weekday_rules\": [{\n                    \"name\": \"Thanksgiving\",\n                    \"week\": 4,\n                    \"wday\": 4,\n                }],\n            },\n            \"12\": {\n                \"fixed_rules\": [{\n                    \"name\": \"Christmas Eve Early Close\",\n                    \"mday\": 24,\n                    \"start_time\": \"13:00\",\n                    \"end_time\": \"17:00\",\n                    \"year_ranges\": {\n                        \"from_\": 2026,\n                    },\n                }],\n            },\n        },\n    },\n    name=\"Company Holidays\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleHolidayCalendar = new Filescom.HolidayCalendar(\"example_holiday_calendar\", new()\n    {\n        Definition = new Filescom.Inputs.HolidayCalendarDefinitionArgs\n        {\n            Months = \n            {\n                { \"0\", new Filescom.Inputs.HolidayCalendarDefinitionMonthsArgs\n                {\n                    CalculatedRules = new[]\n                    {\n                        new Filescom.Inputs.HolidayCalendarDefinitionMonthsCalculatedRuleArgs\n                        {\n                            Name = \"Good Friday\",\n                            Function = \"easter(year)\",\n                            FunctionModifier = -2,\n                        },\n                    },\n                } },\n                { \"1\", new Filescom.Inputs.HolidayCalendarDefinitionMonthsArgs\n                {\n                    FixedRules = new[]\n                    {\n                        new Filescom.Inputs.HolidayCalendarDefinitionMonthsFixedRuleArgs\n                        {\n                            Name = \"New Year's Day\",\n                            Mday = 1,\n                            Observed = \"to_weekday_if_weekend(date)\",\n                        },\n                    },\n                    WeekdayRules = new[]\n                    {\n                        new Filescom.Inputs.HolidayCalendarDefinitionMonthsWeekdayRuleArgs\n                        {\n                            Name = \"Third Monday\",\n                            Week = 3,\n                            Wday = 1,\n                        },\n                    },\n                } },\n                { \"11\", new Filescom.Inputs.HolidayCalendarDefinitionMonthsArgs\n                {\n                    WeekdayRules = new[]\n                    {\n                        new Filescom.Inputs.HolidayCalendarDefinitionMonthsWeekdayRuleArgs\n                        {\n                            Name = \"Thanksgiving\",\n                            Week = 4,\n                            Wday = 4,\n                        },\n                    },\n                } },\n                { \"12\", new Filescom.Inputs.HolidayCalendarDefinitionMonthsArgs\n                {\n                    FixedRules = new[]\n                    {\n                        new Filescom.Inputs.HolidayCalendarDefinitionMonthsFixedRuleArgs\n                        {\n                            Name = \"Christmas Eve Early Close\",\n                            Mday = 24,\n                            StartTime = \"13:00\",\n                            EndTime = \"17:00\",\n                            YearRanges = new Filescom.Inputs.HolidayCalendarDefinitionMonthsFixedRuleYearRangesArgs\n                            {\n                                From = 2026,\n                            },\n                        },\n                    },\n                } },\n            },\n        },\n        Name = \"Company Holidays\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewHolidayCalendar(ctx, \"example_holiday_calendar\", \u0026filescom.HolidayCalendarArgs{\n\t\t\tDefinition: \u0026filescom.HolidayCalendarDefinitionArgs{\n\t\t\t\tMonths: filescom.HolidayCalendarDefinitionMonthsMap{\n\t\t\t\t\t\"0\": \u0026filescom.HolidayCalendarDefinitionMonthsArgs{\n\t\t\t\t\t\tCalculatedRules: filescom.HolidayCalendarDefinitionMonthsCalculatedRuleArray{\n\t\t\t\t\t\t\t\u0026filescom.HolidayCalendarDefinitionMonthsCalculatedRuleArgs{\n\t\t\t\t\t\t\t\tName:             pulumi.String(\"Good Friday\"),\n\t\t\t\t\t\t\t\tFunction:         pulumi.String(\"easter(year)\"),\n\t\t\t\t\t\t\t\tFunctionModifier: pulumi.Int(-2),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"1\": \u0026filescom.HolidayCalendarDefinitionMonthsArgs{\n\t\t\t\t\t\tFixedRules: filescom.HolidayCalendarDefinitionMonthsFixedRuleArray{\n\t\t\t\t\t\t\t\u0026filescom.HolidayCalendarDefinitionMonthsFixedRuleArgs{\n\t\t\t\t\t\t\t\tName:     pulumi.String(\"New Year's Day\"),\n\t\t\t\t\t\t\t\tMday:     pulumi.Int(1),\n\t\t\t\t\t\t\t\tObserved: pulumi.String(\"to_weekday_if_weekend(date)\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tWeekdayRules: filescom.HolidayCalendarDefinitionMonthsWeekdayRuleArray{\n\t\t\t\t\t\t\t\u0026filescom.HolidayCalendarDefinitionMonthsWeekdayRuleArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"Third Monday\"),\n\t\t\t\t\t\t\t\tWeek: pulumi.Int(3),\n\t\t\t\t\t\t\t\tWday: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"11\": \u0026filescom.HolidayCalendarDefinitionMonthsArgs{\n\t\t\t\t\t\tWeekdayRules: filescom.HolidayCalendarDefinitionMonthsWeekdayRuleArray{\n\t\t\t\t\t\t\t\u0026filescom.HolidayCalendarDefinitionMonthsWeekdayRuleArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"Thanksgiving\"),\n\t\t\t\t\t\t\t\tWeek: pulumi.Int(4),\n\t\t\t\t\t\t\t\tWday: pulumi.Int(4),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"12\": \u0026filescom.HolidayCalendarDefinitionMonthsArgs{\n\t\t\t\t\t\tFixedRules: filescom.HolidayCalendarDefinitionMonthsFixedRuleArray{\n\t\t\t\t\t\t\t\u0026filescom.HolidayCalendarDefinitionMonthsFixedRuleArgs{\n\t\t\t\t\t\t\t\tName:      pulumi.String(\"Christmas Eve Early Close\"),\n\t\t\t\t\t\t\t\tMday:      pulumi.Int(24),\n\t\t\t\t\t\t\t\tStartTime: pulumi.String(\"13:00\"),\n\t\t\t\t\t\t\t\tEndTime:   pulumi.String(\"17:00\"),\n\t\t\t\t\t\t\t\tYearRanges: \u0026filescom.HolidayCalendarDefinitionMonthsFixedRuleYearRangesArgs{\n\t\t\t\t\t\t\t\t\tFrom: pulumi.Int(2026),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"Company Holidays\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_holidaycalendar\" \"example_holiday_calendar\" {\n  definition = {\n    months = {\n      \"0\" = {\n        calculated_rules = [{\n          \"name\"             = \"Good Friday\"\n          \"function\"         = \"easter(year)\"\n          \"functionModifier\" = -2\n        }]\n      }\n      \"1\" = {\n        fixed_rules = [{\n          \"name\"     = \"New Year's Day\"\n          \"mday\"     = 1\n          \"observed\" = \"to_weekday_if_weekend(date)\"\n        }]\n        weekday_rules = [{\n          \"name\" = \"Third Monday\"\n          \"week\" = 3\n          \"wday\" = 1\n        }]\n      }\n      \"11\" = {\n        weekday_rules = [{\n          \"name\" = \"Thanksgiving\"\n          \"week\" = 4\n          \"wday\" = 4\n        }]\n      }\n      \"12\" = {\n        fixed_rules = [{\n          \"name\"      = \"Christmas Eve Early Close\"\n          \"mday\"      = 24\n          \"startTime\" = \"13:00\"\n          \"endTime\"   = \"17:00\"\n          \"yearRanges\" = {\n            \"from\" = 2026\n          }\n        }]\n      }\n    }\n  }\n  name = \"Company Holidays\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.HolidayCalendar;\nimport com.pulumi.filescom.HolidayCalendarArgs;\nimport com.pulumi.filescom.inputs.HolidayCalendarDefinitionArgs;\nimport com.pulumi.filescom.inputs.HolidayCalendarDefinitionMonthsArgs;\nimport com.pulumi.filescom.inputs.HolidayCalendarDefinitionMonthsCalculatedRuleArgs;\nimport com.pulumi.filescom.inputs.HolidayCalendarDefinitionMonthsFixedRuleArgs;\nimport com.pulumi.filescom.inputs.HolidayCalendarDefinitionMonthsWeekdayRuleArgs;\nimport com.pulumi.filescom.inputs.HolidayCalendarDefinitionMonthsFixedRuleYearRangesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleHolidayCalendar = new HolidayCalendar(\"exampleHolidayCalendar\", HolidayCalendarArgs.builder()\n            .definition(HolidayCalendarDefinitionArgs.builder()\n                .months(Map.ofEntries(\n                    Map.entry(\"0\", HolidayCalendarDefinitionMonthsArgs.builder()\n                        .calculatedRules(HolidayCalendarDefinitionMonthsCalculatedRuleArgs.builder()\n                            .name(\"Good Friday\")\n                            .function(\"easter(year)\")\n                            .functionModifier(-2)\n                            .build())\n                        .build()),\n                    Map.entry(\"1\", HolidayCalendarDefinitionMonthsArgs.builder()\n                        .fixedRules(HolidayCalendarDefinitionMonthsFixedRuleArgs.builder()\n                            .name(\"New Year's Day\")\n                            .mday(1)\n                            .observed(\"to_weekday_if_weekend(date)\")\n                            .build())\n                        .weekdayRules(HolidayCalendarDefinitionMonthsWeekdayRuleArgs.builder()\n                            .name(\"Third Monday\")\n                            .week(3)\n                            .wday(1)\n                            .build())\n                        .build()),\n                    Map.entry(\"11\", HolidayCalendarDefinitionMonthsArgs.builder()\n                        .weekdayRules(HolidayCalendarDefinitionMonthsWeekdayRuleArgs.builder()\n                            .name(\"Thanksgiving\")\n                            .week(4)\n                            .wday(4)\n                            .build())\n                        .build()),\n                    Map.entry(\"12\", HolidayCalendarDefinitionMonthsArgs.builder()\n                        .fixedRules(HolidayCalendarDefinitionMonthsFixedRuleArgs.builder()\n                            .name(\"Christmas Eve Early Close\")\n                            .mday(24)\n                            .startTime(\"13:00\")\n                            .endTime(\"17:00\")\n                            .yearRanges(HolidayCalendarDefinitionMonthsFixedRuleYearRangesArgs.builder()\n                                .from(2026)\n                                .build())\n                            .build())\n                        .build())\n                ))\n                .build())\n            .name(\"Company Holidays\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleHolidayCalendar:\n    type: filescom:HolidayCalendar\n    name: example_holiday_calendar\n    properties:\n      definition:\n        months:\n          '0':\n            calculatedRules:\n              - name: Good Friday\n                function: easter(year)\n                functionModifier: -2\n          '1':\n            fixedRules:\n              - name: New Year's Day\n                mday: 1\n                observed: to_weekday_if_weekend(date)\n            weekdayRules:\n              - name: Third Monday\n                week: 3\n                wday: 1\n          '11':\n            weekdayRules:\n              - name: Thanksgiving\n                week: 4\n                wday: 4\n          '12':\n            fixedRules:\n              - name: Christmas Eve Early Close\n                mday: 24\n                startTime: 13:00\n                endTime: 17:00\n                yearRanges:\n                  from: 2026\n      name: Company Holidays\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nHoliday Calendars can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/holidayCalendar:HolidayCalendar example_holiday_calendar 1\n```\n\n",
            "properties": {
                "createdAt": {
                    "type": "string",
                    "description": "Creation time.\n"
                },
                "definition": {
                    "$ref": "#/types/filescom:index/HolidayCalendarDefinition:HolidayCalendarDefinition",
                    "description": "Holiday rules for the calendar.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Holiday Calendar name.\n"
                },
                "updatedAt": {
                    "type": "string",
                    "description": "Last update time.\n"
                }
            },
            "required": [
                "createdAt",
                "definition",
                "name",
                "updatedAt"
            ],
            "inputProperties": {
                "definition": {
                    "$ref": "#/types/filescom:index/HolidayCalendarDefinition:HolidayCalendarDefinition",
                    "description": "Holiday rules for the calendar.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Holiday Calendar name.\n"
                }
            },
            "requiredInputs": [
                "definition"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering HolidayCalendar resources.\n",
                "properties": {
                    "createdAt": {
                        "type": "string",
                        "description": "Creation time.\n"
                    },
                    "definition": {
                        "$ref": "#/types/filescom:index/HolidayCalendarDefinition:HolidayCalendarDefinition",
                        "description": "Holiday rules for the calendar.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Holiday Calendar name.\n"
                    },
                    "updatedAt": {
                        "type": "string",
                        "description": "Last update time.\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/integrationCentricProfile:IntegrationCentricProfile": {
            "description": "An Integration Centric Profile defines the Remote Server integrations a user is expected to add and connect during integration-centric onboarding.\n\n\n\nUse this to automate setup guidance for users who need access to multiple business systems without sending long manual instructions. Common scenarios include ongoing access to systems such as SharePoint, bridging Google, Microsoft, and Box environments after M\u0026A activity, and migrations where users connect legacy EFSS accounts during transition work.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleIntegrationCentricProfile = new filescom.IntegrationCentricProfile(\"example_integration_centric_profile\", {\n    name: \"Business Systems Onboarding\",\n    expectedRemoteServers: [\"example\"],\n    workspaceId: 1,\n    useForAllUsers: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_integration_centric_profile = filescom.IntegrationCentricProfile(\"example_integration_centric_profile\",\n    name=\"Business Systems Onboarding\",\n    expected_remote_servers=[\"example\"],\n    workspace_id=1,\n    use_for_all_users=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleIntegrationCentricProfile = new Filescom.IntegrationCentricProfile(\"example_integration_centric_profile\", new()\n    {\n        Name = \"Business Systems Onboarding\",\n        ExpectedRemoteServers = new[]\n        {\n            \"example\",\n        },\n        WorkspaceId = 1,\n        UseForAllUsers = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewIntegrationCentricProfile(ctx, \"example_integration_centric_profile\", \u0026filescom.IntegrationCentricProfileArgs{\n\t\t\tName: pulumi.String(\"Business Systems Onboarding\"),\n\t\t\tExpectedRemoteServers: pulumi.Any{\n\t\t\t\t\"example\",\n\t\t\t},\n\t\t\tWorkspaceId:    pulumi.Int(1),\n\t\t\tUseForAllUsers: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_integrationcentricprofile\" \"example_integration_centric_profile\" {\n  name                    = \"Business Systems Onboarding\"\n  expected_remote_servers = [\"example\"]\n  workspace_id            = 1\n  use_for_all_users       = false\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.IntegrationCentricProfile;\nimport com.pulumi.filescom.IntegrationCentricProfileArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleIntegrationCentricProfile = new IntegrationCentricProfile(\"exampleIntegrationCentricProfile\", IntegrationCentricProfileArgs.builder()\n            .name(\"Business Systems Onboarding\")\n            .expectedRemoteServers(\"example\")\n            .workspaceId(1)\n            .useForAllUsers(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleIntegrationCentricProfile:\n    type: filescom:IntegrationCentricProfile\n    name: example_integration_centric_profile\n    properties:\n      name: Business Systems Onboarding\n      expectedRemoteServers:\n        - example\n      workspaceId: 1\n      useForAllUsers: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nIntegration Centric Profiles can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/integrationCentricProfile:IntegrationCentricProfile example_integration_centric_profile 1\n```\n\n",
            "properties": {
                "expectedRemoteServers": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Remote Server integrations the user is expected to add and connect. Each entry requires \u003cspan pulumi-lang-nodejs=\"`serverType`\" pulumi-lang-dotnet=\"`ServerType`\" pulumi-lang-go=\"`serverType`\" pulumi-lang-python=\"`server_type`\" pulumi-lang-yaml=\"`serverType`\" pulumi-lang-java=\"`serverType`\" pulumi-lang-hcl=\"`server_type`\"\u003e`serverType`\u003c/span\u003e and may include a display \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\" pulumi-lang-hcl=\"`name`\"\u003e`name`\u003c/span\u003e.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Profile name\n"
                },
                "useForAllUsers": {
                    "type": "boolean",
                    "description": "Whether this profile applies to all users in the Workspace by default\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID\n"
                }
            },
            "required": [
                "expectedRemoteServers",
                "name",
                "useForAllUsers",
                "workspaceId"
            ],
            "inputProperties": {
                "expectedRemoteServers": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Remote Server integrations the user is expected to add and connect. Each entry requires \u003cspan pulumi-lang-nodejs=\"`serverType`\" pulumi-lang-dotnet=\"`ServerType`\" pulumi-lang-go=\"`serverType`\" pulumi-lang-python=\"`server_type`\" pulumi-lang-yaml=\"`serverType`\" pulumi-lang-java=\"`serverType`\" pulumi-lang-hcl=\"`server_type`\"\u003e`serverType`\u003c/span\u003e and may include a display \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\" pulumi-lang-hcl=\"`name`\"\u003e`name`\u003c/span\u003e.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Profile name\n"
                },
                "useForAllUsers": {
                    "type": "boolean",
                    "description": "Whether this profile applies to all users in the Workspace by default\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID\n"
                }
            },
            "requiredInputs": [
                "expectedRemoteServers"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering IntegrationCentricProfile resources.\n",
                "properties": {
                    "expectedRemoteServers": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Remote Server integrations the user is expected to add and connect. Each entry requires \u003cspan pulumi-lang-nodejs=\"`serverType`\" pulumi-lang-dotnet=\"`ServerType`\" pulumi-lang-go=\"`serverType`\" pulumi-lang-python=\"`server_type`\" pulumi-lang-yaml=\"`serverType`\" pulumi-lang-java=\"`serverType`\" pulumi-lang-hcl=\"`server_type`\"\u003e`serverType`\u003c/span\u003e and may include a display \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\" pulumi-lang-hcl=\"`name`\"\u003e`name`\u003c/span\u003e.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Profile name\n"
                    },
                    "useForAllUsers": {
                        "type": "boolean",
                        "description": "Whether this profile applies to all users in the Workspace by default\n"
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/keyLifecycleRule:KeyLifecycleRule": {
            "description": "A KeyLifecycleRule represents a rule that applies to API keys, GPG keys, and SSH keys (also called User Public Keys) based on their inactivity or age.\n\n\n\nKeys that have been unused for the specified number of days will be deleted. SSH keys can also be configured to expire after a specified number of days. SSH key expiration applies only to User Public Keys used for inbound SFTP/SSH login, not Remote Server outbound SSH keys.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleKeyLifecycleRule = new filescom.KeyLifecycleRule(\"example_key_lifecycle_rule\", {\n    applyToAllWorkspaces: true,\n    expirationDays: 365,\n    keyType: \"gpg\",\n    inactivityDays: 12,\n    name: \"inactive gpg keys\",\n    workspaceId: 12,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_key_lifecycle_rule = filescom.KeyLifecycleRule(\"example_key_lifecycle_rule\",\n    apply_to_all_workspaces=True,\n    expiration_days=365,\n    key_type=\"gpg\",\n    inactivity_days=12,\n    name=\"inactive gpg keys\",\n    workspace_id=12)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleKeyLifecycleRule = new Filescom.KeyLifecycleRule(\"example_key_lifecycle_rule\", new()\n    {\n        ApplyToAllWorkspaces = true,\n        ExpirationDays = 365,\n        KeyType = \"gpg\",\n        InactivityDays = 12,\n        Name = \"inactive gpg keys\",\n        WorkspaceId = 12,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewKeyLifecycleRule(ctx, \"example_key_lifecycle_rule\", \u0026filescom.KeyLifecycleRuleArgs{\n\t\t\tApplyToAllWorkspaces: pulumi.Bool(true),\n\t\t\tExpirationDays:       pulumi.Int(365),\n\t\t\tKeyType:              pulumi.String(\"gpg\"),\n\t\t\tInactivityDays:       pulumi.Int(12),\n\t\t\tName:                 pulumi.String(\"inactive gpg keys\"),\n\t\t\tWorkspaceId:          pulumi.Int(12),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_keylifecyclerule\" \"example_key_lifecycle_rule\" {\n  apply_to_all_workspaces = true\n  expiration_days         = 365\n  key_type                = \"gpg\"\n  inactivity_days         = 12\n  name                    = \"inactive gpg keys\"\n  workspace_id            = 12\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.KeyLifecycleRule;\nimport com.pulumi.filescom.KeyLifecycleRuleArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleKeyLifecycleRule = new KeyLifecycleRule(\"exampleKeyLifecycleRule\", KeyLifecycleRuleArgs.builder()\n            .applyToAllWorkspaces(true)\n            .expirationDays(365)\n            .keyType(\"gpg\")\n            .inactivityDays(12)\n            .name(\"inactive gpg keys\")\n            .workspaceId(12)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleKeyLifecycleRule:\n    type: filescom:KeyLifecycleRule\n    name: example_key_lifecycle_rule\n    properties:\n      applyToAllWorkspaces: true\n      expirationDays: 365\n      keyType: gpg\n      inactivityDays: 12\n      name: inactive gpg keys\n      workspaceId: 12\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nKey Lifecycle Rules can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/keyLifecycleRule:KeyLifecycleRule example_key_lifecycle_rule 1\n```\n\n",
            "properties": {
                "applyToAllWorkspaces": {
                    "type": "boolean",
                    "description": "If true, a default-workspace rule also applies to keys in all workspaces.\n"
                },
                "expirationDays": {
                    "type": "integer",
                    "description": "Number of days after creation before an SSH key expires. Applies only to SSH keys.\n"
                },
                "inactivityDays": {
                    "type": "integer",
                    "description": "Number of days of inactivity before the rule applies.\n"
                },
                "keyType": {
                    "type": "string",
                    "description": "Key type for which the rule will apply (gpg, ssh, or api).\n"
                },
                "name": {
                    "type": "string",
                    "description": "Key Lifecycle Rule name\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n"
                }
            },
            "required": [
                "applyToAllWorkspaces",
                "expirationDays",
                "inactivityDays",
                "keyType",
                "name",
                "workspaceId"
            ],
            "inputProperties": {
                "applyToAllWorkspaces": {
                    "type": "boolean",
                    "description": "If true, a default-workspace rule also applies to keys in all workspaces.\n"
                },
                "expirationDays": {
                    "type": "integer",
                    "description": "Number of days after creation before an SSH key expires. Applies only to SSH keys.\n"
                },
                "inactivityDays": {
                    "type": "integer",
                    "description": "Number of days of inactivity before the rule applies.\n"
                },
                "keyType": {
                    "type": "string",
                    "description": "Key type for which the rule will apply (gpg, ssh, or api).\n"
                },
                "name": {
                    "type": "string",
                    "description": "Key Lifecycle Rule name\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n"
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering KeyLifecycleRule resources.\n",
                "properties": {
                    "applyToAllWorkspaces": {
                        "type": "boolean",
                        "description": "If true, a default-workspace rule also applies to keys in all workspaces.\n"
                    },
                    "expirationDays": {
                        "type": "integer",
                        "description": "Number of days after creation before an SSH key expires. Applies only to SSH keys.\n"
                    },
                    "inactivityDays": {
                        "type": "integer",
                        "description": "Number of days of inactivity before the rule applies.\n"
                    },
                    "keyType": {
                        "type": "string",
                        "description": "Key type for which the rule will apply (gpg, ssh, or api).\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Key Lifecycle Rule name\n"
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/lock:Lock": {
            "description": "A Lock can be used by your custom-developed applications to implement file locking and concurrency features. These locks are advisory, meaning that while a lock can be created, it does not prevent other API requests from being processed concurrently. You are responsible for checking locks prior to accessing a file.\n\n\n\nThe lock feature is designed to emulate the locking functionality provided by WebDAV. For a deeper understanding of how the lock mechanism works, refer to the WebDAV specification, which outlines how these endpoints function.\n\n\n\nFiles.com's WebDAV offering and desktop app leverage this locking API to manage concurrent file operations, ensuring consistency when multiple users or systems interact with the same files. It is not used within the Files.com web interface.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleLock = new filescom.Lock(\"example_lock\", {\n    path: \"locked_file\",\n    allowAccessByAnyUser: false,\n    exclusive: false,\n    recursive: true,\n    timeout: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_lock = filescom.Lock(\"example_lock\",\n    path=\"locked_file\",\n    allow_access_by_any_user=False,\n    exclusive=False,\n    recursive=True,\n    timeout=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleLock = new Filescom.Lock(\"example_lock\", new()\n    {\n        Path = \"locked_file\",\n        AllowAccessByAnyUser = false,\n        Exclusive = false,\n        Recursive = true,\n        Timeout = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewLock(ctx, \"example_lock\", \u0026filescom.LockArgs{\n\t\t\tPath:                 pulumi.String(\"locked_file\"),\n\t\t\tAllowAccessByAnyUser: pulumi.Bool(false),\n\t\t\tExclusive:            pulumi.Bool(false),\n\t\t\tRecursive:            pulumi.Bool(true),\n\t\t\tTimeout:              pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_lock\" \"example_lock\" {\n  path                     = \"locked_file\"\n  allow_access_by_any_user = false\n  exclusive                = false\n  recursive                = true\n  timeout                  = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.Lock;\nimport com.pulumi.filescom.LockArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleLock = new Lock(\"exampleLock\", LockArgs.builder()\n            .path(\"locked_file\")\n            .allowAccessByAnyUser(false)\n            .exclusive(false)\n            .recursive(true)\n            .timeout(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleLock:\n    type: filescom:Lock\n    name: example_lock\n    properties:\n      path: locked_file\n      allowAccessByAnyUser: false\n      exclusive: false\n      recursive: true\n      timeout: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nLocks can be imported by specifying the path.\n\n```sh\n$ pulumi import filescom:index/lock:Lock example_lock path\n```\n\n",
            "properties": {
                "allowAccessByAnyUser": {
                    "type": "boolean",
                    "description": "Can lock be modified by users other than its creator?\n"
                },
                "depth": {
                    "type": "string"
                },
                "exclusive": {
                    "type": "boolean",
                    "description": "Is lock exclusive?\n"
                },
                "owner": {
                    "type": "string",
                    "description": "Owner of the lock.  This can be any arbitrary string.\n"
                },
                "path": {
                    "type": "string",
                    "description": "Path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                },
                "recursive": {
                    "type": "boolean",
                    "description": "Does lock apply to subfolders?\n"
                },
                "scope": {
                    "type": "string"
                },
                "timeout": {
                    "type": "integer",
                    "description": "Lock timeout in seconds\n"
                },
                "token": {
                    "type": "string",
                    "description": "Lock token.  Use to release lock.\n"
                },
                "type": {
                    "type": "string"
                },
                "userId": {
                    "type": "integer",
                    "description": "Lock creator user ID\n"
                },
                "username": {
                    "type": "string",
                    "description": "Lock creator username\n"
                }
            },
            "required": [
                "allowAccessByAnyUser",
                "depth",
                "exclusive",
                "owner",
                "path",
                "recursive",
                "scope",
                "timeout",
                "token",
                "type",
                "userId",
                "username"
            ],
            "inputProperties": {
                "allowAccessByAnyUser": {
                    "type": "boolean",
                    "description": "Can lock be modified by users other than its creator?\n",
                    "willReplaceOnChanges": true
                },
                "exclusive": {
                    "type": "boolean",
                    "description": "Is lock exclusive?\n",
                    "willReplaceOnChanges": true
                },
                "path": {
                    "type": "string",
                    "description": "Path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n",
                    "willReplaceOnChanges": true
                },
                "recursive": {
                    "type": "boolean",
                    "description": "Does lock apply to subfolders?\n",
                    "willReplaceOnChanges": true
                },
                "timeout": {
                    "type": "integer",
                    "description": "Lock timeout in seconds\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "path"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Lock resources.\n",
                "properties": {
                    "allowAccessByAnyUser": {
                        "type": "boolean",
                        "description": "Can lock be modified by users other than its creator?\n"
                    },
                    "depth": {
                        "type": "string"
                    },
                    "exclusive": {
                        "type": "boolean",
                        "description": "Is lock exclusive?\n"
                    },
                    "owner": {
                        "type": "string",
                        "description": "Owner of the lock.  This can be any arbitrary string.\n"
                    },
                    "path": {
                        "type": "string",
                        "description": "Path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                    },
                    "recursive": {
                        "type": "boolean",
                        "description": "Does lock apply to subfolders?\n"
                    },
                    "scope": {
                        "type": "string"
                    },
                    "timeout": {
                        "type": "integer",
                        "description": "Lock timeout in seconds\n"
                    },
                    "token": {
                        "type": "string",
                        "description": "Lock token.  Use to release lock.\n"
                    },
                    "type": {
                        "type": "string"
                    },
                    "userId": {
                        "type": "integer",
                        "description": "Lock creator user ID\n"
                    },
                    "username": {
                        "type": "string",
                        "description": "Lock creator username\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/message:Message": {
            "description": "A Message is a part of Files.com's project management features and represents a message posted by a user to a project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleMessage = new filescom.Message(\"example_message\", {\n    userId: 1,\n    projectId: 1,\n    subject: \"Files.com Account Upgrade\",\n    body: \"We should upgrade our Files.com account!\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_message = filescom.Message(\"example_message\",\n    user_id=1,\n    project_id=1,\n    subject=\"Files.com Account Upgrade\",\n    body=\"We should upgrade our Files.com account!\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleMessage = new Filescom.Message(\"example_message\", new()\n    {\n        UserId = 1,\n        ProjectId = 1,\n        Subject = \"Files.com Account Upgrade\",\n        Body = \"We should upgrade our Files.com account!\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewMessage(ctx, \"example_message\", \u0026filescom.MessageArgs{\n\t\t\tUserId:    pulumi.Int(1),\n\t\t\tProjectId: pulumi.Int(1),\n\t\t\tSubject:   pulumi.String(\"Files.com Account Upgrade\"),\n\t\t\tBody:      pulumi.String(\"We should upgrade our Files.com account!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_message\" \"example_message\" {\n  user_id    = 1\n  project_id = 1\n  subject    = \"Files.com Account Upgrade\"\n  body       = \"We should upgrade our Files.com account!\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.Message;\nimport com.pulumi.filescom.MessageArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleMessage = new Message(\"exampleMessage\", MessageArgs.builder()\n            .userId(1)\n            .projectId(1)\n            .subject(\"Files.com Account Upgrade\")\n            .body(\"We should upgrade our Files.com account!\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleMessage:\n    type: filescom:Message\n    name: example_message\n    properties:\n      userId: 1\n      projectId: 1\n      subject: Files.com Account Upgrade\n      body: We should upgrade our Files.com account!\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nMessages can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/message:Message example_message 1\n```\n\n",
            "properties": {
                "body": {
                    "type": "string",
                    "description": "Message body."
                },
                "comments": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Comments."
                },
                "projectId": {
                    "type": "integer",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nProject to which the message should be attached.",
                    "secret": true
                },
                "subject": {
                    "type": "string",
                    "description": "Message subject."
                },
                "userId": {
                    "type": "integer",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nUser ID.  Provide a value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e to operate the current session's user.",
                    "secret": true
                }
            },
            "required": [
                "body",
                "comments",
                "projectId",
                "subject"
            ],
            "inputProperties": {
                "body": {
                    "type": "string",
                    "description": "Message body."
                },
                "projectId": {
                    "type": "integer",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nProject to which the message should be attached.",
                    "secret": true
                },
                "subject": {
                    "type": "string",
                    "description": "Message subject."
                },
                "userId": {
                    "type": "integer",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nUser ID.  Provide a value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e to operate the current session's user.",
                    "secret": true,
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "body",
                "projectId",
                "subject"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Message resources.\n",
                "properties": {
                    "body": {
                        "type": "string",
                        "description": "Message body."
                    },
                    "comments": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Comments."
                    },
                    "projectId": {
                        "type": "integer",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nProject to which the message should be attached.",
                        "secret": true
                    },
                    "subject": {
                        "type": "string",
                        "description": "Message subject."
                    },
                    "userId": {
                        "type": "integer",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nUser ID.  Provide a value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e to operate the current session's user.",
                        "secret": true
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/messageComment:MessageComment": {
            "description": "A MessageComment is a comment made by a user on a message.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleMessageComment = new filescom.MessageComment(\"example_message_comment\", {\n    userId: 1,\n    body: \"What a great idea, thank you!\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_message_comment = filescom.MessageComment(\"example_message_comment\",\n    user_id=1,\n    body=\"What a great idea, thank you!\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleMessageComment = new Filescom.MessageComment(\"example_message_comment\", new()\n    {\n        UserId = 1,\n        Body = \"What a great idea, thank you!\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewMessageComment(ctx, \"example_message_comment\", \u0026filescom.MessageCommentArgs{\n\t\t\tUserId: pulumi.Int(1),\n\t\t\tBody:   pulumi.String(\"What a great idea, thank you!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_messagecomment\" \"example_message_comment\" {\n  user_id = 1\n  body    = \"What a great idea, thank you!\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.MessageComment;\nimport com.pulumi.filescom.MessageCommentArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleMessageComment = new MessageComment(\"exampleMessageComment\", MessageCommentArgs.builder()\n            .userId(1)\n            .body(\"What a great idea, thank you!\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleMessageComment:\n    type: filescom:MessageComment\n    name: example_message_comment\n    properties:\n      userId: 1\n      body: What a great idea, thank you!\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nMessage Comments can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/messageComment:MessageComment example_message_comment 1\n```\n\n",
            "properties": {
                "body": {
                    "type": "string",
                    "description": "Comment body.\n"
                },
                "reactions": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Reactions to this comment."
                },
                "userId": {
                    "type": "integer",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nUser ID.  Provide a value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e to operate the current session's user.",
                    "secret": true
                }
            },
            "required": [
                "body",
                "reactions"
            ],
            "inputProperties": {
                "body": {
                    "type": "string",
                    "description": "Comment body.\n"
                },
                "userId": {
                    "type": "integer",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nUser ID.  Provide a value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e to operate the current session's user.",
                    "secret": true,
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "body"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering MessageComment resources.\n",
                "properties": {
                    "body": {
                        "type": "string",
                        "description": "Comment body.\n"
                    },
                    "reactions": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Reactions to this comment."
                    },
                    "userId": {
                        "type": "integer",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nUser ID.  Provide a value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e to operate the current session's user.",
                        "secret": true
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/messageCommentReaction:MessageCommentReaction": {
            "description": "A MessageCommentReaction is a reaction emoji made by a user on a message comment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleMessageCommentReaction = new filescom.MessageCommentReaction(\"example_message_comment_reaction\", {\n    userId: 1,\n    emoji: \"emoji\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_message_comment_reaction = filescom.MessageCommentReaction(\"example_message_comment_reaction\",\n    user_id=1,\n    emoji=\"emoji\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleMessageCommentReaction = new Filescom.MessageCommentReaction(\"example_message_comment_reaction\", new()\n    {\n        UserId = 1,\n        Emoji = \"emoji\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewMessageCommentReaction(ctx, \"example_message_comment_reaction\", \u0026filescom.MessageCommentReactionArgs{\n\t\t\tUserId: pulumi.Int(1),\n\t\t\tEmoji:  pulumi.String(\"emoji\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_messagecommentreaction\" \"example_message_comment_reaction\" {\n  user_id = 1\n  emoji   = \"emoji\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.MessageCommentReaction;\nimport com.pulumi.filescom.MessageCommentReactionArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleMessageCommentReaction = new MessageCommentReaction(\"exampleMessageCommentReaction\", MessageCommentReactionArgs.builder()\n            .userId(1)\n            .emoji(\"emoji\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleMessageCommentReaction:\n    type: filescom:MessageCommentReaction\n    name: example_message_comment_reaction\n    properties:\n      userId: 1\n      emoji: emoji\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nMessage Comment Reactions can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/messageCommentReaction:MessageCommentReaction example_message_comment_reaction 1\n```\n\n",
            "properties": {
                "emoji": {
                    "type": "string",
                    "description": "Emoji used in the reaction.\n"
                },
                "userId": {
                    "type": "integer",
                    "description": "User ID.  Provide a value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e to operate the current session's user.\n"
                }
            },
            "required": [
                "emoji"
            ],
            "inputProperties": {
                "emoji": {
                    "type": "string",
                    "description": "Emoji used in the reaction.\n",
                    "willReplaceOnChanges": true
                },
                "userId": {
                    "type": "integer",
                    "description": "User ID.  Provide a value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e to operate the current session's user.\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "emoji"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering MessageCommentReaction resources.\n",
                "properties": {
                    "emoji": {
                        "type": "string",
                        "description": "Emoji used in the reaction.\n"
                    },
                    "userId": {
                        "type": "integer",
                        "description": "User ID.  Provide a value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e to operate the current session's user.\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/messageReaction:MessageReaction": {
            "description": "A MessageReaction is a reaction emoji made by a user on a message.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleMessageReaction = new filescom.MessageReaction(\"example_message_reaction\", {\n    userId: 1,\n    emoji: \"emoji\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_message_reaction = filescom.MessageReaction(\"example_message_reaction\",\n    user_id=1,\n    emoji=\"emoji\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleMessageReaction = new Filescom.MessageReaction(\"example_message_reaction\", new()\n    {\n        UserId = 1,\n        Emoji = \"emoji\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewMessageReaction(ctx, \"example_message_reaction\", \u0026filescom.MessageReactionArgs{\n\t\t\tUserId: pulumi.Int(1),\n\t\t\tEmoji:  pulumi.String(\"emoji\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_messagereaction\" \"example_message_reaction\" {\n  user_id = 1\n  emoji   = \"emoji\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.MessageReaction;\nimport com.pulumi.filescom.MessageReactionArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleMessageReaction = new MessageReaction(\"exampleMessageReaction\", MessageReactionArgs.builder()\n            .userId(1)\n            .emoji(\"emoji\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleMessageReaction:\n    type: filescom:MessageReaction\n    name: example_message_reaction\n    properties:\n      userId: 1\n      emoji: emoji\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nMessage Reactions can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/messageReaction:MessageReaction example_message_reaction 1\n```\n\n",
            "properties": {
                "emoji": {
                    "type": "string",
                    "description": "Emoji used in the reaction.\n"
                },
                "userId": {
                    "type": "integer",
                    "description": "User ID.  Provide a value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e to operate the current session's user.\n"
                }
            },
            "required": [
                "emoji"
            ],
            "inputProperties": {
                "emoji": {
                    "type": "string",
                    "description": "Emoji used in the reaction.\n",
                    "willReplaceOnChanges": true
                },
                "userId": {
                    "type": "integer",
                    "description": "User ID.  Provide a value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e to operate the current session's user.\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "emoji"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering MessageReaction resources.\n",
                "properties": {
                    "emoji": {
                        "type": "string",
                        "description": "Emoji used in the reaction.\n"
                    },
                    "userId": {
                        "type": "integer",
                        "description": "User ID.  Provide a value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e to operate the current session's user.\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/metadataCategory:MetadataCategory": {
            "description": "A MetadataCategory defines a reusable set of Custom Metadata rules that can be assigned to folders\n\nvia a folder behavior. Each category specifies named metadata keys with optional allowed-value\n\nconstraints, and a set of default columns to display in the UI.\n\n\n\nIf a key's \u003cspan pulumi-lang-nodejs=\"`allowedValues`\" pulumi-lang-dotnet=\"`AllowedValues`\" pulumi-lang-go=\"`allowedValues`\" pulumi-lang-python=\"`allowed_values`\" pulumi-lang-yaml=\"`allowedValues`\" pulumi-lang-java=\"`allowedValues`\" pulumi-lang-hcl=\"`allowed_values`\"\u003e`allowedValues`\u003c/span\u003e array is empty, it is treated as a free-form text field.\n\nIf the array is non-empty, the key is constrained to those values in the Web UI.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleMetadataCategory = new filescom.MetadataCategory(\"example_metadata_category\", {\n    name: \"Approval Workflow\",\n    defaultColumns: [\"Approval Status\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_metadata_category = filescom.MetadataCategory(\"example_metadata_category\",\n    name=\"Approval Workflow\",\n    default_columns=[\"Approval Status\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleMetadataCategory = new Filescom.MetadataCategory(\"example_metadata_category\", new()\n    {\n        Name = \"Approval Workflow\",\n        DefaultColumns = new[]\n        {\n            \"Approval Status\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewMetadataCategory(ctx, \"example_metadata_category\", \u0026filescom.MetadataCategoryArgs{\n\t\t\tName: pulumi.String(\"Approval Workflow\"),\n\t\t\tDefaultColumns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Approval Status\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_metadatacategory\" \"example_metadata_category\" {\n  name            = \"Approval Workflow\"\n  default_columns = [\"Approval Status\"]\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.MetadataCategory;\nimport com.pulumi.filescom.MetadataCategoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleMetadataCategory = new MetadataCategory(\"exampleMetadataCategory\", MetadataCategoryArgs.builder()\n            .name(\"Approval Workflow\")\n            .defaultColumns(\"Approval Status\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleMetadataCategory:\n    type: filescom:MetadataCategory\n    name: example_metadata_category\n    properties:\n      name: Approval Workflow\n      defaultColumns:\n        - Approval Status\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nMetadata Categories can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/metadataCategory:MetadataCategory example_metadata_category 1\n```\n\n",
            "properties": {
                "defaultColumns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Metadata keys that should appear as columns in the UI by default.\n"
                },
                "definitions": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "description": "Map of key names to arrays of allowed values. An empty array means free-form text.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the metadata category.\n"
                }
            },
            "required": [
                "defaultColumns",
                "definitions",
                "name"
            ],
            "inputProperties": {
                "defaultColumns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Metadata keys that should appear as columns in the UI by default.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the metadata category.\n"
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering MetadataCategory resources.\n",
                "properties": {
                    "defaultColumns": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Metadata keys that should appear as columns in the UI by default.\n"
                    },
                    "definitions": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        },
                        "description": "Map of key names to arrays of allowed values. An empty array means free-form text.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the metadata category.\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/notification:Notification": {
            "description": "A Notification is our feature that sends E-Mails when specific actions occur in the folder.\n\n\n\nEmails are sent in batches, with email frequency options of every 5 minutes, every 15 minutes, hourly, or daily. They will include a list of the matching actions within the configured notification period, limited to the first 100.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleNotification = new filescom.Notification(\"example_notification\", {\n    userId: 1,\n    notifyOnCopy: false,\n    notifyOnDelete: true,\n    notifyOnDownload: true,\n    notifyOnMove: true,\n    notifyOnUpload: true,\n    notifyUserActions: false,\n    recursive: false,\n    sendInterval: \"daily\",\n    subject: \"Vendor A CSV Activity\",\n    message: \"custom notification email message\",\n    triggeringFilenames: [\n        \"*.jpg\",\n        \"notify_file.txt\",\n    ],\n    triggeringGroupIds: [1],\n    triggeringUserIds: [1],\n    triggerByShareRecipients: true,\n    workspaceId: 1,\n    groupId: 1,\n    groupIds: [1],\n    username: \"User\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_notification = filescom.Notification(\"example_notification\",\n    user_id=1,\n    notify_on_copy=False,\n    notify_on_delete=True,\n    notify_on_download=True,\n    notify_on_move=True,\n    notify_on_upload=True,\n    notify_user_actions=False,\n    recursive=False,\n    send_interval=\"daily\",\n    subject=\"Vendor A CSV Activity\",\n    message=\"custom notification email message\",\n    triggering_filenames=[\n        \"*.jpg\",\n        \"notify_file.txt\",\n    ],\n    triggering_group_ids=[1],\n    triggering_user_ids=[1],\n    trigger_by_share_recipients=True,\n    workspace_id=1,\n    group_id=1,\n    group_ids=[1],\n    username=\"User\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleNotification = new Filescom.Notification(\"example_notification\", new()\n    {\n        UserId = 1,\n        NotifyOnCopy = false,\n        NotifyOnDelete = true,\n        NotifyOnDownload = true,\n        NotifyOnMove = true,\n        NotifyOnUpload = true,\n        NotifyUserActions = false,\n        Recursive = false,\n        SendInterval = \"daily\",\n        Subject = \"Vendor A CSV Activity\",\n        Message = \"custom notification email message\",\n        TriggeringFilenames = new[]\n        {\n            \"*.jpg\",\n            \"notify_file.txt\",\n        },\n        TriggeringGroupIds = new[]\n        {\n            1,\n        },\n        TriggeringUserIds = new[]\n        {\n            1,\n        },\n        TriggerByShareRecipients = true,\n        WorkspaceId = 1,\n        GroupId = 1,\n        GroupIds = new[]\n        {\n            1,\n        },\n        Username = \"User\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewNotification(ctx, \"example_notification\", \u0026filescom.NotificationArgs{\n\t\t\tUserId:            pulumi.Int(1),\n\t\t\tNotifyOnCopy:      pulumi.Bool(false),\n\t\t\tNotifyOnDelete:    pulumi.Bool(true),\n\t\t\tNotifyOnDownload:  pulumi.Bool(true),\n\t\t\tNotifyOnMove:      pulumi.Bool(true),\n\t\t\tNotifyOnUpload:    pulumi.Bool(true),\n\t\t\tNotifyUserActions: pulumi.Bool(false),\n\t\t\tRecursive:         pulumi.Bool(false),\n\t\t\tSendInterval:      pulumi.String(\"daily\"),\n\t\t\tSubject:           pulumi.String(\"Vendor A CSV Activity\"),\n\t\t\tMessage:           pulumi.String(\"custom notification email message\"),\n\t\t\tTriggeringFilenames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"*.jpg\"),\n\t\t\t\tpulumi.String(\"notify_file.txt\"),\n\t\t\t},\n\t\t\tTriggeringGroupIds: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t},\n\t\t\tTriggeringUserIds: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t},\n\t\t\tTriggerByShareRecipients: pulumi.Bool(true),\n\t\t\tWorkspaceId:              pulumi.Int(1),\n\t\t\tGroupId:                  pulumi.Int(1),\n\t\t\tGroupIds: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t},\n\t\t\tUsername: pulumi.String(\"User\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_notification\" \"example_notification\" {\n  user_id                     = 1\n  notify_on_copy              = false\n  notify_on_delete            = true\n  notify_on_download          = true\n  notify_on_move              = true\n  notify_on_upload            = true\n  notify_user_actions         = false\n  recursive                   = false\n  send_interval               = \"daily\"\n  subject                     = \"Vendor A CSV Activity\"\n  message                     = \"custom notification email message\"\n  triggering_filenames        = [\"*.jpg\", \"notify_file.txt\"]\n  triggering_group_ids        = [1]\n  triggering_user_ids         = [1]\n  trigger_by_share_recipients = true\n  workspace_id                = 1\n  group_id                    = 1\n  group_ids                   = [1]\n  username                    = \"User\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.Notification;\nimport com.pulumi.filescom.NotificationArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleNotification = new Notification(\"exampleNotification\", NotificationArgs.builder()\n            .userId(1)\n            .notifyOnCopy(false)\n            .notifyOnDelete(true)\n            .notifyOnDownload(true)\n            .notifyOnMove(true)\n            .notifyOnUpload(true)\n            .notifyUserActions(false)\n            .recursive(false)\n            .sendInterval(\"daily\")\n            .subject(\"Vendor A CSV Activity\")\n            .message(\"custom notification email message\")\n            .triggeringFilenames(            \n                \"*.jpg\",\n                \"notify_file.txt\")\n            .triggeringGroupIds(1)\n            .triggeringUserIds(1)\n            .triggerByShareRecipients(true)\n            .workspaceId(1)\n            .groupId(1)\n            .groupIds(1)\n            .username(\"User\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleNotification:\n    type: filescom:Notification\n    name: example_notification\n    properties:\n      userId: 1\n      notifyOnCopy: false\n      notifyOnDelete: true\n      notifyOnDownload: true\n      notifyOnMove: true\n      notifyOnUpload: true\n      notifyUserActions: false\n      recursive: false\n      sendInterval: daily\n      subject: Vendor A CSV Activity\n      message: custom notification email message\n      triggeringFilenames:\n        - '*.jpg'\n        - notify_file.txt\n      triggeringGroupIds:\n        - 1\n      triggeringUserIds:\n        - 1\n      triggerByShareRecipients: true\n      workspaceId: 1\n      groupId: 1\n      groupIds:\n        - 1\n      username: User\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nNotifications can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/notification:Notification example_notification 1\n```\n\n",
            "properties": {
                "groupId": {
                    "type": "integer",
                    "description": "ID of Group to receive notifications\n"
                },
                "groupIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Group IDs when the notification requires multiple groups\n"
                },
                "groupName": {
                    "type": "string",
                    "description": "Group name, if a Group ID is set\n"
                },
                "groupNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Group names when the notification requires multiple groups\n"
                },
                "message": {
                    "type": "string",
                    "description": "Custom message to include in notification emails\n"
                },
                "notifyOnCopy": {
                    "type": "boolean",
                    "description": "Trigger on files copied to this path?\n"
                },
                "notifyOnDelete": {
                    "type": "boolean",
                    "description": "Trigger on files deleted in this path?\n"
                },
                "notifyOnDownload": {
                    "type": "boolean",
                    "description": "Trigger on files downloaded in this path?\n"
                },
                "notifyOnMove": {
                    "type": "boolean",
                    "description": "Trigger on files moved to this path?\n"
                },
                "notifyOnUpload": {
                    "type": "boolean",
                    "description": "Trigger on files created/uploaded/updated/changed in this path?\n"
                },
                "notifyUserActions": {
                    "type": "boolean",
                    "description": "If true, will send notifications about a user's own activity to that user.  If false, only activity performed by other users (or anonymous users) will be sent in notifications.\n"
                },
                "path": {
                    "type": "string",
                    "description": "Folder path to notify on. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                },
                "recursive": {
                    "type": "boolean",
                    "description": "Apply notification recursively?  This will enable notifications for each subfolder.\n"
                },
                "sendInterval": {
                    "type": "string",
                    "description": "The time interval that notifications are aggregated to\n"
                },
                "subject": {
                    "type": "string",
                    "description": "Custom subject line to use for notification emails\n"
                },
                "suppressedEmail": {
                    "type": "boolean",
                    "description": "If true, it means that the recipient at this user's email address has manually unsubscribed from all emails, or had their email \"hard bounce\", which means that we are unable to send mail to this user's current email address. Notifications will resume if the user changes their email address.\n"
                },
                "triggerByShareRecipients": {
                    "type": "boolean",
                    "description": "Notify when actions are performed by a share recipient?\n"
                },
                "triggeringFilenames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Array of filenames (possibly with wildcards) to scope trigger\n"
                },
                "triggeringGroupIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "If set, will only notify on actions made by a member of one of the specified groups\n"
                },
                "triggeringUserIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "If set, will only notify on actions made one of the specified users\n"
                },
                "unsubscribed": {
                    "type": "boolean",
                    "description": "Is the user unsubscribed from this notification?\n"
                },
                "unsubscribedReason": {
                    "type": "string",
                    "description": "The reason that the user unsubscribed\n"
                },
                "userId": {
                    "type": "integer",
                    "description": "Notification user ID\n"
                },
                "username": {
                    "type": "string",
                    "description": "Notification username\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n"
                }
            },
            "required": [
                "groupId",
                "groupIds",
                "groupName",
                "groupNames",
                "message",
                "notifyOnCopy",
                "notifyOnDelete",
                "notifyOnDownload",
                "notifyOnMove",
                "notifyOnUpload",
                "notifyUserActions",
                "path",
                "recursive",
                "sendInterval",
                "subject",
                "suppressedEmail",
                "triggerByShareRecipients",
                "triggeringFilenames",
                "triggeringGroupIds",
                "triggeringUserIds",
                "unsubscribed",
                "unsubscribedReason",
                "userId",
                "username",
                "workspaceId"
            ],
            "inputProperties": {
                "groupId": {
                    "type": "integer",
                    "description": "ID of Group to receive notifications\n",
                    "willReplaceOnChanges": true
                },
                "groupIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Group IDs when the notification requires multiple groups\n",
                    "willReplaceOnChanges": true
                },
                "message": {
                    "type": "string",
                    "description": "Custom message to include in notification emails\n"
                },
                "notifyOnCopy": {
                    "type": "boolean",
                    "description": "Trigger on files copied to this path?\n"
                },
                "notifyOnDelete": {
                    "type": "boolean",
                    "description": "Trigger on files deleted in this path?\n"
                },
                "notifyOnDownload": {
                    "type": "boolean",
                    "description": "Trigger on files downloaded in this path?\n"
                },
                "notifyOnMove": {
                    "type": "boolean",
                    "description": "Trigger on files moved to this path?\n"
                },
                "notifyOnUpload": {
                    "type": "boolean",
                    "description": "Trigger on files created/uploaded/updated/changed in this path?\n"
                },
                "notifyUserActions": {
                    "type": "boolean",
                    "description": "If true, will send notifications about a user's own activity to that user.  If false, only activity performed by other users (or anonymous users) will be sent in notifications.\n"
                },
                "path": {
                    "type": "string",
                    "description": "Folder path to notify on. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n",
                    "willReplaceOnChanges": true
                },
                "recursive": {
                    "type": "boolean",
                    "description": "Apply notification recursively?  This will enable notifications for each subfolder.\n"
                },
                "sendInterval": {
                    "type": "string",
                    "description": "The time interval that notifications are aggregated to\n"
                },
                "subject": {
                    "type": "string",
                    "description": "Custom subject line to use for notification emails\n"
                },
                "triggerByShareRecipients": {
                    "type": "boolean",
                    "description": "Notify when actions are performed by a share recipient?\n"
                },
                "triggeringFilenames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Array of filenames (possibly with wildcards) to scope trigger\n"
                },
                "triggeringGroupIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "If set, will only notify on actions made by a member of one of the specified groups\n"
                },
                "triggeringUserIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "If set, will only notify on actions made one of the specified users\n"
                },
                "userId": {
                    "type": "integer",
                    "description": "Notification user ID\n",
                    "willReplaceOnChanges": true
                },
                "username": {
                    "type": "string",
                    "description": "Notification username\n",
                    "willReplaceOnChanges": true
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n"
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Notification resources.\n",
                "properties": {
                    "groupId": {
                        "type": "integer",
                        "description": "ID of Group to receive notifications\n"
                    },
                    "groupIds": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "Group IDs when the notification requires multiple groups\n"
                    },
                    "groupName": {
                        "type": "string",
                        "description": "Group name, if a Group ID is set\n"
                    },
                    "groupNames": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Group names when the notification requires multiple groups\n"
                    },
                    "message": {
                        "type": "string",
                        "description": "Custom message to include in notification emails\n"
                    },
                    "notifyOnCopy": {
                        "type": "boolean",
                        "description": "Trigger on files copied to this path?\n"
                    },
                    "notifyOnDelete": {
                        "type": "boolean",
                        "description": "Trigger on files deleted in this path?\n"
                    },
                    "notifyOnDownload": {
                        "type": "boolean",
                        "description": "Trigger on files downloaded in this path?\n"
                    },
                    "notifyOnMove": {
                        "type": "boolean",
                        "description": "Trigger on files moved to this path?\n"
                    },
                    "notifyOnUpload": {
                        "type": "boolean",
                        "description": "Trigger on files created/uploaded/updated/changed in this path?\n"
                    },
                    "notifyUserActions": {
                        "type": "boolean",
                        "description": "If true, will send notifications about a user's own activity to that user.  If false, only activity performed by other users (or anonymous users) will be sent in notifications.\n"
                    },
                    "path": {
                        "type": "string",
                        "description": "Folder path to notify on. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                    },
                    "recursive": {
                        "type": "boolean",
                        "description": "Apply notification recursively?  This will enable notifications for each subfolder.\n"
                    },
                    "sendInterval": {
                        "type": "string",
                        "description": "The time interval that notifications are aggregated to\n"
                    },
                    "subject": {
                        "type": "string",
                        "description": "Custom subject line to use for notification emails\n"
                    },
                    "suppressedEmail": {
                        "type": "boolean",
                        "description": "If true, it means that the recipient at this user's email address has manually unsubscribed from all emails, or had their email \"hard bounce\", which means that we are unable to send mail to this user's current email address. Notifications will resume if the user changes their email address.\n"
                    },
                    "triggerByShareRecipients": {
                        "type": "boolean",
                        "description": "Notify when actions are performed by a share recipient?\n"
                    },
                    "triggeringFilenames": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Array of filenames (possibly with wildcards) to scope trigger\n"
                    },
                    "triggeringGroupIds": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "If set, will only notify on actions made by a member of one of the specified groups\n"
                    },
                    "triggeringUserIds": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "If set, will only notify on actions made one of the specified users\n"
                    },
                    "unsubscribed": {
                        "type": "boolean",
                        "description": "Is the user unsubscribed from this notification?\n"
                    },
                    "unsubscribedReason": {
                        "type": "string",
                        "description": "The reason that the user unsubscribed\n"
                    },
                    "userId": {
                        "type": "integer",
                        "description": "Notification user ID\n"
                    },
                    "username": {
                        "type": "string",
                        "description": "Notification username\n"
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/partner:Partner": {
            "description": "A Partner is a first-class entity that cleanly represents an external organization, enables delegated administration, and enforces strict boundaries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst examplePartner = new filescom.Partner(\"example_partner\", {\n    aiAssistantPersonalityId: 1,\n    allowedIps: `10.0.0.0/8\n127.0.0.1`,\n    allowBypassing2faPolicies: false,\n    allowCredentialChanges: false,\n    allowProvidingGpgKeys: false,\n    allowUserCreation: false,\n    ccEmailsToResponsibleParty: false,\n    notes: \"This is a note about the partner.\",\n    partnerChannelTemplateId: 1,\n    responsibleGroupId: 1,\n    responsibleUserId: 1,\n    showPartnerChannelHomePage: false,\n    tags: \"example\",\n    name: \"Acme Corp\",\n    rootFolder: \"/AcmeCorp\",\n    workspaceId: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_partner = filescom.Partner(\"example_partner\",\n    ai_assistant_personality_id=1,\n    allowed_ips=\"\"\"10.0.0.0/8\n127.0.0.1\"\"\",\n    allow_bypassing2fa_policies=False,\n    allow_credential_changes=False,\n    allow_providing_gpg_keys=False,\n    allow_user_creation=False,\n    cc_emails_to_responsible_party=False,\n    notes=\"This is a note about the partner.\",\n    partner_channel_template_id=1,\n    responsible_group_id=1,\n    responsible_user_id=1,\n    show_partner_channel_home_page=False,\n    tags=\"example\",\n    name=\"Acme Corp\",\n    root_folder=\"/AcmeCorp\",\n    workspace_id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var examplePartner = new Filescom.Partner(\"example_partner\", new()\n    {\n        AiAssistantPersonalityId = 1,\n        AllowedIps = @\"10.0.0.0/8\n127.0.0.1\",\n        AllowBypassing2faPolicies = false,\n        AllowCredentialChanges = false,\n        AllowProvidingGpgKeys = false,\n        AllowUserCreation = false,\n        CcEmailsToResponsibleParty = false,\n        Notes = \"This is a note about the partner.\",\n        PartnerChannelTemplateId = 1,\n        ResponsibleGroupId = 1,\n        ResponsibleUserId = 1,\n        ShowPartnerChannelHomePage = false,\n        Tags = \"example\",\n        Name = \"Acme Corp\",\n        RootFolder = \"/AcmeCorp\",\n        WorkspaceId = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewPartner(ctx, \"example_partner\", \u0026filescom.PartnerArgs{\n\t\t\tAiAssistantPersonalityId:   pulumi.Int(1),\n\t\t\tAllowedIps:                 pulumi.String(\"10.0.0.0/8\\n127.0.0.1\"),\n\t\t\tAllowBypassing2faPolicies:  pulumi.Bool(false),\n\t\t\tAllowCredentialChanges:     pulumi.Bool(false),\n\t\t\tAllowProvidingGpgKeys:      pulumi.Bool(false),\n\t\t\tAllowUserCreation:          pulumi.Bool(false),\n\t\t\tCcEmailsToResponsibleParty: pulumi.Bool(false),\n\t\t\tNotes:                      pulumi.String(\"This is a note about the partner.\"),\n\t\t\tPartnerChannelTemplateId:   pulumi.Int(1),\n\t\t\tResponsibleGroupId:         pulumi.Int(1),\n\t\t\tResponsibleUserId:          pulumi.Int(1),\n\t\t\tShowPartnerChannelHomePage: pulumi.Bool(false),\n\t\t\tTags:                       pulumi.String(\"example\"),\n\t\t\tName:                       pulumi.String(\"Acme Corp\"),\n\t\t\tRootFolder:                 pulumi.String(\"/AcmeCorp\"),\n\t\t\tWorkspaceId:                pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_partner\" \"example_partner\" {\n  ai_assistant_personality_id    = 1\n  allowed_ips                    = \"10.0.0.0/8\\n127.0.0.1\"\n  allow_bypassing2fa_policies    = false\n  allow_credential_changes       = false\n  allow_providing_gpg_keys       = false\n  allow_user_creation            = false\n  cc_emails_to_responsible_party = false\n  notes                          = \"This is a note about the partner.\"\n  partner_channel_template_id    = 1\n  responsible_group_id           = 1\n  responsible_user_id            = 1\n  show_partner_channel_home_page = false\n  tags                           = \"example\"\n  name                           = \"Acme Corp\"\n  root_folder                    = \"/AcmeCorp\"\n  workspace_id                   = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.Partner;\nimport com.pulumi.filescom.PartnerArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var examplePartner = new Partner(\"examplePartner\", PartnerArgs.builder()\n            .aiAssistantPersonalityId(1)\n            .allowedIps(\"\"\"\n10.0.0.0/8\n127.0.0.1            \"\"\")\n            .allowBypassing2faPolicies(false)\n            .allowCredentialChanges(false)\n            .allowProvidingGpgKeys(false)\n            .allowUserCreation(false)\n            .ccEmailsToResponsibleParty(false)\n            .notes(\"This is a note about the partner.\")\n            .partnerChannelTemplateId(1)\n            .responsibleGroupId(1)\n            .responsibleUserId(1)\n            .showPartnerChannelHomePage(false)\n            .tags(\"example\")\n            .name(\"Acme Corp\")\n            .rootFolder(\"/AcmeCorp\")\n            .workspaceId(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  examplePartner:\n    type: filescom:Partner\n    name: example_partner\n    properties:\n      aiAssistantPersonalityId: 1\n      allowedIps: |-\n        10.0.0.0/8\n        127.0.0.1\n      allowBypassing2faPolicies: false\n      allowCredentialChanges: false\n      allowProvidingGpgKeys: false\n      allowUserCreation: false\n      ccEmailsToResponsibleParty: false\n      notes: This is a note about the partner.\n      partnerChannelTemplateId: 1\n      responsibleGroupId: 1\n      responsibleUserId: 1\n      showPartnerChannelHomePage: false\n      tags: example\n      name: Acme Corp\n      rootFolder: /AcmeCorp\n      workspaceId: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nPartners can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/partner:Partner example_partner 1\n```\n\n",
            "properties": {
                "aiAssistantPersonalityId": {
                    "type": "integer",
                    "description": "AI Assistant Personality ID assigned to this Partner, if any. Users in the Partner inherit it unless a direct per-user assignment overrides it.\n"
                },
                "allowBypassing2faPolicies": {
                    "type": "boolean",
                    "description": "Allow Partner Admins to change Two-Factor Authentication requirements for Partner Users.\n"
                },
                "allowCredentialChanges": {
                    "type": "boolean",
                    "description": "Allow Partner Admins to change or reset credentials for users belonging to this Partner.\n"
                },
                "allowProvidingGpgKeys": {
                    "type": "boolean",
                    "description": "Allow Partner Admins to provide GPG keys.\n"
                },
                "allowUserCreation": {
                    "type": "boolean",
                    "description": "Allow Partner Admins to create users.\n"
                },
                "allowedIps": {
                    "type": "string",
                    "description": "A list of allowed IPs for this Partner. Newline delimited. Partner User IP access is allowed when the IP matches the Partner, User, or Site allowed IP lists.\n"
                },
                "ccEmailsToResponsibleParty": {
                    "type": "boolean",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, emails sent to Partner users are copied to the responsible User or Group.\n"
                },
                "name": {
                    "type": "string",
                    "description": "The name of the Partner.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Notes about this Partner.\n"
                },
                "partnerAdminIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Array of User IDs that are Partner Admins for this Partner.\n"
                },
                "partnerChannelTemplateId": {
                    "type": "integer",
                    "description": "ID of the Partner Channel Template assigned to this Partner.\n"
                },
                "partnershipRole": {
                    "type": "string",
                    "description": "This site's role in Partner Site relationships for this Partner. Can be \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\" pulumi-lang-hcl=\"`host`\"\u003e`host`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`guest`\" pulumi-lang-dotnet=\"`Guest`\" pulumi-lang-go=\"`guest`\" pulumi-lang-python=\"`guest`\" pulumi-lang-yaml=\"`guest`\" pulumi-lang-java=\"`guest`\" pulumi-lang-hcl=\"`guest`\"\u003e`guest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hostAndGuest`\" pulumi-lang-dotnet=\"`HostAndGuest`\" pulumi-lang-go=\"`hostAndGuest`\" pulumi-lang-python=\"`host_and_guest`\" pulumi-lang-yaml=\"`hostAndGuest`\" pulumi-lang-java=\"`hostAndGuest`\" pulumi-lang-hcl=\"`host_and_guest`\"\u003e`hostAndGuest`\u003c/span\u003e, or null.\n"
                },
                "responsibleGroupId": {
                    "type": "integer",
                    "description": "ID of the Group responsible for this Partner.\n"
                },
                "responsibleUserId": {
                    "type": "integer",
                    "description": "ID of the User responsible for this Partner.\n"
                },
                "rootFolder": {
                    "type": "string",
                    "description": "The root folder path for this Partner.\n"
                },
                "showPartnerChannelHomePage": {
                    "type": "boolean",
                    "description": "Show Partner users a simplified home page built from this Partner's Channels.\n"
                },
                "tags": {
                    "type": "string",
                    "description": "Comma-separated list of Tags for this Partner. Tags are used for other features, such as UserLifecycleRules, which can target specific tags.  Tags must only contain lowercase letters, numbers, and hyphens.\n"
                },
                "userIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Array of User IDs that belong to this Partner.\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "ID of the Workspace associated with this Partner.\n"
                }
            },
            "required": [
                "aiAssistantPersonalityId",
                "allowBypassing2faPolicies",
                "allowCredentialChanges",
                "allowProvidingGpgKeys",
                "allowUserCreation",
                "allowedIps",
                "ccEmailsToResponsibleParty",
                "name",
                "notes",
                "partnerAdminIds",
                "partnerChannelTemplateId",
                "partnershipRole",
                "responsibleGroupId",
                "responsibleUserId",
                "rootFolder",
                "showPartnerChannelHomePage",
                "tags",
                "userIds",
                "workspaceId"
            ],
            "inputProperties": {
                "aiAssistantPersonalityId": {
                    "type": "integer",
                    "description": "AI Assistant Personality ID assigned to this Partner, if any. Users in the Partner inherit it unless a direct per-user assignment overrides it.\n"
                },
                "allowBypassing2faPolicies": {
                    "type": "boolean",
                    "description": "Allow Partner Admins to change Two-Factor Authentication requirements for Partner Users.\n"
                },
                "allowCredentialChanges": {
                    "type": "boolean",
                    "description": "Allow Partner Admins to change or reset credentials for users belonging to this Partner.\n"
                },
                "allowProvidingGpgKeys": {
                    "type": "boolean",
                    "description": "Allow Partner Admins to provide GPG keys.\n"
                },
                "allowUserCreation": {
                    "type": "boolean",
                    "description": "Allow Partner Admins to create users.\n"
                },
                "allowedIps": {
                    "type": "string",
                    "description": "A list of allowed IPs for this Partner. Newline delimited. Partner User IP access is allowed when the IP matches the Partner, User, or Site allowed IP lists.\n"
                },
                "ccEmailsToResponsibleParty": {
                    "type": "boolean",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, emails sent to Partner users are copied to the responsible User or Group.\n"
                },
                "name": {
                    "type": "string",
                    "description": "The name of the Partner.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Notes about this Partner.\n"
                },
                "partnerChannelTemplateId": {
                    "type": "integer",
                    "description": "ID of the Partner Channel Template assigned to this Partner.\n"
                },
                "responsibleGroupId": {
                    "type": "integer",
                    "description": "ID of the Group responsible for this Partner.\n"
                },
                "responsibleUserId": {
                    "type": "integer",
                    "description": "ID of the User responsible for this Partner.\n"
                },
                "rootFolder": {
                    "type": "string",
                    "description": "The root folder path for this Partner.\n"
                },
                "showPartnerChannelHomePage": {
                    "type": "boolean",
                    "description": "Show Partner users a simplified home page built from this Partner's Channels.\n"
                },
                "tags": {
                    "type": "string",
                    "description": "Comma-separated list of Tags for this Partner. Tags are used for other features, such as UserLifecycleRules, which can target specific tags.  Tags must only contain lowercase letters, numbers, and hyphens.\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "ID of the Workspace associated with this Partner.\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "rootFolder"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Partner resources.\n",
                "properties": {
                    "aiAssistantPersonalityId": {
                        "type": "integer",
                        "description": "AI Assistant Personality ID assigned to this Partner, if any. Users in the Partner inherit it unless a direct per-user assignment overrides it.\n"
                    },
                    "allowBypassing2faPolicies": {
                        "type": "boolean",
                        "description": "Allow Partner Admins to change Two-Factor Authentication requirements for Partner Users.\n"
                    },
                    "allowCredentialChanges": {
                        "type": "boolean",
                        "description": "Allow Partner Admins to change or reset credentials for users belonging to this Partner.\n"
                    },
                    "allowProvidingGpgKeys": {
                        "type": "boolean",
                        "description": "Allow Partner Admins to provide GPG keys.\n"
                    },
                    "allowUserCreation": {
                        "type": "boolean",
                        "description": "Allow Partner Admins to create users.\n"
                    },
                    "allowedIps": {
                        "type": "string",
                        "description": "A list of allowed IPs for this Partner. Newline delimited. Partner User IP access is allowed when the IP matches the Partner, User, or Site allowed IP lists.\n"
                    },
                    "ccEmailsToResponsibleParty": {
                        "type": "boolean",
                        "description": "When \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, emails sent to Partner users are copied to the responsible User or Group.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the Partner.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Notes about this Partner.\n"
                    },
                    "partnerAdminIds": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "Array of User IDs that are Partner Admins for this Partner.\n"
                    },
                    "partnerChannelTemplateId": {
                        "type": "integer",
                        "description": "ID of the Partner Channel Template assigned to this Partner.\n"
                    },
                    "partnershipRole": {
                        "type": "string",
                        "description": "This site's role in Partner Site relationships for this Partner. Can be \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\" pulumi-lang-hcl=\"`host`\"\u003e`host`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`guest`\" pulumi-lang-dotnet=\"`Guest`\" pulumi-lang-go=\"`guest`\" pulumi-lang-python=\"`guest`\" pulumi-lang-yaml=\"`guest`\" pulumi-lang-java=\"`guest`\" pulumi-lang-hcl=\"`guest`\"\u003e`guest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hostAndGuest`\" pulumi-lang-dotnet=\"`HostAndGuest`\" pulumi-lang-go=\"`hostAndGuest`\" pulumi-lang-python=\"`host_and_guest`\" pulumi-lang-yaml=\"`hostAndGuest`\" pulumi-lang-java=\"`hostAndGuest`\" pulumi-lang-hcl=\"`host_and_guest`\"\u003e`hostAndGuest`\u003c/span\u003e, or null.\n"
                    },
                    "responsibleGroupId": {
                        "type": "integer",
                        "description": "ID of the Group responsible for this Partner.\n"
                    },
                    "responsibleUserId": {
                        "type": "integer",
                        "description": "ID of the User responsible for this Partner.\n"
                    },
                    "rootFolder": {
                        "type": "string",
                        "description": "The root folder path for this Partner.\n"
                    },
                    "showPartnerChannelHomePage": {
                        "type": "boolean",
                        "description": "Show Partner users a simplified home page built from this Partner's Channels.\n"
                    },
                    "tags": {
                        "type": "string",
                        "description": "Comma-separated list of Tags for this Partner. Tags are used for other features, such as UserLifecycleRules, which can target specific tags.  Tags must only contain lowercase letters, numbers, and hyphens.\n"
                    },
                    "userIds": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "Array of User IDs that belong to this Partner.\n"
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "ID of the Workspace associated with this Partner.\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/partnerChannel:PartnerChannel": {
            "description": "A PartnerChannel defines a structured communication path within a Partner root folder, including directional folder names and partner-scoped routing configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst examplePartnerChannel = new filescom.PartnerChannel(\"example_partner_channel\", {\n    fromPartnerFolderName: \"incoming\",\n    fromPartnerManagedFolderPaths: [\"claims/received\"],\n    fromPartnerRoutePath: \"processing/from-partner\",\n    toPartnerFolderName: \"outgoing\",\n    toPartnerManagedFolderPaths: [\"reports/monthly\"],\n    toPartnerRoutePath: \"delivery/to-partner\",\n    partnerId: 1,\n    path: \"claims/medical\",\n    workspaceId: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_partner_channel = filescom.PartnerChannel(\"example_partner_channel\",\n    from_partner_folder_name=\"incoming\",\n    from_partner_managed_folder_paths=[\"claims/received\"],\n    from_partner_route_path=\"processing/from-partner\",\n    to_partner_folder_name=\"outgoing\",\n    to_partner_managed_folder_paths=[\"reports/monthly\"],\n    to_partner_route_path=\"delivery/to-partner\",\n    partner_id=1,\n    path=\"claims/medical\",\n    workspace_id=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var examplePartnerChannel = new Filescom.PartnerChannel(\"example_partner_channel\", new()\n    {\n        FromPartnerFolderName = \"incoming\",\n        FromPartnerManagedFolderPaths = new[]\n        {\n            \"claims/received\",\n        },\n        FromPartnerRoutePath = \"processing/from-partner\",\n        ToPartnerFolderName = \"outgoing\",\n        ToPartnerManagedFolderPaths = new[]\n        {\n            \"reports/monthly\",\n        },\n        ToPartnerRoutePath = \"delivery/to-partner\",\n        PartnerId = 1,\n        Path = \"claims/medical\",\n        WorkspaceId = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewPartnerChannel(ctx, \"example_partner_channel\", \u0026filescom.PartnerChannelArgs{\n\t\t\tFromPartnerFolderName: pulumi.String(\"incoming\"),\n\t\t\tFromPartnerManagedFolderPaths: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"claims/received\"),\n\t\t\t},\n\t\t\tFromPartnerRoutePath: pulumi.String(\"processing/from-partner\"),\n\t\t\tToPartnerFolderName:  pulumi.String(\"outgoing\"),\n\t\t\tToPartnerManagedFolderPaths: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"reports/monthly\"),\n\t\t\t},\n\t\t\tToPartnerRoutePath: pulumi.String(\"delivery/to-partner\"),\n\t\t\tPartnerId:          pulumi.Int(1),\n\t\t\tPath:               pulumi.String(\"claims/medical\"),\n\t\t\tWorkspaceId:        pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_partnerchannel\" \"example_partner_channel\" {\n  from_partner_folder_name          = \"incoming\"\n  from_partner_managed_folder_paths = [\"claims/received\"]\n  from_partner_route_path           = \"processing/from-partner\"\n  to_partner_folder_name            = \"outgoing\"\n  to_partner_managed_folder_paths   = [\"reports/monthly\"]\n  to_partner_route_path             = \"delivery/to-partner\"\n  partner_id                        = 1\n  path                              = \"claims/medical\"\n  workspace_id                      = 0\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.PartnerChannel;\nimport com.pulumi.filescom.PartnerChannelArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var examplePartnerChannel = new PartnerChannel(\"examplePartnerChannel\", PartnerChannelArgs.builder()\n            .fromPartnerFolderName(\"incoming\")\n            .fromPartnerManagedFolderPaths(\"claims/received\")\n            .fromPartnerRoutePath(\"processing/from-partner\")\n            .toPartnerFolderName(\"outgoing\")\n            .toPartnerManagedFolderPaths(\"reports/monthly\")\n            .toPartnerRoutePath(\"delivery/to-partner\")\n            .partnerId(1)\n            .path(\"claims/medical\")\n            .workspaceId(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  examplePartnerChannel:\n    type: filescom:PartnerChannel\n    name: example_partner_channel\n    properties:\n      fromPartnerFolderName: incoming\n      fromPartnerManagedFolderPaths:\n        - claims/received\n      fromPartnerRoutePath: processing/from-partner\n      toPartnerFolderName: outgoing\n      toPartnerManagedFolderPaths:\n        - reports/monthly\n      toPartnerRoutePath: delivery/to-partner\n      partnerId: 1\n      path: claims/medical\n      workspaceId: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nPartner Channels can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/partnerChannel:PartnerChannel example_partner_channel 1\n```\n\n",
            "properties": {
                "channelPath": {
                    "type": "string",
                    "description": "Resolved Channel folder path.\n"
                },
                "effectiveFromPartnerFolderName": {
                    "type": "string",
                    "description": "Resolved from-Partner folder name after Channel override and default.\n"
                },
                "effectiveToPartnerFolderName": {
                    "type": "string",
                    "description": "Resolved to-Partner folder name after Channel override and default.\n"
                },
                "fromPartnerFolderName": {
                    "type": "string",
                    "description": "Optional Channel-level from-Partner folder name override.\n"
                },
                "fromPartnerFolderPath": {
                    "type": "string",
                    "description": "Resolved from-Partner folder path.\n"
                },
                "fromPartnerManagedFolderPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Managed folder paths inside the from-Partner folder.\n"
                },
                "fromPartnerRoutePath": {
                    "type": "string",
                    "description": "Optional route path for files uploaded by the Partner.\n"
                },
                "partnerChannelTemplateId": {
                    "type": "integer",
                    "description": "ID of the Partner Channel Template that manages this Channel, if any.\n"
                },
                "partnerId": {
                    "type": "integer",
                    "description": "ID of the Partner this Channel belongs to.\n"
                },
                "path": {
                    "type": "string",
                    "description": "Channel path relative to the Partner root folder. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                },
                "toPartnerFolderName": {
                    "type": "string",
                    "description": "Optional Channel-level to-Partner folder name override.\n"
                },
                "toPartnerFolderPath": {
                    "type": "string",
                    "description": "Resolved to-Partner folder path.\n"
                },
                "toPartnerManagedFolderPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Managed folder paths inside the to-Partner folder.\n"
                },
                "toPartnerRoutePath": {
                    "type": "string",
                    "description": "Optional route path for files delivered to the Partner.\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "ID of the Workspace associated with this Partner Channel.\n"
                }
            },
            "required": [
                "channelPath",
                "effectiveFromPartnerFolderName",
                "effectiveToPartnerFolderName",
                "fromPartnerFolderName",
                "fromPartnerFolderPath",
                "fromPartnerManagedFolderPaths",
                "fromPartnerRoutePath",
                "partnerChannelTemplateId",
                "partnerId",
                "path",
                "toPartnerFolderName",
                "toPartnerFolderPath",
                "toPartnerManagedFolderPaths",
                "toPartnerRoutePath",
                "workspaceId"
            ],
            "inputProperties": {
                "fromPartnerFolderName": {
                    "type": "string",
                    "description": "Optional Channel-level from-Partner folder name override.\n"
                },
                "fromPartnerManagedFolderPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Managed folder paths inside the from-Partner folder.\n"
                },
                "fromPartnerRoutePath": {
                    "type": "string",
                    "description": "Optional route path for files uploaded by the Partner.\n"
                },
                "partnerId": {
                    "type": "integer",
                    "description": "ID of the Partner this Channel belongs to.\n",
                    "willReplaceOnChanges": true
                },
                "path": {
                    "type": "string",
                    "description": "Channel path relative to the Partner root folder. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                },
                "toPartnerFolderName": {
                    "type": "string",
                    "description": "Optional Channel-level to-Partner folder name override.\n"
                },
                "toPartnerManagedFolderPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Managed folder paths inside the to-Partner folder.\n"
                },
                "toPartnerRoutePath": {
                    "type": "string",
                    "description": "Optional route path for files delivered to the Partner.\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "ID of the Workspace associated with this Partner Channel.\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "partnerId",
                "path"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering PartnerChannel resources.\n",
                "properties": {
                    "channelPath": {
                        "type": "string",
                        "description": "Resolved Channel folder path.\n"
                    },
                    "effectiveFromPartnerFolderName": {
                        "type": "string",
                        "description": "Resolved from-Partner folder name after Channel override and default.\n"
                    },
                    "effectiveToPartnerFolderName": {
                        "type": "string",
                        "description": "Resolved to-Partner folder name after Channel override and default.\n"
                    },
                    "fromPartnerFolderName": {
                        "type": "string",
                        "description": "Optional Channel-level from-Partner folder name override.\n"
                    },
                    "fromPartnerFolderPath": {
                        "type": "string",
                        "description": "Resolved from-Partner folder path.\n"
                    },
                    "fromPartnerManagedFolderPaths": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Managed folder paths inside the from-Partner folder.\n"
                    },
                    "fromPartnerRoutePath": {
                        "type": "string",
                        "description": "Optional route path for files uploaded by the Partner.\n"
                    },
                    "partnerChannelTemplateId": {
                        "type": "integer",
                        "description": "ID of the Partner Channel Template that manages this Channel, if any.\n"
                    },
                    "partnerId": {
                        "type": "integer",
                        "description": "ID of the Partner this Channel belongs to.\n"
                    },
                    "path": {
                        "type": "string",
                        "description": "Channel path relative to the Partner root folder. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                    },
                    "toPartnerFolderName": {
                        "type": "string",
                        "description": "Optional Channel-level to-Partner folder name override.\n"
                    },
                    "toPartnerFolderPath": {
                        "type": "string",
                        "description": "Resolved to-Partner folder path.\n"
                    },
                    "toPartnerManagedFolderPaths": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Managed folder paths inside the to-Partner folder.\n"
                    },
                    "toPartnerRoutePath": {
                        "type": "string",
                        "description": "Optional route path for files delivered to the Partner.\n"
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "ID of the Workspace associated with this Partner Channel.\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/partnerChannelTemplate:PartnerChannelTemplate": {
            "description": "A PartnerChannelTemplate defines reusable Partner Channel configuration that can be applied to Partners.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst examplePartnerChannelTemplate = new filescom.PartnerChannelTemplate(\"example_partner_channel_template\", {\n    fromPartnerFolderName: \"incoming\",\n    fromPartnerManagedFolderPaths: [\"claims/received\"],\n    fromPartnerRoutePathPattern: \"processing/{{partner_name}}/from-partner\",\n    toPartnerFolderName: \"outgoing\",\n    toPartnerManagedFolderPaths: [\"reports/monthly\"],\n    toPartnerRoutePathPattern: \"delivery/{{partner_name}}/to-partner\",\n    name: \"Claims Template\",\n    path: \"claims/medical\",\n    workspaceId: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_partner_channel_template = filescom.PartnerChannelTemplate(\"example_partner_channel_template\",\n    from_partner_folder_name=\"incoming\",\n    from_partner_managed_folder_paths=[\"claims/received\"],\n    from_partner_route_path_pattern=\"processing/{{partner_name}}/from-partner\",\n    to_partner_folder_name=\"outgoing\",\n    to_partner_managed_folder_paths=[\"reports/monthly\"],\n    to_partner_route_path_pattern=\"delivery/{{partner_name}}/to-partner\",\n    name=\"Claims Template\",\n    path=\"claims/medical\",\n    workspace_id=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var examplePartnerChannelTemplate = new Filescom.PartnerChannelTemplate(\"example_partner_channel_template\", new()\n    {\n        FromPartnerFolderName = \"incoming\",\n        FromPartnerManagedFolderPaths = new[]\n        {\n            \"claims/received\",\n        },\n        FromPartnerRoutePathPattern = \"processing/{{partner_name}}/from-partner\",\n        ToPartnerFolderName = \"outgoing\",\n        ToPartnerManagedFolderPaths = new[]\n        {\n            \"reports/monthly\",\n        },\n        ToPartnerRoutePathPattern = \"delivery/{{partner_name}}/to-partner\",\n        Name = \"Claims Template\",\n        Path = \"claims/medical\",\n        WorkspaceId = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewPartnerChannelTemplate(ctx, \"example_partner_channel_template\", \u0026filescom.PartnerChannelTemplateArgs{\n\t\t\tFromPartnerFolderName: pulumi.String(\"incoming\"),\n\t\t\tFromPartnerManagedFolderPaths: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"claims/received\"),\n\t\t\t},\n\t\t\tFromPartnerRoutePathPattern: pulumi.String(\"processing/{{partner_name}}/from-partner\"),\n\t\t\tToPartnerFolderName:         pulumi.String(\"outgoing\"),\n\t\t\tToPartnerManagedFolderPaths: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"reports/monthly\"),\n\t\t\t},\n\t\t\tToPartnerRoutePathPattern: pulumi.String(\"delivery/{{partner_name}}/to-partner\"),\n\t\t\tName:                      pulumi.String(\"Claims Template\"),\n\t\t\tPath:                      pulumi.String(\"claims/medical\"),\n\t\t\tWorkspaceId:               pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_partnerchanneltemplate\" \"example_partner_channel_template\" {\n  from_partner_folder_name          = \"incoming\"\n  from_partner_managed_folder_paths = [\"claims/received\"]\n  from_partner_route_path_pattern   = \"processing/{{partner_name}}/from-partner\"\n  to_partner_folder_name            = \"outgoing\"\n  to_partner_managed_folder_paths   = [\"reports/monthly\"]\n  to_partner_route_path_pattern     = \"delivery/{{partner_name}}/to-partner\"\n  name                              = \"Claims Template\"\n  path                              = \"claims/medical\"\n  workspace_id                      = 0\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.PartnerChannelTemplate;\nimport com.pulumi.filescom.PartnerChannelTemplateArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var examplePartnerChannelTemplate = new PartnerChannelTemplate(\"examplePartnerChannelTemplate\", PartnerChannelTemplateArgs.builder()\n            .fromPartnerFolderName(\"incoming\")\n            .fromPartnerManagedFolderPaths(\"claims/received\")\n            .fromPartnerRoutePathPattern(\"processing/{{partner_name}}/from-partner\")\n            .toPartnerFolderName(\"outgoing\")\n            .toPartnerManagedFolderPaths(\"reports/monthly\")\n            .toPartnerRoutePathPattern(\"delivery/{{partner_name}}/to-partner\")\n            .name(\"Claims Template\")\n            .path(\"claims/medical\")\n            .workspaceId(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  examplePartnerChannelTemplate:\n    type: filescom:PartnerChannelTemplate\n    name: example_partner_channel_template\n    properties:\n      fromPartnerFolderName: incoming\n      fromPartnerManagedFolderPaths:\n        - claims/received\n      fromPartnerRoutePathPattern: processing/{{partner_name}}/from-partner\n      toPartnerFolderName: outgoing\n      toPartnerManagedFolderPaths:\n        - reports/monthly\n      toPartnerRoutePathPattern: delivery/{{partner_name}}/to-partner\n      name: Claims Template\n      path: claims/medical\n      workspaceId: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nPartner Channel Templates can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/partnerChannelTemplate:PartnerChannelTemplate example_partner_channel_template 1\n```\n\n",
            "properties": {
                "effectiveFromPartnerFolderName": {
                    "type": "string",
                    "description": "Resolved from-Partner folder name after Template override and default.\n"
                },
                "effectiveToPartnerFolderName": {
                    "type": "string",
                    "description": "Resolved to-Partner folder name after Template override and default.\n"
                },
                "fromPartnerFolderName": {
                    "type": "string",
                    "description": "Optional Channel-level from-Partner folder name override.\n"
                },
                "fromPartnerManagedFolderPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Managed folder paths inside the from-Partner folder.\n"
                },
                "fromPartnerRoutePathPattern": {
                    "type": "string",
                    "description": "Optional route path pattern for files uploaded by the Partner. Supports {{partner_name}}.\n"
                },
                "name": {
                    "type": "string",
                    "description": "The name of the Partner Channel Template.\n"
                },
                "path": {
                    "type": "string",
                    "description": "Channel path relative to the Partner root folder. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                },
                "toPartnerFolderName": {
                    "type": "string",
                    "description": "Optional Channel-level to-Partner folder name override.\n"
                },
                "toPartnerManagedFolderPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Managed folder paths inside the to-Partner folder.\n"
                },
                "toPartnerRoutePathPattern": {
                    "type": "string",
                    "description": "Optional route path pattern for files delivered to the Partner. Supports {{partner_name}}.\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "ID of the Workspace associated with this Partner Channel Template.\n"
                }
            },
            "required": [
                "effectiveFromPartnerFolderName",
                "effectiveToPartnerFolderName",
                "fromPartnerFolderName",
                "fromPartnerManagedFolderPaths",
                "fromPartnerRoutePathPattern",
                "name",
                "path",
                "toPartnerFolderName",
                "toPartnerManagedFolderPaths",
                "toPartnerRoutePathPattern",
                "workspaceId"
            ],
            "inputProperties": {
                "fromPartnerFolderName": {
                    "type": "string",
                    "description": "Optional Channel-level from-Partner folder name override.\n"
                },
                "fromPartnerManagedFolderPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Managed folder paths inside the from-Partner folder.\n"
                },
                "fromPartnerRoutePathPattern": {
                    "type": "string",
                    "description": "Optional route path pattern for files uploaded by the Partner. Supports {{partner_name}}.\n"
                },
                "name": {
                    "type": "string",
                    "description": "The name of the Partner Channel Template.\n"
                },
                "path": {
                    "type": "string",
                    "description": "Channel path relative to the Partner root folder. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                },
                "toPartnerFolderName": {
                    "type": "string",
                    "description": "Optional Channel-level to-Partner folder name override.\n"
                },
                "toPartnerManagedFolderPaths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Managed folder paths inside the to-Partner folder.\n"
                },
                "toPartnerRoutePathPattern": {
                    "type": "string",
                    "description": "Optional route path pattern for files delivered to the Partner. Supports {{partner_name}}.\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "ID of the Workspace associated with this Partner Channel Template.\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "path"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering PartnerChannelTemplate resources.\n",
                "properties": {
                    "effectiveFromPartnerFolderName": {
                        "type": "string",
                        "description": "Resolved from-Partner folder name after Template override and default.\n"
                    },
                    "effectiveToPartnerFolderName": {
                        "type": "string",
                        "description": "Resolved to-Partner folder name after Template override and default.\n"
                    },
                    "fromPartnerFolderName": {
                        "type": "string",
                        "description": "Optional Channel-level from-Partner folder name override.\n"
                    },
                    "fromPartnerManagedFolderPaths": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Managed folder paths inside the from-Partner folder.\n"
                    },
                    "fromPartnerRoutePathPattern": {
                        "type": "string",
                        "description": "Optional route path pattern for files uploaded by the Partner. Supports {{partner_name}}.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the Partner Channel Template.\n"
                    },
                    "path": {
                        "type": "string",
                        "description": "Channel path relative to the Partner root folder. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                    },
                    "toPartnerFolderName": {
                        "type": "string",
                        "description": "Optional Channel-level to-Partner folder name override.\n"
                    },
                    "toPartnerManagedFolderPaths": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Managed folder paths inside the to-Partner folder.\n"
                    },
                    "toPartnerRoutePathPattern": {
                        "type": "string",
                        "description": "Optional route path pattern for files delivered to the Partner. Supports {{partner_name}}.\n"
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "ID of the Workspace associated with this Partner Channel Template.\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/partnerSiteRequest:PartnerSiteRequest": {
            "description": "A PartnerSiteRequest represents a request for a Guest Partner to add their Files.com Site to their Partnership with the Host Partner. The Guest Partner's Files.com Site is referred to as the Guest Site in this relationship.\n\n\n\nThe Partner Admin user representing the Guest on the Host Partner can initiate a request, which generates a pairing key. The Guest Site admin must then approve the request. This ensures that the Partner Admin user representing the Guest on the Host Partner and the Site Admins of the Site are in agreement that the linking should occur.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst examplePartnerSiteRequest = new filescom.PartnerSiteRequest(\"example_partner_site_request\", {\n    hostPartnerId: 1,\n    guestSiteUrl: \"guest_site_url\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_partner_site_request = filescom.PartnerSiteRequest(\"example_partner_site_request\",\n    host_partner_id=1,\n    guest_site_url=\"guest_site_url\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var examplePartnerSiteRequest = new Filescom.PartnerSiteRequest(\"example_partner_site_request\", new()\n    {\n        HostPartnerId = 1,\n        GuestSiteUrl = \"guest_site_url\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewPartnerSiteRequest(ctx, \"example_partner_site_request\", \u0026filescom.PartnerSiteRequestArgs{\n\t\t\tHostPartnerId: pulumi.Int(1),\n\t\t\tGuestSiteUrl:  pulumi.String(\"guest_site_url\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_partnersiterequest\" \"example_partner_site_request\" {\n  host_partner_id = 1\n  guest_site_url  = \"guest_site_url\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.PartnerSiteRequest;\nimport com.pulumi.filescom.PartnerSiteRequestArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var examplePartnerSiteRequest = new PartnerSiteRequest(\"examplePartnerSiteRequest\", PartnerSiteRequestArgs.builder()\n            .hostPartnerId(1)\n            .guestSiteUrl(\"guest_site_url\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  examplePartnerSiteRequest:\n    type: filescom:PartnerSiteRequest\n    name: example_partner_site_request\n    properties:\n      hostPartnerId: 1\n      guestSiteUrl: guest_site_url\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nPartner Site Requests can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/partnerSiteRequest:PartnerSiteRequest example_partner_site_request 1\n```\n\n",
            "properties": {
                "createdAt": {
                    "type": "string",
                    "description": "Request creation date/time\n"
                },
                "guestSiteUrl": {
                    "type": "string",
                    "description": "Guest Site URL\n"
                },
                "hostPartnerId": {
                    "type": "integer",
                    "description": "Host Partner ID\n"
                },
                "hostSiteName": {
                    "type": "string",
                    "description": "Host Site Name\n"
                },
                "pairingKey": {
                    "type": "string",
                    "description": "Pairing key used to approve this request on the Guest Site\n"
                },
                "status": {
                    "type": "string",
                    "description": "Request status (pending, approved, rejected)\n"
                },
                "updatedAt": {
                    "type": "string",
                    "description": "Request last updated date/time\n"
                }
            },
            "required": [
                "createdAt",
                "guestSiteUrl",
                "hostPartnerId",
                "hostSiteName",
                "pairingKey",
                "status",
                "updatedAt"
            ],
            "inputProperties": {
                "guestSiteUrl": {
                    "type": "string",
                    "description": "Guest Site URL\n",
                    "willReplaceOnChanges": true
                },
                "hostPartnerId": {
                    "type": "integer",
                    "description": "Host Partner ID\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "guestSiteUrl",
                "hostPartnerId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering PartnerSiteRequest resources.\n",
                "properties": {
                    "createdAt": {
                        "type": "string",
                        "description": "Request creation date/time\n"
                    },
                    "guestSiteUrl": {
                        "type": "string",
                        "description": "Guest Site URL\n"
                    },
                    "hostPartnerId": {
                        "type": "integer",
                        "description": "Host Partner ID\n"
                    },
                    "hostSiteName": {
                        "type": "string",
                        "description": "Host Site Name\n"
                    },
                    "pairingKey": {
                        "type": "string",
                        "description": "Pairing key used to approve this request on the Guest Site\n"
                    },
                    "status": {
                        "type": "string",
                        "description": "Request status (pending, approved, rejected)\n"
                    },
                    "updatedAt": {
                        "type": "string",
                        "description": "Request last updated date/time\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/permission:Permission": {
            "description": "A Permission object represents a grant of access permission on a specific Path to a User or Group.\n\n\n\nThey can be optionally recursive or nonrecursive into the subfolders of that path.\n\n\n\nA Permission may be applied to a User *or* a Group, but not both at once.\n\n\n\nThe following table sets forth the available Permission types:\n\n\n\n| Permission | Access Level Granted | Automatically Also Includes/Implies Permissions |\n\n| --- | ----------- | --------------------- |\n\n| \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\" pulumi-lang-hcl=\"`admin`\"\u003e`admin`\u003c/span\u003e | Able to manage Folder Behaviors, Permissions, and Notifications for the folder. Also grants all other permissions. | \u003cspan pulumi-lang-nodejs=\"`bundle`\" pulumi-lang-dotnet=\"`Bundle`\" pulumi-lang-go=\"`bundle`\" pulumi-lang-python=\"`bundle`\" pulumi-lang-yaml=\"`bundle`\" pulumi-lang-java=\"`bundle`\" pulumi-lang-hcl=\"`bundle`\"\u003e`bundle`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`full`\" pulumi-lang-dotnet=\"`Full`\" pulumi-lang-go=\"`full`\" pulumi-lang-python=\"`full`\" pulumi-lang-yaml=\"`full`\" pulumi-lang-java=\"`full`\" pulumi-lang-hcl=\"`full`\"\u003e`full`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`writeonly`\" pulumi-lang-dotnet=\"`Writeonly`\" pulumi-lang-go=\"`writeonly`\" pulumi-lang-python=\"`writeonly`\" pulumi-lang-yaml=\"`writeonly`\" pulumi-lang-java=\"`writeonly`\" pulumi-lang-hcl=\"`writeonly`\"\u003e`writeonly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readonly`\" pulumi-lang-dotnet=\"`Readonly`\" pulumi-lang-go=\"`readonly`\" pulumi-lang-python=\"`readonly`\" pulumi-lang-yaml=\"`readonly`\" pulumi-lang-java=\"`readonly`\" pulumi-lang-hcl=\"`readonly`\"\u003e`readonly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`list`\" pulumi-lang-dotnet=\"`List`\" pulumi-lang-go=\"`list`\" pulumi-lang-python=\"`list`\" pulumi-lang-yaml=\"`list`\" pulumi-lang-java=\"`list`\" pulumi-lang-hcl=\"`list`\"\u003e`list`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`history`\" pulumi-lang-dotnet=\"`History`\" pulumi-lang-go=\"`history`\" pulumi-lang-python=\"`history`\" pulumi-lang-yaml=\"`history`\" pulumi-lang-java=\"`history`\" pulumi-lang-hcl=\"`history`\"\u003e`history`\u003c/span\u003e |\n\n| \u003cspan pulumi-lang-nodejs=\"`bundle`\" pulumi-lang-dotnet=\"`Bundle`\" pulumi-lang-go=\"`bundle`\" pulumi-lang-python=\"`bundle`\" pulumi-lang-yaml=\"`bundle`\" pulumi-lang-java=\"`bundle`\" pulumi-lang-hcl=\"`bundle`\"\u003e`bundle`\u003c/span\u003e | Able to share files and folders via a Bundle (share link). | \u003cspan pulumi-lang-nodejs=\"`readonly`\" pulumi-lang-dotnet=\"`Readonly`\" pulumi-lang-go=\"`readonly`\" pulumi-lang-python=\"`readonly`\" pulumi-lang-yaml=\"`readonly`\" pulumi-lang-java=\"`readonly`\" pulumi-lang-hcl=\"`readonly`\"\u003e`readonly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`list`\" pulumi-lang-dotnet=\"`List`\" pulumi-lang-go=\"`list`\" pulumi-lang-python=\"`list`\" pulumi-lang-yaml=\"`list`\" pulumi-lang-java=\"`list`\" pulumi-lang-hcl=\"`list`\"\u003e`list`\u003c/span\u003e |\n\n| \u003cspan pulumi-lang-nodejs=\"`full`\" pulumi-lang-dotnet=\"`Full`\" pulumi-lang-go=\"`full`\" pulumi-lang-python=\"`full`\" pulumi-lang-yaml=\"`full`\" pulumi-lang-java=\"`full`\" pulumi-lang-hcl=\"`full`\"\u003e`full`\u003c/span\u003e | Able to read, write, move, delete, and rename files and folders. Also grants the ability to overwrite files upon upload. | \u003cspan pulumi-lang-nodejs=\"`writeonly`\" pulumi-lang-dotnet=\"`Writeonly`\" pulumi-lang-go=\"`writeonly`\" pulumi-lang-python=\"`writeonly`\" pulumi-lang-yaml=\"`writeonly`\" pulumi-lang-java=\"`writeonly`\" pulumi-lang-hcl=\"`writeonly`\"\u003e`writeonly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readonly`\" pulumi-lang-dotnet=\"`Readonly`\" pulumi-lang-go=\"`readonly`\" pulumi-lang-python=\"`readonly`\" pulumi-lang-yaml=\"`readonly`\" pulumi-lang-java=\"`readonly`\" pulumi-lang-hcl=\"`readonly`\"\u003e`readonly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`list`\" pulumi-lang-dotnet=\"`List`\" pulumi-lang-go=\"`list`\" pulumi-lang-python=\"`list`\" pulumi-lang-yaml=\"`list`\" pulumi-lang-java=\"`list`\" pulumi-lang-hcl=\"`list`\"\u003e`list`\u003c/span\u003e |\n\n| \u003cspan pulumi-lang-nodejs=\"`history`\" pulumi-lang-dotnet=\"`History`\" pulumi-lang-go=\"`history`\" pulumi-lang-python=\"`history`\" pulumi-lang-yaml=\"`history`\" pulumi-lang-java=\"`history`\" pulumi-lang-hcl=\"`history`\"\u003e`history`\u003c/span\u003e | Able to view the history of files and folders and to create email notifications for themselves. | \u003cspan pulumi-lang-nodejs=\"`list`\" pulumi-lang-dotnet=\"`List`\" pulumi-lang-go=\"`list`\" pulumi-lang-python=\"`list`\" pulumi-lang-yaml=\"`list`\" pulumi-lang-java=\"`list`\" pulumi-lang-hcl=\"`list`\"\u003e`list`\u003c/span\u003e |\n\n| \u003cspan pulumi-lang-nodejs=\"`list`\" pulumi-lang-dotnet=\"`List`\" pulumi-lang-go=\"`list`\" pulumi-lang-python=\"`list`\" pulumi-lang-yaml=\"`list`\" pulumi-lang-java=\"`list`\" pulumi-lang-hcl=\"`list`\"\u003e`list`\u003c/span\u003e | Able to list files and folders, but not download. | none |\n\n| \u003cspan pulumi-lang-nodejs=\"`readonly`\" pulumi-lang-dotnet=\"`Readonly`\" pulumi-lang-go=\"`readonly`\" pulumi-lang-python=\"`readonly`\" pulumi-lang-yaml=\"`readonly`\" pulumi-lang-java=\"`readonly`\" pulumi-lang-hcl=\"`readonly`\"\u003e`readonly`\u003c/span\u003e | Able to list, preview, and download files and folders. | \u003cspan pulumi-lang-nodejs=\"`list`\" pulumi-lang-dotnet=\"`List`\" pulumi-lang-go=\"`list`\" pulumi-lang-python=\"`list`\" pulumi-lang-yaml=\"`list`\" pulumi-lang-java=\"`list`\" pulumi-lang-hcl=\"`list`\"\u003e`list`\u003c/span\u003e |\n\n| \u003cspan pulumi-lang-nodejs=\"`readonlySiteAdmin`\" pulumi-lang-dotnet=\"`ReadonlySiteAdmin`\" pulumi-lang-go=\"`readonlySiteAdmin`\" pulumi-lang-python=\"`readonly_site_admin`\" pulumi-lang-yaml=\"`readonlySiteAdmin`\" pulumi-lang-java=\"`readonlySiteAdmin`\" pulumi-lang-hcl=\"`readonly_site_admin`\"\u003e`readonlySiteAdmin`\u003c/span\u003e | Able to behave as a read-only Site Admin on a given child site. Only applies to child sites. | \u003cspan pulumi-lang-nodejs=\"`readonly`\" pulumi-lang-dotnet=\"`Readonly`\" pulumi-lang-go=\"`readonly`\" pulumi-lang-python=\"`readonly`\" pulumi-lang-yaml=\"`readonly`\" pulumi-lang-java=\"`readonly`\" pulumi-lang-hcl=\"`readonly`\"\u003e`readonly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`list`\" pulumi-lang-dotnet=\"`List`\" pulumi-lang-go=\"`list`\" pulumi-lang-python=\"`list`\" pulumi-lang-yaml=\"`list`\" pulumi-lang-java=\"`list`\" pulumi-lang-hcl=\"`list`\"\u003e`list`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`history`\" pulumi-lang-dotnet=\"`History`\" pulumi-lang-go=\"`history`\" pulumi-lang-python=\"`history`\" pulumi-lang-yaml=\"`history`\" pulumi-lang-java=\"`history`\" pulumi-lang-hcl=\"`history`\"\u003e`history`\u003c/span\u003e |\n\n| \u003cspan pulumi-lang-nodejs=\"`siteAdmin`\" pulumi-lang-dotnet=\"`SiteAdmin`\" pulumi-lang-go=\"`siteAdmin`\" pulumi-lang-python=\"`site_admin`\" pulumi-lang-yaml=\"`siteAdmin`\" pulumi-lang-java=\"`siteAdmin`\" pulumi-lang-hcl=\"`site_admin`\"\u003e`siteAdmin`\u003c/span\u003e | Able to behave as a Site Admin on a given child site. Only applies to child sites. | \u003cspan pulumi-lang-nodejs=\"`bundle`\" pulumi-lang-dotnet=\"`Bundle`\" pulumi-lang-go=\"`bundle`\" pulumi-lang-python=\"`bundle`\" pulumi-lang-yaml=\"`bundle`\" pulumi-lang-java=\"`bundle`\" pulumi-lang-hcl=\"`bundle`\"\u003e`bundle`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`full`\" pulumi-lang-dotnet=\"`Full`\" pulumi-lang-go=\"`full`\" pulumi-lang-python=\"`full`\" pulumi-lang-yaml=\"`full`\" pulumi-lang-java=\"`full`\" pulumi-lang-hcl=\"`full`\"\u003e`full`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`writeonly`\" pulumi-lang-dotnet=\"`Writeonly`\" pulumi-lang-go=\"`writeonly`\" pulumi-lang-python=\"`writeonly`\" pulumi-lang-yaml=\"`writeonly`\" pulumi-lang-java=\"`writeonly`\" pulumi-lang-hcl=\"`writeonly`\"\u003e`writeonly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readonly`\" pulumi-lang-dotnet=\"`Readonly`\" pulumi-lang-go=\"`readonly`\" pulumi-lang-python=\"`readonly`\" pulumi-lang-yaml=\"`readonly`\" pulumi-lang-java=\"`readonly`\" pulumi-lang-hcl=\"`readonly`\"\u003e`readonly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`list`\" pulumi-lang-dotnet=\"`List`\" pulumi-lang-go=\"`list`\" pulumi-lang-python=\"`list`\" pulumi-lang-yaml=\"`list`\" pulumi-lang-java=\"`list`\" pulumi-lang-hcl=\"`list`\"\u003e`list`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`history`\" pulumi-lang-dotnet=\"`History`\" pulumi-lang-go=\"`history`\" pulumi-lang-python=\"`history`\" pulumi-lang-yaml=\"`history`\" pulumi-lang-java=\"`history`\" pulumi-lang-hcl=\"`history`\"\u003e`history`\u003c/span\u003e |\n\n| \u003cspan pulumi-lang-nodejs=\"`writeonly`\" pulumi-lang-dotnet=\"`Writeonly`\" pulumi-lang-go=\"`writeonly`\" pulumi-lang-python=\"`writeonly`\" pulumi-lang-yaml=\"`writeonly`\" pulumi-lang-java=\"`writeonly`\" pulumi-lang-hcl=\"`writeonly`\"\u003e`writeonly`\u003c/span\u003e | Able to upload files, create folders and list subfolders the user has write permission to. | none |\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst examplePermission = new filescom.Permission(\"example_permission\", {\n    path: \"path\",\n    groupId: 1,\n    groupIds: [1],\n    permission: \"full\",\n    recursive: false,\n    partnerId: 1,\n    userId: 1,\n    username: \"user\",\n    groupName: \"example\",\n    siteId: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_permission = filescom.Permission(\"example_permission\",\n    path=\"path\",\n    group_id=1,\n    group_ids=[1],\n    permission=\"full\",\n    recursive=False,\n    partner_id=1,\n    user_id=1,\n    username=\"user\",\n    group_name=\"example\",\n    site_id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var examplePermission = new Filescom.Permission(\"example_permission\", new()\n    {\n        Path = \"path\",\n        GroupId = 1,\n        GroupIds = new[]\n        {\n            1,\n        },\n        PermissionType = \"full\",\n        Recursive = false,\n        PartnerId = 1,\n        UserId = 1,\n        Username = \"user\",\n        GroupName = \"example\",\n        SiteId = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewPermission(ctx, \"example_permission\", \u0026filescom.PermissionArgs{\n\t\t\tPath:    pulumi.String(\"path\"),\n\t\t\tGroupId: pulumi.Int(1),\n\t\t\tGroupIds: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t},\n\t\t\tPermission: pulumi.String(\"full\"),\n\t\t\tRecursive:  pulumi.Bool(false),\n\t\t\tPartnerId:  pulumi.Int(1),\n\t\t\tUserId:     pulumi.Int(1),\n\t\t\tUsername:   pulumi.String(\"user\"),\n\t\t\tGroupName:  pulumi.String(\"example\"),\n\t\t\tSiteId:     pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_permission\" \"example_permission\" {\n  path       = \"path\"\n  group_id   = 1\n  group_ids  = [1]\n  permission = \"full\"\n  recursive  = false\n  partner_id = 1\n  user_id    = 1\n  username   = \"user\"\n  group_name = \"example\"\n  site_id    = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.Permission;\nimport com.pulumi.filescom.PermissionArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var examplePermission = new Permission(\"examplePermission\", PermissionArgs.builder()\n            .path(\"path\")\n            .groupId(1)\n            .groupIds(1)\n            .permission(\"full\")\n            .recursive(false)\n            .partnerId(1)\n            .userId(1)\n            .username(\"user\")\n            .groupName(\"example\")\n            .siteId(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  examplePermission:\n    type: filescom:Permission\n    name: example_permission\n    properties:\n      path: path\n      groupId: 1\n      groupIds:\n        - 1\n      permission: full\n      recursive: false\n      partnerId: 1\n      userId: 1\n      username: user\n      groupName: example\n      siteId: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nPermissions can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/permission:Permission example_permission 1\n```\n\n",
            "properties": {
                "groupId": {
                    "type": "integer",
                    "description": "Group ID\n"
                },
                "groupIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Group IDs when this permission requires multiple groups\n"
                },
                "groupName": {
                    "type": "string",
                    "description": "Group name (if applicable)\n"
                },
                "groupNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Group names when this permission requires multiple groups\n"
                },
                "partnerId": {
                    "type": "integer",
                    "description": "Partner ID (if applicable)\n"
                },
                "partnerName": {
                    "type": "string",
                    "description": "Partner name (if applicable)\n"
                },
                "path": {
                    "type": "string",
                    "description": "Path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                },
                "permission": {
                    "type": "string",
                    "description": "Permission type.  See the table referenced in the documentation for an explanation of each permission.\n",
                    "language": {
                        "csharp": {
                            "name": "PermissionType"
                        }
                    }
                },
                "recursive": {
                    "type": "boolean",
                    "description": "Recursive: does this permission apply to subfolders?\n"
                },
                "siteId": {
                    "type": "integer",
                    "description": "Site ID\n"
                },
                "userId": {
                    "type": "integer",
                    "description": "User ID\n"
                },
                "username": {
                    "type": "string",
                    "description": "Username (if applicable)\n"
                }
            },
            "required": [
                "groupId",
                "groupIds",
                "groupName",
                "groupNames",
                "partnerId",
                "partnerName",
                "path",
                "permission",
                "recursive",
                "siteId",
                "userId",
                "username"
            ],
            "inputProperties": {
                "groupId": {
                    "type": "integer",
                    "description": "Group ID\n",
                    "willReplaceOnChanges": true
                },
                "groupIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Group IDs when this permission requires multiple groups\n",
                    "willReplaceOnChanges": true
                },
                "groupName": {
                    "type": "string",
                    "description": "Group name (if applicable)\n",
                    "willReplaceOnChanges": true
                },
                "partnerId": {
                    "type": "integer",
                    "description": "Partner ID (if applicable)\n",
                    "willReplaceOnChanges": true
                },
                "path": {
                    "type": "string",
                    "description": "Path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n",
                    "willReplaceOnChanges": true
                },
                "permission": {
                    "type": "string",
                    "description": "Permission type.  See the table referenced in the documentation for an explanation of each permission.\n",
                    "language": {
                        "csharp": {
                            "name": "PermissionType"
                        }
                    },
                    "willReplaceOnChanges": true
                },
                "recursive": {
                    "type": "boolean",
                    "description": "Recursive: does this permission apply to subfolders?\n",
                    "willReplaceOnChanges": true
                },
                "siteId": {
                    "type": "integer",
                    "description": "Site ID\n",
                    "willReplaceOnChanges": true
                },
                "userId": {
                    "type": "integer",
                    "description": "User ID\n",
                    "willReplaceOnChanges": true
                },
                "username": {
                    "type": "string",
                    "description": "Username (if applicable)\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "path"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Permission resources.\n",
                "properties": {
                    "groupId": {
                        "type": "integer",
                        "description": "Group ID\n"
                    },
                    "groupIds": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "Group IDs when this permission requires multiple groups\n"
                    },
                    "groupName": {
                        "type": "string",
                        "description": "Group name (if applicable)\n"
                    },
                    "groupNames": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Group names when this permission requires multiple groups\n"
                    },
                    "partnerId": {
                        "type": "integer",
                        "description": "Partner ID (if applicable)\n"
                    },
                    "partnerName": {
                        "type": "string",
                        "description": "Partner name (if applicable)\n"
                    },
                    "path": {
                        "type": "string",
                        "description": "Path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                    },
                    "permission": {
                        "type": "string",
                        "description": "Permission type.  See the table referenced in the documentation for an explanation of each permission.\n",
                        "language": {
                            "csharp": {
                                "name": "PermissionType"
                            }
                        }
                    },
                    "recursive": {
                        "type": "boolean",
                        "description": "Recursive: does this permission apply to subfolders?\n"
                    },
                    "siteId": {
                        "type": "integer",
                        "description": "Site ID\n"
                    },
                    "userId": {
                        "type": "integer",
                        "description": "User ID\n"
                    },
                    "username": {
                        "type": "string",
                        "description": "Username (if applicable)\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/project:Project": {
            "description": "A Project is associated with a folder and add project management features to that folder.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleProject = new filescom.Project(\"example_project\", {globalAccess: \"global_access\"});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_project = filescom.Project(\"example_project\", global_access=\"global_access\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleProject = new Filescom.Project(\"example_project\", new()\n    {\n        GlobalAccess = \"global_access\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewProject(ctx, \"example_project\", \u0026filescom.ProjectArgs{\n\t\t\tGlobalAccess: pulumi.String(\"global_access\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_project\" \"example_project\" {\n  global_access = \"global_access\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.Project;\nimport com.pulumi.filescom.ProjectArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleProject = new Project(\"exampleProject\", ProjectArgs.builder()\n            .globalAccess(\"global_access\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleProject:\n    type: filescom:Project\n    name: example_project\n    properties:\n      globalAccess: global_access\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nProjects can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/project:Project example_project 1\n```\n\n",
            "properties": {
                "globalAccess": {
                    "type": "string",
                    "description": "Global access settings\n"
                }
            },
            "required": [
                "globalAccess"
            ],
            "inputProperties": {
                "globalAccess": {
                    "type": "string",
                    "description": "Global access settings\n"
                }
            },
            "requiredInputs": [
                "globalAccess"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Project resources.\n",
                "properties": {
                    "globalAccess": {
                        "type": "string",
                        "description": "Global access settings\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/publicKey:PublicKey": {
            "description": "A PublicKey is used to authenticate to Files.com via SFTP (SSH File Transfer Protocol). This method of authentication allows users to use their private key (which is never shared with Files.com) to authenticate themselves against the PublicKey stored on Files.com.\n\n\n\nWhen a user configures their PublicKey, it allows them to bypass traditional password-based authentication, leveraging the security of key-based authentication instead.\n\n\n\nNote that Files.com's SSH support is limited to file operations only. While users can securely transfer files and manage their data via SFTP, they do not have access to a full shell environment for executing arbitrary commands.\n\n\n\nWhen generating new SSH keys, here are the available options: Files.com supports multiple SSH key algorithms: RSA (default 4096 bits, range 1024-4096 in 8-bit increments), DSA (1024 bits only), Ed25519 (256 bits), and ECDSA (256, 384, or 521 bits). When generating keys, the system uses these default lengths unless a specific length is specified.\n\n\n\nFiles.com also supports importing additional key types that cannot be generated: security key types (sk-ecdsa-sha2-nistp256, sk-ssh-ed25519). RSA keys up to 8192 bits are also supported for import.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst examplePublicKey = new filescom.PublicKey(\"example_public_key\", {\n    userId: 1,\n    title: \"My Main Key\",\n    generateKeypair: false,\n    generatePrivateKeyPassword: \"[your private key password]\",\n    generateAlgorithm: \"rsa\",\n    generateLength: 4096,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_public_key = filescom.PublicKey(\"example_public_key\",\n    user_id=1,\n    title=\"My Main Key\",\n    generate_keypair=False,\n    generate_private_key_password=\"[your private key password]\",\n    generate_algorithm=\"rsa\",\n    generate_length=4096)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var examplePublicKey = new Filescom.PublicKey(\"example_public_key\", new()\n    {\n        UserId = 1,\n        Title = \"My Main Key\",\n        GenerateKeypair = false,\n        GeneratePrivateKeyPassword = \"[your private key password]\",\n        GenerateAlgorithm = \"rsa\",\n        GenerateLength = 4096,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewPublicKey(ctx, \"example_public_key\", \u0026filescom.PublicKeyArgs{\n\t\t\tUserId:                     pulumi.Int(1),\n\t\t\tTitle:                      pulumi.String(\"My Main Key\"),\n\t\t\tGenerateKeypair:            pulumi.Bool(false),\n\t\t\tGeneratePrivateKeyPassword: pulumi.String(\"[your private key password]\"),\n\t\t\tGenerateAlgorithm:          pulumi.String(\"rsa\"),\n\t\t\tGenerateLength:             pulumi.Int(4096),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_publickey\" \"example_public_key\" {\n  user_id                       = 1\n  title                         = \"My Main Key\"\n  generate_keypair              = false\n  generate_private_key_password = \"[your private key password]\"\n  generate_algorithm            = \"rsa\"\n  generate_length               = 4096\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.PublicKey;\nimport com.pulumi.filescom.PublicKeyArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var examplePublicKey = new PublicKey(\"examplePublicKey\", PublicKeyArgs.builder()\n            .userId(1)\n            .title(\"My Main Key\")\n            .generateKeypair(false)\n            .generatePrivateKeyPassword(\"[your private key password]\")\n            .generateAlgorithm(\"rsa\")\n            .generateLength(4096)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  examplePublicKey:\n    type: filescom:PublicKey\n    name: example_public_key\n    properties:\n      userId: 1\n      title: My Main Key\n      generateKeypair: false\n      generatePrivateKeyPassword: '[your private key password]'\n      generateAlgorithm: rsa\n      generateLength: 4096\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nPublic Keys can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/publicKey:PublicKey example_public_key 1\n```\n\n",
            "properties": {
                "createdAt": {
                    "type": "string",
                    "description": "Public key created at date/time"
                },
                "expired": {
                    "type": "boolean",
                    "description": "Is this public key expired?"
                },
                "expiresAt": {
                    "type": "string",
                    "description": "Public key expiration date/time"
                },
                "fingerprint": {
                    "type": "string",
                    "description": "Public key fingerprint (MD5)"
                },
                "fingerprintSha256": {
                    "type": "string",
                    "description": "Public key fingerprint (SHA256)"
                },
                "generateAlgorithm": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nType of key to generate.  One of rsa, dsa, ecdsa, ed25519. Used for the generation of the key. Will be ignored if \u003cspan pulumi-lang-nodejs=\"`generateKeypair`\" pulumi-lang-dotnet=\"`GenerateKeypair`\" pulumi-lang-go=\"`generateKeypair`\" pulumi-lang-python=\"`generate_keypair`\" pulumi-lang-yaml=\"`generateKeypair`\" pulumi-lang-java=\"`generateKeypair`\" pulumi-lang-hcl=\"`generate_keypair`\"\u003e`generateKeypair`\u003c/span\u003e is false.",
                    "secret": true
                },
                "generateKeypair": {
                    "type": "boolean",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nIf true, generate a new SSH key pair. Can not be used with \u003cspan pulumi-lang-nodejs=\"`publicKey`\" pulumi-lang-dotnet=\"`PublicKey`\" pulumi-lang-go=\"`publicKey`\" pulumi-lang-python=\"`public_key`\" pulumi-lang-yaml=\"`publicKey`\" pulumi-lang-java=\"`publicKey`\" pulumi-lang-hcl=\"`public_key`\"\u003e`publicKey`\u003c/span\u003e",
                    "secret": true
                },
                "generateLength": {
                    "type": "integer",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nLength of key to generate. If algorithm is ecdsa, this is the signature size. Used for the generation of the key. Will be ignored if \u003cspan pulumi-lang-nodejs=\"`generateKeypair`\" pulumi-lang-dotnet=\"`GenerateKeypair`\" pulumi-lang-go=\"`generateKeypair`\" pulumi-lang-python=\"`generate_keypair`\" pulumi-lang-yaml=\"`generateKeypair`\" pulumi-lang-java=\"`generateKeypair`\" pulumi-lang-hcl=\"`generate_keypair`\"\u003e`generateKeypair`\u003c/span\u003e is false.",
                    "secret": true
                },
                "generatePrivateKeyPassword": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPassword for the private key. Used for the generation of the key. Will be ignored if \u003cspan pulumi-lang-nodejs=\"`generateKeypair`\" pulumi-lang-dotnet=\"`GenerateKeypair`\" pulumi-lang-go=\"`generateKeypair`\" pulumi-lang-python=\"`generate_keypair`\" pulumi-lang-yaml=\"`generateKeypair`\" pulumi-lang-java=\"`generateKeypair`\" pulumi-lang-hcl=\"`generate_keypair`\"\u003e`generateKeypair`\u003c/span\u003e is false.",
                    "secret": true
                },
                "generatedPrivateKey": {
                    "type": "string",
                    "description": "Only returned when generating keys. Private key generated for the user.",
                    "secret": true
                },
                "generatedPublicKey": {
                    "type": "string",
                    "description": "Only returned when generating keys. Public key generated for the user."
                },
                "lastLoginAt": {
                    "type": "string",
                    "description": "Key's most recent login time via SFTP"
                },
                "publicKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nActual contents of SSH key.",
                    "language": {
                        "csharp": {
                            "name": "PublicKeyContents"
                        }
                    },
                    "secret": true
                },
                "status": {
                    "type": "string",
                    "description": "Only returned when generating keys. Can be invalid, not_generated, generating, complete"
                },
                "title": {
                    "type": "string",
                    "description": "Public key title\n"
                },
                "userId": {
                    "type": "integer",
                    "description": "User ID this public key is associated with"
                },
                "username": {
                    "type": "string",
                    "description": "Username of the user this public key is associated with"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID (0 for default workspace)."
                }
            },
            "required": [
                "createdAt",
                "expired",
                "expiresAt",
                "fingerprint",
                "fingerprintSha256",
                "generatedPrivateKey",
                "generatedPublicKey",
                "lastLoginAt",
                "status",
                "title",
                "userId",
                "username",
                "workspaceId"
            ],
            "inputProperties": {
                "generateAlgorithm": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nType of key to generate.  One of rsa, dsa, ecdsa, ed25519. Used for the generation of the key. Will be ignored if \u003cspan pulumi-lang-nodejs=\"`generateKeypair`\" pulumi-lang-dotnet=\"`GenerateKeypair`\" pulumi-lang-go=\"`generateKeypair`\" pulumi-lang-python=\"`generate_keypair`\" pulumi-lang-yaml=\"`generateKeypair`\" pulumi-lang-java=\"`generateKeypair`\" pulumi-lang-hcl=\"`generate_keypair`\"\u003e`generateKeypair`\u003c/span\u003e is false.",
                    "secret": true,
                    "willReplaceOnChanges": true
                },
                "generateKeypair": {
                    "type": "boolean",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nIf true, generate a new SSH key pair. Can not be used with \u003cspan pulumi-lang-nodejs=\"`publicKey`\" pulumi-lang-dotnet=\"`PublicKey`\" pulumi-lang-go=\"`publicKey`\" pulumi-lang-python=\"`public_key`\" pulumi-lang-yaml=\"`publicKey`\" pulumi-lang-java=\"`publicKey`\" pulumi-lang-hcl=\"`public_key`\"\u003e`publicKey`\u003c/span\u003e",
                    "secret": true,
                    "willReplaceOnChanges": true
                },
                "generateLength": {
                    "type": "integer",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nLength of key to generate. If algorithm is ecdsa, this is the signature size. Used for the generation of the key. Will be ignored if \u003cspan pulumi-lang-nodejs=\"`generateKeypair`\" pulumi-lang-dotnet=\"`GenerateKeypair`\" pulumi-lang-go=\"`generateKeypair`\" pulumi-lang-python=\"`generate_keypair`\" pulumi-lang-yaml=\"`generateKeypair`\" pulumi-lang-java=\"`generateKeypair`\" pulumi-lang-hcl=\"`generate_keypair`\"\u003e`generateKeypair`\u003c/span\u003e is false.",
                    "secret": true,
                    "willReplaceOnChanges": true
                },
                "generatePrivateKeyPassword": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPassword for the private key. Used for the generation of the key. Will be ignored if \u003cspan pulumi-lang-nodejs=\"`generateKeypair`\" pulumi-lang-dotnet=\"`GenerateKeypair`\" pulumi-lang-go=\"`generateKeypair`\" pulumi-lang-python=\"`generate_keypair`\" pulumi-lang-yaml=\"`generateKeypair`\" pulumi-lang-java=\"`generateKeypair`\" pulumi-lang-hcl=\"`generate_keypair`\"\u003e`generateKeypair`\u003c/span\u003e is false.",
                    "secret": true,
                    "willReplaceOnChanges": true
                },
                "publicKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nActual contents of SSH key.",
                    "language": {
                        "csharp": {
                            "name": "PublicKeyContents"
                        }
                    },
                    "secret": true,
                    "willReplaceOnChanges": true
                },
                "title": {
                    "type": "string",
                    "description": "Public key title\n"
                },
                "userId": {
                    "type": "integer",
                    "description": "User ID this public key is associated with",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "title"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering PublicKey resources.\n",
                "properties": {
                    "createdAt": {
                        "type": "string",
                        "description": "Public key created at date/time"
                    },
                    "expired": {
                        "type": "boolean",
                        "description": "Is this public key expired?"
                    },
                    "expiresAt": {
                        "type": "string",
                        "description": "Public key expiration date/time"
                    },
                    "fingerprint": {
                        "type": "string",
                        "description": "Public key fingerprint (MD5)"
                    },
                    "fingerprintSha256": {
                        "type": "string",
                        "description": "Public key fingerprint (SHA256)"
                    },
                    "generateAlgorithm": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nType of key to generate.  One of rsa, dsa, ecdsa, ed25519. Used for the generation of the key. Will be ignored if \u003cspan pulumi-lang-nodejs=\"`generateKeypair`\" pulumi-lang-dotnet=\"`GenerateKeypair`\" pulumi-lang-go=\"`generateKeypair`\" pulumi-lang-python=\"`generate_keypair`\" pulumi-lang-yaml=\"`generateKeypair`\" pulumi-lang-java=\"`generateKeypair`\" pulumi-lang-hcl=\"`generate_keypair`\"\u003e`generateKeypair`\u003c/span\u003e is false.",
                        "secret": true
                    },
                    "generateKeypair": {
                        "type": "boolean",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nIf true, generate a new SSH key pair. Can not be used with \u003cspan pulumi-lang-nodejs=\"`publicKey`\" pulumi-lang-dotnet=\"`PublicKey`\" pulumi-lang-go=\"`publicKey`\" pulumi-lang-python=\"`public_key`\" pulumi-lang-yaml=\"`publicKey`\" pulumi-lang-java=\"`publicKey`\" pulumi-lang-hcl=\"`public_key`\"\u003e`publicKey`\u003c/span\u003e",
                        "secret": true
                    },
                    "generateLength": {
                        "type": "integer",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nLength of key to generate. If algorithm is ecdsa, this is the signature size. Used for the generation of the key. Will be ignored if \u003cspan pulumi-lang-nodejs=\"`generateKeypair`\" pulumi-lang-dotnet=\"`GenerateKeypair`\" pulumi-lang-go=\"`generateKeypair`\" pulumi-lang-python=\"`generate_keypair`\" pulumi-lang-yaml=\"`generateKeypair`\" pulumi-lang-java=\"`generateKeypair`\" pulumi-lang-hcl=\"`generate_keypair`\"\u003e`generateKeypair`\u003c/span\u003e is false.",
                        "secret": true
                    },
                    "generatePrivateKeyPassword": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPassword for the private key. Used for the generation of the key. Will be ignored if \u003cspan pulumi-lang-nodejs=\"`generateKeypair`\" pulumi-lang-dotnet=\"`GenerateKeypair`\" pulumi-lang-go=\"`generateKeypair`\" pulumi-lang-python=\"`generate_keypair`\" pulumi-lang-yaml=\"`generateKeypair`\" pulumi-lang-java=\"`generateKeypair`\" pulumi-lang-hcl=\"`generate_keypair`\"\u003e`generateKeypair`\u003c/span\u003e is false.",
                        "secret": true
                    },
                    "generatedPrivateKey": {
                        "type": "string",
                        "description": "Only returned when generating keys. Private key generated for the user.",
                        "secret": true
                    },
                    "generatedPublicKey": {
                        "type": "string",
                        "description": "Only returned when generating keys. Public key generated for the user."
                    },
                    "lastLoginAt": {
                        "type": "string",
                        "description": "Key's most recent login time via SFTP"
                    },
                    "publicKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nActual contents of SSH key.",
                        "language": {
                            "csharp": {
                                "name": "PublicKeyContents"
                            }
                        },
                        "secret": true
                    },
                    "status": {
                        "type": "string",
                        "description": "Only returned when generating keys. Can be invalid, not_generated, generating, complete"
                    },
                    "title": {
                        "type": "string",
                        "description": "Public key title\n"
                    },
                    "userId": {
                        "type": "integer",
                        "description": "User ID this public key is associated with"
                    },
                    "username": {
                        "type": "string",
                        "description": "Username of the user this public key is associated with"
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID (0 for default workspace)."
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/remoteMountBackend:RemoteMountBackend": {
            "description": "A Remote Mount Backend is used to provide high availability for a Remote Server Mount Folder Behavior.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleRemoteMountBackend = new filescom.RemoteMountBackend(\"example_remote_mount_backend\", {\n    enabled: true,\n    fall: 1,\n    healthCheckEnabled: true,\n    healthCheckType: \"active\",\n    interval: 60,\n    minFreeCpu: \"1\",\n    minFreeMem: \"1\",\n    priority: 1,\n    remotePath: \"/path/on/remote\",\n    rise: 1,\n    canaryFilePath: \"backend1.txt\",\n    remoteServerMountId: 1,\n    remoteServerId: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_remote_mount_backend = filescom.RemoteMountBackend(\"example_remote_mount_backend\",\n    enabled=True,\n    fall=1,\n    health_check_enabled=True,\n    health_check_type=\"active\",\n    interval=60,\n    min_free_cpu=\"1\",\n    min_free_mem=\"1\",\n    priority=1,\n    remote_path=\"/path/on/remote\",\n    rise=1,\n    canary_file_path=\"backend1.txt\",\n    remote_server_mount_id=1,\n    remote_server_id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleRemoteMountBackend = new Filescom.RemoteMountBackend(\"example_remote_mount_backend\", new()\n    {\n        Enabled = true,\n        Fall = 1,\n        HealthCheckEnabled = true,\n        HealthCheckType = \"active\",\n        Interval = 60,\n        MinFreeCpu = \"1\",\n        MinFreeMem = \"1\",\n        Priority = 1,\n        RemotePath = \"/path/on/remote\",\n        Rise = 1,\n        CanaryFilePath = \"backend1.txt\",\n        RemoteServerMountId = 1,\n        RemoteServerId = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewRemoteMountBackend(ctx, \"example_remote_mount_backend\", \u0026filescom.RemoteMountBackendArgs{\n\t\t\tEnabled:             pulumi.Bool(true),\n\t\t\tFall:                pulumi.Int(1),\n\t\t\tHealthCheckEnabled:  pulumi.Bool(true),\n\t\t\tHealthCheckType:     pulumi.String(\"active\"),\n\t\t\tInterval:            pulumi.Int(60),\n\t\t\tMinFreeCpu:          pulumi.String(\"1\"),\n\t\t\tMinFreeMem:          pulumi.String(\"1\"),\n\t\t\tPriority:            pulumi.Int(1),\n\t\t\tRemotePath:          pulumi.String(\"/path/on/remote\"),\n\t\t\tRise:                pulumi.Int(1),\n\t\t\tCanaryFilePath:      pulumi.String(\"backend1.txt\"),\n\t\t\tRemoteServerMountId: pulumi.Int(1),\n\t\t\tRemoteServerId:      pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_remotemountbackend\" \"example_remote_mount_backend\" {\n  enabled                = true\n  fall                   = 1\n  health_check_enabled   = true\n  health_check_type      = \"active\"\n  interval               = 60\n  min_free_cpu           = 1\n  min_free_mem           = 1\n  priority               = 1\n  remote_path            = \"/path/on/remote\"\n  rise                   = 1\n  canary_file_path       = \"backend1.txt\"\n  remote_server_mount_id = 1\n  remote_server_id       = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.RemoteMountBackend;\nimport com.pulumi.filescom.RemoteMountBackendArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleRemoteMountBackend = new RemoteMountBackend(\"exampleRemoteMountBackend\", RemoteMountBackendArgs.builder()\n            .enabled(true)\n            .fall(1)\n            .healthCheckEnabled(true)\n            .healthCheckType(\"active\")\n            .interval(60)\n            .minFreeCpu(\"1\")\n            .minFreeMem(\"1\")\n            .priority(1)\n            .remotePath(\"/path/on/remote\")\n            .rise(1)\n            .canaryFilePath(\"backend1.txt\")\n            .remoteServerMountId(1)\n            .remoteServerId(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleRemoteMountBackend:\n    type: filescom:RemoteMountBackend\n    name: example_remote_mount_backend\n    properties:\n      enabled: true\n      fall: 1\n      healthCheckEnabled: true\n      healthCheckType: active\n      interval: 60\n      minFreeCpu: 1\n      minFreeMem: 1\n      priority: 1\n      remotePath: /path/on/remote\n      rise: 1\n      canaryFilePath: backend1.txt\n      remoteServerMountId: 1\n      remoteServerId: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nRemote Mount Backends can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/remoteMountBackend:RemoteMountBackend example_remote_mount_backend 1\n```\n\n",
            "properties": {
                "canaryFilePath": {
                    "type": "string",
                    "description": "Path to the canary file used for health checks.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "True if this backend is enabled.\n"
                },
                "fall": {
                    "type": "integer",
                    "description": "Number of consecutive failures before considering the backend unhealthy.\n"
                },
                "healthCheckEnabled": {
                    "type": "boolean",
                    "description": "True if health checks are enabled for this backend.\n"
                },
                "healthCheckResults": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Array of recent health check results.\n"
                },
                "healthCheckType": {
                    "type": "string",
                    "description": "Type of health check to perform.\n"
                },
                "interval": {
                    "type": "integer",
                    "description": "Interval in seconds between health checks.\n"
                },
                "minFreeCpu": {
                    "type": "string",
                    "description": "Minimum free CPU percentage required for this backend to be considered healthy.\n"
                },
                "minFreeMem": {
                    "type": "string",
                    "description": "Minimum free memory percentage required for this backend to be considered healthy.\n"
                },
                "priority": {
                    "type": "integer",
                    "description": "Priority of this backend.\n"
                },
                "remotePath": {
                    "type": "string",
                    "description": "Path on the remote server to treat as the root of this mount.\n"
                },
                "remoteServerId": {
                    "type": "integer",
                    "description": "The remote server that this backend is associated with.\n"
                },
                "remoteServerMountId": {
                    "type": "integer",
                    "description": "The mount ID of the Remote Server Mount that this backend is associated with.\n"
                },
                "rise": {
                    "type": "integer",
                    "description": "Number of consecutive successes before considering the backend healthy.\n"
                },
                "status": {
                    "type": "string",
                    "description": "Status of this backend.\n"
                },
                "undergoingMaintenance": {
                    "type": "boolean",
                    "description": "True if this backend is undergoing maintenance.\n"
                }
            },
            "required": [
                "canaryFilePath",
                "enabled",
                "fall",
                "healthCheckEnabled",
                "healthCheckResults",
                "healthCheckType",
                "interval",
                "minFreeCpu",
                "minFreeMem",
                "priority",
                "remotePath",
                "remoteServerId",
                "remoteServerMountId",
                "rise",
                "status",
                "undergoingMaintenance"
            ],
            "inputProperties": {
                "canaryFilePath": {
                    "type": "string",
                    "description": "Path to the canary file used for health checks.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "True if this backend is enabled.\n"
                },
                "fall": {
                    "type": "integer",
                    "description": "Number of consecutive failures before considering the backend unhealthy.\n"
                },
                "healthCheckEnabled": {
                    "type": "boolean",
                    "description": "True if health checks are enabled for this backend.\n"
                },
                "healthCheckType": {
                    "type": "string",
                    "description": "Type of health check to perform.\n"
                },
                "interval": {
                    "type": "integer",
                    "description": "Interval in seconds between health checks.\n"
                },
                "minFreeCpu": {
                    "type": "string",
                    "description": "Minimum free CPU percentage required for this backend to be considered healthy.\n"
                },
                "minFreeMem": {
                    "type": "string",
                    "description": "Minimum free memory percentage required for this backend to be considered healthy.\n"
                },
                "priority": {
                    "type": "integer",
                    "description": "Priority of this backend.\n"
                },
                "remotePath": {
                    "type": "string",
                    "description": "Path on the remote server to treat as the root of this mount.\n"
                },
                "remoteServerId": {
                    "type": "integer",
                    "description": "The remote server that this backend is associated with.\n"
                },
                "remoteServerMountId": {
                    "type": "integer",
                    "description": "The mount ID of the Remote Server Mount that this backend is associated with.\n",
                    "willReplaceOnChanges": true
                },
                "rise": {
                    "type": "integer",
                    "description": "Number of consecutive successes before considering the backend healthy.\n"
                }
            },
            "requiredInputs": [
                "canaryFilePath",
                "remoteServerId",
                "remoteServerMountId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteMountBackend resources.\n",
                "properties": {
                    "canaryFilePath": {
                        "type": "string",
                        "description": "Path to the canary file used for health checks.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "True if this backend is enabled.\n"
                    },
                    "fall": {
                        "type": "integer",
                        "description": "Number of consecutive failures before considering the backend unhealthy.\n"
                    },
                    "healthCheckEnabled": {
                        "type": "boolean",
                        "description": "True if health checks are enabled for this backend.\n"
                    },
                    "healthCheckResults": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Array of recent health check results.\n"
                    },
                    "healthCheckType": {
                        "type": "string",
                        "description": "Type of health check to perform.\n"
                    },
                    "interval": {
                        "type": "integer",
                        "description": "Interval in seconds between health checks.\n"
                    },
                    "minFreeCpu": {
                        "type": "string",
                        "description": "Minimum free CPU percentage required for this backend to be considered healthy.\n"
                    },
                    "minFreeMem": {
                        "type": "string",
                        "description": "Minimum free memory percentage required for this backend to be considered healthy.\n"
                    },
                    "priority": {
                        "type": "integer",
                        "description": "Priority of this backend.\n"
                    },
                    "remotePath": {
                        "type": "string",
                        "description": "Path on the remote server to treat as the root of this mount.\n"
                    },
                    "remoteServerId": {
                        "type": "integer",
                        "description": "The remote server that this backend is associated with.\n"
                    },
                    "remoteServerMountId": {
                        "type": "integer",
                        "description": "The mount ID of the Remote Server Mount that this backend is associated with.\n"
                    },
                    "rise": {
                        "type": "integer",
                        "description": "Number of consecutive successes before considering the backend healthy.\n"
                    },
                    "status": {
                        "type": "string",
                        "description": "Status of this backend.\n"
                    },
                    "undergoingMaintenance": {
                        "type": "boolean",
                        "description": "True if this backend is undergoing maintenance.\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/remoteServer:RemoteServer": {
            "description": "A RemoteServer is a specific type of Behavior called \u003cspan pulumi-lang-nodejs=\"`remoteServerSync`\" pulumi-lang-dotnet=\"`RemoteServerSync`\" pulumi-lang-go=\"`remoteServerSync`\" pulumi-lang-python=\"`remote_server_sync`\" pulumi-lang-yaml=\"`remoteServerSync`\" pulumi-lang-java=\"`remoteServerSync`\" pulumi-lang-hcl=\"`remote_server_sync`\"\u003e`remoteServerSync`\u003c/span\u003e.\n\n\n\nRemote Servers can be either an FTP server, SFTP server, S3 bucket, Google Cloud Storage, Wasabi, Backblaze B2 Cloud Storage, Rackspace Cloud Files container, WebDAV, Box, Dropbox, OneDrive, SharePoint, Google Drive, Azure Blob Storage, or Files.com direct link.\n\n\n\nNot every attribute will apply to every remote server.\n\n\n\nFTP Servers require that you specify their \u003cspan pulumi-lang-nodejs=\"`hostname`\" pulumi-lang-dotnet=\"`Hostname`\" pulumi-lang-go=\"`hostname`\" pulumi-lang-python=\"`hostname`\" pulumi-lang-yaml=\"`hostname`\" pulumi-lang-java=\"`hostname`\" pulumi-lang-hcl=\"`hostname`\"\u003e`hostname`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\" pulumi-lang-hcl=\"`port`\"\u003e`port`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\" pulumi-lang-hcl=\"`username`\"\u003e`username`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e, and a value for \u003cspan pulumi-lang-nodejs=\"`ssl`\" pulumi-lang-dotnet=\"`Ssl`\" pulumi-lang-go=\"`ssl`\" pulumi-lang-python=\"`ssl`\" pulumi-lang-yaml=\"`ssl`\" pulumi-lang-java=\"`ssl`\" pulumi-lang-hcl=\"`ssl`\"\u003e`ssl`\u003c/span\u003e. Optionally, provide \u003cspan pulumi-lang-nodejs=\"`serverCertificate`\" pulumi-lang-dotnet=\"`ServerCertificate`\" pulumi-lang-go=\"`serverCertificate`\" pulumi-lang-python=\"`server_certificate`\" pulumi-lang-yaml=\"`serverCertificate`\" pulumi-lang-java=\"`serverCertificate`\" pulumi-lang-hcl=\"`server_certificate`\"\u003e`serverCertificate`\u003c/span\u003e.\n\n\n\nSFTP Servers require that you specify their \u003cspan pulumi-lang-nodejs=\"`hostname`\" pulumi-lang-dotnet=\"`Hostname`\" pulumi-lang-go=\"`hostname`\" pulumi-lang-python=\"`hostname`\" pulumi-lang-yaml=\"`hostname`\" pulumi-lang-java=\"`hostname`\" pulumi-lang-hcl=\"`hostname`\"\u003e`hostname`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\" pulumi-lang-hcl=\"`port`\"\u003e`port`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\" pulumi-lang-hcl=\"`username`\"\u003e`username`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\" pulumi-lang-hcl=\"`private_key`\"\u003e`privateKey`\u003c/span\u003e, and a value for \u003cspan pulumi-lang-nodejs=\"`ssl`\" pulumi-lang-dotnet=\"`Ssl`\" pulumi-lang-go=\"`ssl`\" pulumi-lang-python=\"`ssl`\" pulumi-lang-yaml=\"`ssl`\" pulumi-lang-java=\"`ssl`\" pulumi-lang-hcl=\"`ssl`\"\u003e`ssl`\u003c/span\u003e. Optionally, provide \u003cspan pulumi-lang-nodejs=\"`serverCertificate`\" pulumi-lang-dotnet=\"`ServerCertificate`\" pulumi-lang-go=\"`serverCertificate`\" pulumi-lang-python=\"`server_certificate`\" pulumi-lang-yaml=\"`serverCertificate`\" pulumi-lang-java=\"`serverCertificate`\" pulumi-lang-hcl=\"`server_certificate`\"\u003e`serverCertificate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`privateKeyPassphrase`\" pulumi-lang-dotnet=\"`PrivateKeyPassphrase`\" pulumi-lang-go=\"`privateKeyPassphrase`\" pulumi-lang-python=\"`private_key_passphrase`\" pulumi-lang-yaml=\"`privateKeyPassphrase`\" pulumi-lang-java=\"`privateKeyPassphrase`\" pulumi-lang-hcl=\"`private_key_passphrase`\"\u003e`privateKeyPassphrase`\u003c/span\u003e.\n\n\n\nS3 Buckets require that you specify their \u003cspan pulumi-lang-nodejs=\"`s3Bucket`\" pulumi-lang-dotnet=\"`S3Bucket`\" pulumi-lang-go=\"`s3Bucket`\" pulumi-lang-python=\"`s3_bucket`\" pulumi-lang-yaml=\"`s3Bucket`\" pulumi-lang-java=\"`s3Bucket`\" pulumi-lang-hcl=\"`s3_bucket`\"\u003e`s3Bucket`\u003c/span\u003e name, and \u003cspan pulumi-lang-nodejs=\"`s3Region`\" pulumi-lang-dotnet=\"`S3Region`\" pulumi-lang-go=\"`s3Region`\" pulumi-lang-python=\"`s3_region`\" pulumi-lang-yaml=\"`s3Region`\" pulumi-lang-java=\"`s3Region`\" pulumi-lang-hcl=\"`s3_region`\"\u003e`s3Region`\u003c/span\u003e. Optionally provide a \u003cspan pulumi-lang-nodejs=\"`awsAccessKey`\" pulumi-lang-dotnet=\"`AwsAccessKey`\" pulumi-lang-go=\"`awsAccessKey`\" pulumi-lang-python=\"`aws_access_key`\" pulumi-lang-yaml=\"`awsAccessKey`\" pulumi-lang-java=\"`awsAccessKey`\" pulumi-lang-hcl=\"`aws_access_key`\"\u003e`awsAccessKey`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`awsSecretKey`\" pulumi-lang-dotnet=\"`AwsSecretKey`\" pulumi-lang-go=\"`awsSecretKey`\" pulumi-lang-python=\"`aws_secret_key`\" pulumi-lang-yaml=\"`awsSecretKey`\" pulumi-lang-java=\"`awsSecretKey`\" pulumi-lang-hcl=\"`aws_secret_key`\"\u003e`awsSecretKey`\u003c/span\u003e. If you don't provide credentials, you will need to use AWS to grant us access to your bucket.\n\n\n\nS3-Compatible Buckets require that you specify \u003cspan pulumi-lang-nodejs=\"`s3CompatibleBucket`\" pulumi-lang-dotnet=\"`S3CompatibleBucket`\" pulumi-lang-go=\"`s3CompatibleBucket`\" pulumi-lang-python=\"`s3_compatible_bucket`\" pulumi-lang-yaml=\"`s3CompatibleBucket`\" pulumi-lang-java=\"`s3CompatibleBucket`\" pulumi-lang-hcl=\"`s3_compatible_bucket`\"\u003e`s3CompatibleBucket`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`s3CompatibleEndpoint`\" pulumi-lang-dotnet=\"`S3CompatibleEndpoint`\" pulumi-lang-go=\"`s3CompatibleEndpoint`\" pulumi-lang-python=\"`s3_compatible_endpoint`\" pulumi-lang-yaml=\"`s3CompatibleEndpoint`\" pulumi-lang-java=\"`s3CompatibleEndpoint`\" pulumi-lang-hcl=\"`s3_compatible_endpoint`\"\u003e`s3CompatibleEndpoint`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`s3CompatibleAccessKey`\" pulumi-lang-dotnet=\"`S3CompatibleAccessKey`\" pulumi-lang-go=\"`s3CompatibleAccessKey`\" pulumi-lang-python=\"`s3_compatible_access_key`\" pulumi-lang-yaml=\"`s3CompatibleAccessKey`\" pulumi-lang-java=\"`s3CompatibleAccessKey`\" pulumi-lang-hcl=\"`s3_compatible_access_key`\"\u003e`s3CompatibleAccessKey`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`s3CompatibleSecretKey`\" pulumi-lang-dotnet=\"`S3CompatibleSecretKey`\" pulumi-lang-go=\"`s3CompatibleSecretKey`\" pulumi-lang-python=\"`s3_compatible_secret_key`\" pulumi-lang-yaml=\"`s3CompatibleSecretKey`\" pulumi-lang-java=\"`s3CompatibleSecretKey`\" pulumi-lang-hcl=\"`s3_compatible_secret_key`\"\u003e`s3CompatibleSecretKey`\u003c/span\u003e. Optionally provide \u003cspan pulumi-lang-nodejs=\"`s3CompatibleVirtualHostedStyle`\" pulumi-lang-dotnet=\"`S3CompatibleVirtualHostedStyle`\" pulumi-lang-go=\"`s3CompatibleVirtualHostedStyle`\" pulumi-lang-python=\"`s3_compatible_virtual_hosted_style`\" pulumi-lang-yaml=\"`s3CompatibleVirtualHostedStyle`\" pulumi-lang-java=\"`s3CompatibleVirtualHostedStyle`\" pulumi-lang-hcl=\"`s3_compatible_virtual_hosted_style`\"\u003e`s3CompatibleVirtualHostedStyle`\u003c/span\u003e to use virtual-hosted-style URLs instead of path-style URLs.\n\n\n\nGoogle Cloud Storage requires that you specify \u003cspan pulumi-lang-nodejs=\"`googleCloudStorageBucket`\" pulumi-lang-dotnet=\"`GoogleCloudStorageBucket`\" pulumi-lang-go=\"`googleCloudStorageBucket`\" pulumi-lang-python=\"`google_cloud_storage_bucket`\" pulumi-lang-yaml=\"`googleCloudStorageBucket`\" pulumi-lang-java=\"`googleCloudStorageBucket`\" pulumi-lang-hcl=\"`google_cloud_storage_bucket`\"\u003e`googleCloudStorageBucket`\u003c/span\u003e, and then one of the following sets of authentication credentials, selected by \u003cspan pulumi-lang-nodejs=\"`googleCloudStorageAuthenticationMethod`\" pulumi-lang-dotnet=\"`GoogleCloudStorageAuthenticationMethod`\" pulumi-lang-go=\"`googleCloudStorageAuthenticationMethod`\" pulumi-lang-python=\"`google_cloud_storage_authentication_method`\" pulumi-lang-yaml=\"`googleCloudStorageAuthenticationMethod`\" pulumi-lang-java=\"`googleCloudStorageAuthenticationMethod`\" pulumi-lang-hcl=\"`google_cloud_storage_authentication_method`\"\u003e`googleCloudStorageAuthenticationMethod`\u003c/span\u003e (defaults to \u003cspan pulumi-lang-nodejs=\"`json`\" pulumi-lang-dotnet=\"`Json`\" pulumi-lang-go=\"`json`\" pulumi-lang-python=\"`json`\" pulumi-lang-yaml=\"`json`\" pulumi-lang-java=\"`json`\" pulumi-lang-hcl=\"`json`\"\u003e`json`\u003c/span\u003e):\n\n - for JSON authentication: \u003cspan pulumi-lang-nodejs=\"`googleCloudStorageProjectId`\" pulumi-lang-dotnet=\"`GoogleCloudStorageProjectId`\" pulumi-lang-go=\"`googleCloudStorageProjectId`\" pulumi-lang-python=\"`google_cloud_storage_project_id`\" pulumi-lang-yaml=\"`googleCloudStorageProjectId`\" pulumi-lang-java=\"`googleCloudStorageProjectId`\" pulumi-lang-hcl=\"`google_cloud_storage_project_id`\"\u003e`googleCloudStorageProjectId`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`googleCloudStorageCredentialsJson`\" pulumi-lang-dotnet=\"`GoogleCloudStorageCredentialsJson`\" pulumi-lang-go=\"`googleCloudStorageCredentialsJson`\" pulumi-lang-python=\"`google_cloud_storage_credentials_json`\" pulumi-lang-yaml=\"`googleCloudStorageCredentialsJson`\" pulumi-lang-java=\"`googleCloudStorageCredentialsJson`\" pulumi-lang-hcl=\"`google_cloud_storage_credentials_json`\"\u003e`googleCloudStorageCredentialsJson`\u003c/span\u003e\n\n - for HMAC (S3-Compatible) authentication: \u003cspan pulumi-lang-nodejs=\"`googleCloudStorageS3CompatibleAccessKey`\" pulumi-lang-dotnet=\"`GoogleCloudStorageS3CompatibleAccessKey`\" pulumi-lang-go=\"`googleCloudStorageS3CompatibleAccessKey`\" pulumi-lang-python=\"`google_cloud_storage_s3_compatible_access_key`\" pulumi-lang-yaml=\"`googleCloudStorageS3CompatibleAccessKey`\" pulumi-lang-java=\"`googleCloudStorageS3CompatibleAccessKey`\" pulumi-lang-hcl=\"`google_cloud_storage_s3_compatible_access_key`\"\u003e`googleCloudStorageS3CompatibleAccessKey`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`googleCloudStorageS3CompatibleSecretKey`\" pulumi-lang-dotnet=\"`GoogleCloudStorageS3CompatibleSecretKey`\" pulumi-lang-go=\"`googleCloudStorageS3CompatibleSecretKey`\" pulumi-lang-python=\"`google_cloud_storage_s3_compatible_secret_key`\" pulumi-lang-yaml=\"`googleCloudStorageS3CompatibleSecretKey`\" pulumi-lang-java=\"`googleCloudStorageS3CompatibleSecretKey`\" pulumi-lang-hcl=\"`google_cloud_storage_s3_compatible_secret_key`\"\u003e`googleCloudStorageS3CompatibleSecretKey`\u003c/span\u003e\n\n - for OAuth authentication: \u003cspan pulumi-lang-nodejs=\"`googleCloudStorageOauthScope`\" pulumi-lang-dotnet=\"`GoogleCloudStorageOauthScope`\" pulumi-lang-go=\"`googleCloudStorageOauthScope`\" pulumi-lang-python=\"`google_cloud_storage_oauth_scope`\" pulumi-lang-yaml=\"`googleCloudStorageOauthScope`\" pulumi-lang-java=\"`googleCloudStorageOauthScope`\" pulumi-lang-hcl=\"`google_cloud_storage_oauth_scope`\"\u003e`googleCloudStorageOauthScope`\u003c/span\u003e, then follow the \u003cspan pulumi-lang-nodejs=\"`authSetupLink`\" pulumi-lang-dotnet=\"`AuthSetupLink`\" pulumi-lang-go=\"`authSetupLink`\" pulumi-lang-python=\"`auth_setup_link`\" pulumi-lang-yaml=\"`authSetupLink`\" pulumi-lang-java=\"`authSetupLink`\" pulumi-lang-hcl=\"`auth_setup_link`\"\u003e`authSetupLink`\u003c/span\u003e and login with Google\n\n\n\nWasabi requires \u003cspan pulumi-lang-nodejs=\"`wasabiBucket`\" pulumi-lang-dotnet=\"`WasabiBucket`\" pulumi-lang-go=\"`wasabiBucket`\" pulumi-lang-python=\"`wasabi_bucket`\" pulumi-lang-yaml=\"`wasabiBucket`\" pulumi-lang-java=\"`wasabiBucket`\" pulumi-lang-hcl=\"`wasabi_bucket`\"\u003e`wasabiBucket`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`wasabiRegion`\" pulumi-lang-dotnet=\"`WasabiRegion`\" pulumi-lang-go=\"`wasabiRegion`\" pulumi-lang-python=\"`wasabi_region`\" pulumi-lang-yaml=\"`wasabiRegion`\" pulumi-lang-java=\"`wasabiRegion`\" pulumi-lang-hcl=\"`wasabi_region`\"\u003e`wasabiRegion`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`wasabiAccessKey`\" pulumi-lang-dotnet=\"`WasabiAccessKey`\" pulumi-lang-go=\"`wasabiAccessKey`\" pulumi-lang-python=\"`wasabi_access_key`\" pulumi-lang-yaml=\"`wasabiAccessKey`\" pulumi-lang-java=\"`wasabiAccessKey`\" pulumi-lang-hcl=\"`wasabi_access_key`\"\u003e`wasabiAccessKey`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`wasabiSecretKey`\" pulumi-lang-dotnet=\"`WasabiSecretKey`\" pulumi-lang-go=\"`wasabiSecretKey`\" pulumi-lang-python=\"`wasabi_secret_key`\" pulumi-lang-yaml=\"`wasabiSecretKey`\" pulumi-lang-java=\"`wasabiSecretKey`\" pulumi-lang-hcl=\"`wasabi_secret_key`\"\u003e`wasabiSecretKey`\u003c/span\u003e.\n\n\n\nBackblaze B2 Cloud Storage \u003cspan pulumi-lang-nodejs=\"`backblazeB2Bucket`\" pulumi-lang-dotnet=\"`BackblazeB2Bucket`\" pulumi-lang-go=\"`backblazeB2Bucket`\" pulumi-lang-python=\"`backblaze_b2_bucket`\" pulumi-lang-yaml=\"`backblazeB2Bucket`\" pulumi-lang-java=\"`backblazeB2Bucket`\" pulumi-lang-hcl=\"`backblaze_b2_bucket`\"\u003e`backblazeB2Bucket`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`backblazeB2S3Endpoint`\" pulumi-lang-dotnet=\"`BackblazeB2S3Endpoint`\" pulumi-lang-go=\"`backblazeB2S3Endpoint`\" pulumi-lang-python=\"`backblaze_b2_s3_endpoint`\" pulumi-lang-yaml=\"`backblazeB2S3Endpoint`\" pulumi-lang-java=\"`backblazeB2S3Endpoint`\" pulumi-lang-hcl=\"`backblaze_b2_s3_endpoint`\"\u003e`backblazeB2S3Endpoint`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`backblazeB2ApplicationKey`\" pulumi-lang-dotnet=\"`BackblazeB2ApplicationKey`\" pulumi-lang-go=\"`backblazeB2ApplicationKey`\" pulumi-lang-python=\"`backblaze_b2_application_key`\" pulumi-lang-yaml=\"`backblazeB2ApplicationKey`\" pulumi-lang-java=\"`backblazeB2ApplicationKey`\" pulumi-lang-hcl=\"`backblaze_b2_application_key`\"\u003e`backblazeB2ApplicationKey`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`backblazeB2KeyId`\" pulumi-lang-dotnet=\"`BackblazeB2KeyId`\" pulumi-lang-go=\"`backblazeB2KeyId`\" pulumi-lang-python=\"`backblaze_b2_key_id`\" pulumi-lang-yaml=\"`backblazeB2KeyId`\" pulumi-lang-java=\"`backblazeB2KeyId`\" pulumi-lang-hcl=\"`backblaze_b2_key_id`\"\u003e`backblazeB2KeyId`\u003c/span\u003e. (Requires S3 Compatible API) See https://help.backblaze.com/hc/en-us/articles/360047425453\n\n\n\nWebDAV Servers require that you specify their \u003cspan pulumi-lang-nodejs=\"`hostname`\" pulumi-lang-dotnet=\"`Hostname`\" pulumi-lang-go=\"`hostname`\" pulumi-lang-python=\"`hostname`\" pulumi-lang-yaml=\"`hostname`\" pulumi-lang-java=\"`hostname`\" pulumi-lang-hcl=\"`hostname`\"\u003e`hostname`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\" pulumi-lang-hcl=\"`username`\"\u003e`username`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e.\n\n\n\nOneDrive follow the \u003cspan pulumi-lang-nodejs=\"`authSetupLink`\" pulumi-lang-dotnet=\"`AuthSetupLink`\" pulumi-lang-go=\"`authSetupLink`\" pulumi-lang-python=\"`auth_setup_link`\" pulumi-lang-yaml=\"`authSetupLink`\" pulumi-lang-java=\"`authSetupLink`\" pulumi-lang-hcl=\"`auth_setup_link`\"\u003e`authSetupLink`\u003c/span\u003e and login with Microsoft.\n\n\n\nSharePoint supports delegated authentication through \u003cspan pulumi-lang-nodejs=\"`authSetupLink`\" pulumi-lang-dotnet=\"`AuthSetupLink`\" pulumi-lang-go=\"`authSetupLink`\" pulumi-lang-python=\"`auth_setup_link`\" pulumi-lang-yaml=\"`authSetupLink`\" pulumi-lang-java=\"`authSetupLink`\" pulumi-lang-hcl=\"`auth_setup_link`\"\u003e`authSetupLink`\u003c/span\u003e, or app-only authentication with \u003cspan pulumi-lang-nodejs=\"`sharepointTenantId`\" pulumi-lang-dotnet=\"`SharepointTenantId`\" pulumi-lang-go=\"`sharepointTenantId`\" pulumi-lang-python=\"`sharepoint_tenant_id`\" pulumi-lang-yaml=\"`sharepointTenantId`\" pulumi-lang-java=\"`sharepointTenantId`\" pulumi-lang-hcl=\"`sharepoint_tenant_id`\"\u003e`sharepointTenantId`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sharepointClientId`\" pulumi-lang-dotnet=\"`SharepointClientId`\" pulumi-lang-go=\"`sharepointClientId`\" pulumi-lang-python=\"`sharepoint_client_id`\" pulumi-lang-yaml=\"`sharepointClientId`\" pulumi-lang-java=\"`sharepointClientId`\" pulumi-lang-hcl=\"`sharepoint_client_id`\"\u003e`sharepointClientId`\u003c/span\u003e, and either \u003cspan pulumi-lang-nodejs=\"`sharepointClientSecret`\" pulumi-lang-dotnet=\"`SharepointClientSecret`\" pulumi-lang-go=\"`sharepointClientSecret`\" pulumi-lang-python=\"`sharepoint_client_secret`\" pulumi-lang-yaml=\"`sharepointClientSecret`\" pulumi-lang-java=\"`sharepointClientSecret`\" pulumi-lang-hcl=\"`sharepoint_client_secret`\"\u003e`sharepointClientSecret`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sharepointClientCertificate`\" pulumi-lang-dotnet=\"`SharepointClientCertificate`\" pulumi-lang-go=\"`sharepointClientCertificate`\" pulumi-lang-python=\"`sharepoint_client_certificate`\" pulumi-lang-yaml=\"`sharepointClientCertificate`\" pulumi-lang-java=\"`sharepointClientCertificate`\" pulumi-lang-hcl=\"`sharepoint_client_certificate`\"\u003e`sharepointClientCertificate`\u003c/span\u003e. Set \u003cspan pulumi-lang-nodejs=\"`sharepointSiteUrl`\" pulumi-lang-dotnet=\"`SharepointSiteUrl`\" pulumi-lang-go=\"`sharepointSiteUrl`\" pulumi-lang-python=\"`sharepoint_site_url`\" pulumi-lang-yaml=\"`sharepointSiteUrl`\" pulumi-lang-java=\"`sharepointSiteUrl`\" pulumi-lang-hcl=\"`sharepoint_site_url`\"\u003e`sharepointSiteUrl`\u003c/span\u003e to scope the remote server to a site granted through Microsoft Graph `Sites.Selected`; leave it blank to browse all sites.\n\n\n\nBox follow the \u003cspan pulumi-lang-nodejs=\"`authSetupLink`\" pulumi-lang-dotnet=\"`AuthSetupLink`\" pulumi-lang-go=\"`authSetupLink`\" pulumi-lang-python=\"`auth_setup_link`\" pulumi-lang-yaml=\"`authSetupLink`\" pulumi-lang-java=\"`authSetupLink`\" pulumi-lang-hcl=\"`auth_setup_link`\"\u003e`authSetupLink`\u003c/span\u003e and login with Box.\n\n\n\nDropbox specify if \u003cspan pulumi-lang-nodejs=\"`dropboxTeams`\" pulumi-lang-dotnet=\"`DropboxTeams`\" pulumi-lang-go=\"`dropboxTeams`\" pulumi-lang-python=\"`dropbox_teams`\" pulumi-lang-yaml=\"`dropboxTeams`\" pulumi-lang-java=\"`dropboxTeams`\" pulumi-lang-hcl=\"`dropbox_teams`\"\u003e`dropboxTeams`\u003c/span\u003e then follow the \u003cspan pulumi-lang-nodejs=\"`authSetupLink`\" pulumi-lang-dotnet=\"`AuthSetupLink`\" pulumi-lang-go=\"`authSetupLink`\" pulumi-lang-python=\"`auth_setup_link`\" pulumi-lang-yaml=\"`authSetupLink`\" pulumi-lang-java=\"`authSetupLink`\" pulumi-lang-hcl=\"`auth_setup_link`\"\u003e`authSetupLink`\u003c/span\u003e and login with Dropbox.\n\n\n\nGoogle Drive follow the \u003cspan pulumi-lang-nodejs=\"`authSetupLink`\" pulumi-lang-dotnet=\"`AuthSetupLink`\" pulumi-lang-go=\"`authSetupLink`\" pulumi-lang-python=\"`auth_setup_link`\" pulumi-lang-yaml=\"`authSetupLink`\" pulumi-lang-java=\"`authSetupLink`\" pulumi-lang-hcl=\"`auth_setup_link`\"\u003e`authSetupLink`\u003c/span\u003e and login with Google.\n\n\n\nAzure Blob Storage \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageAccount`\" pulumi-lang-dotnet=\"`AzureBlobStorageAccount`\" pulumi-lang-go=\"`azureBlobStorageAccount`\" pulumi-lang-python=\"`azure_blob_storage_account`\" pulumi-lang-yaml=\"`azureBlobStorageAccount`\" pulumi-lang-java=\"`azureBlobStorageAccount`\" pulumi-lang-hcl=\"`azure_blob_storage_account`\"\u003e`azureBlobStorageAccount`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageContainer`\" pulumi-lang-dotnet=\"`AzureBlobStorageContainer`\" pulumi-lang-go=\"`azureBlobStorageContainer`\" pulumi-lang-python=\"`azure_blob_storage_container`\" pulumi-lang-yaml=\"`azureBlobStorageContainer`\" pulumi-lang-java=\"`azureBlobStorageContainer`\" pulumi-lang-hcl=\"`azure_blob_storage_container`\"\u003e`azureBlobStorageContainer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageAccessKey`\" pulumi-lang-dotnet=\"`AzureBlobStorageAccessKey`\" pulumi-lang-go=\"`azureBlobStorageAccessKey`\" pulumi-lang-python=\"`azure_blob_storage_access_key`\" pulumi-lang-yaml=\"`azureBlobStorageAccessKey`\" pulumi-lang-java=\"`azureBlobStorageAccessKey`\" pulumi-lang-hcl=\"`azure_blob_storage_access_key`\"\u003e`azureBlobStorageAccessKey`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageSasToken`\" pulumi-lang-dotnet=\"`AzureBlobStorageSasToken`\" pulumi-lang-go=\"`azureBlobStorageSasToken`\" pulumi-lang-python=\"`azure_blob_storage_sas_token`\" pulumi-lang-yaml=\"`azureBlobStorageSasToken`\" pulumi-lang-java=\"`azureBlobStorageSasToken`\" pulumi-lang-hcl=\"`azure_blob_storage_sas_token`\"\u003e`azureBlobStorageSasToken`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageDnsSuffix`\" pulumi-lang-dotnet=\"`AzureBlobStorageDnsSuffix`\" pulumi-lang-go=\"`azureBlobStorageDnsSuffix`\" pulumi-lang-python=\"`azure_blob_storage_dns_suffix`\" pulumi-lang-yaml=\"`azureBlobStorageDnsSuffix`\" pulumi-lang-java=\"`azureBlobStorageDnsSuffix`\" pulumi-lang-hcl=\"`azure_blob_storage_dns_suffix`\"\u003e`azureBlobStorageDnsSuffix`\u003c/span\u003e\n\n\n\nAzure File Storage \u003cspan pulumi-lang-nodejs=\"`azureFilesStorageAccount`\" pulumi-lang-dotnet=\"`AzureFilesStorageAccount`\" pulumi-lang-go=\"`azureFilesStorageAccount`\" pulumi-lang-python=\"`azure_files_storage_account`\" pulumi-lang-yaml=\"`azureFilesStorageAccount`\" pulumi-lang-java=\"`azureFilesStorageAccount`\" pulumi-lang-hcl=\"`azure_files_storage_account`\"\u003e`azureFilesStorageAccount`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureFilesStorageAccessKey`\" pulumi-lang-dotnet=\"`AzureFilesStorageAccessKey`\" pulumi-lang-go=\"`azureFilesStorageAccessKey`\" pulumi-lang-python=\"`azure_files_storage_access_key`\" pulumi-lang-yaml=\"`azureFilesStorageAccessKey`\" pulumi-lang-java=\"`azureFilesStorageAccessKey`\" pulumi-lang-hcl=\"`azure_files_storage_access_key`\"\u003e`azureFilesStorageAccessKey`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureFilesStorageShareName`\" pulumi-lang-dotnet=\"`AzureFilesStorageShareName`\" pulumi-lang-go=\"`azureFilesStorageShareName`\" pulumi-lang-python=\"`azure_files_storage_share_name`\" pulumi-lang-yaml=\"`azureFilesStorageShareName`\" pulumi-lang-java=\"`azureFilesStorageShareName`\" pulumi-lang-hcl=\"`azure_files_storage_share_name`\"\u003e`azureFilesStorageShareName`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureFilesStorageDnsSuffix`\" pulumi-lang-dotnet=\"`AzureFilesStorageDnsSuffix`\" pulumi-lang-go=\"`azureFilesStorageDnsSuffix`\" pulumi-lang-python=\"`azure_files_storage_dns_suffix`\" pulumi-lang-yaml=\"`azureFilesStorageDnsSuffix`\" pulumi-lang-java=\"`azureFilesStorageDnsSuffix`\" pulumi-lang-hcl=\"`azure_files_storage_dns_suffix`\"\u003e`azureFilesStorageDnsSuffix`\u003c/span\u003e\n\n\n\nFilebase requires \u003cspan pulumi-lang-nodejs=\"`filebaseBucket`\" pulumi-lang-dotnet=\"`FilebaseBucket`\" pulumi-lang-go=\"`filebaseBucket`\" pulumi-lang-python=\"`filebase_bucket`\" pulumi-lang-yaml=\"`filebaseBucket`\" pulumi-lang-java=\"`filebaseBucket`\" pulumi-lang-hcl=\"`filebase_bucket`\"\u003e`filebaseBucket`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`filebaseAccessKey`\" pulumi-lang-dotnet=\"`FilebaseAccessKey`\" pulumi-lang-go=\"`filebaseAccessKey`\" pulumi-lang-python=\"`filebase_access_key`\" pulumi-lang-yaml=\"`filebaseAccessKey`\" pulumi-lang-java=\"`filebaseAccessKey`\" pulumi-lang-hcl=\"`filebase_access_key`\"\u003e`filebaseAccessKey`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`filebaseSecretKey`\" pulumi-lang-dotnet=\"`FilebaseSecretKey`\" pulumi-lang-go=\"`filebaseSecretKey`\" pulumi-lang-python=\"`filebase_secret_key`\" pulumi-lang-yaml=\"`filebaseSecretKey`\" pulumi-lang-java=\"`filebaseSecretKey`\" pulumi-lang-hcl=\"`filebase_secret_key`\"\u003e`filebaseSecretKey`\u003c/span\u003e.\n\n\n\nCloudflare requires \u003cspan pulumi-lang-nodejs=\"`cloudflareBucket`\" pulumi-lang-dotnet=\"`CloudflareBucket`\" pulumi-lang-go=\"`cloudflareBucket`\" pulumi-lang-python=\"`cloudflare_bucket`\" pulumi-lang-yaml=\"`cloudflareBucket`\" pulumi-lang-java=\"`cloudflareBucket`\" pulumi-lang-hcl=\"`cloudflare_bucket`\"\u003e`cloudflareBucket`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cloudflareAccessKey`\" pulumi-lang-dotnet=\"`CloudflareAccessKey`\" pulumi-lang-go=\"`cloudflareAccessKey`\" pulumi-lang-python=\"`cloudflare_access_key`\" pulumi-lang-yaml=\"`cloudflareAccessKey`\" pulumi-lang-java=\"`cloudflareAccessKey`\" pulumi-lang-hcl=\"`cloudflare_access_key`\"\u003e`cloudflareAccessKey`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cloudflareSecretKey`\" pulumi-lang-dotnet=\"`CloudflareSecretKey`\" pulumi-lang-go=\"`cloudflareSecretKey`\" pulumi-lang-python=\"`cloudflare_secret_key`\" pulumi-lang-yaml=\"`cloudflareSecretKey`\" pulumi-lang-java=\"`cloudflareSecretKey`\" pulumi-lang-hcl=\"`cloudflare_secret_key`\"\u003e`cloudflareSecretKey`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cloudflareEndpoint`\" pulumi-lang-dotnet=\"`CloudflareEndpoint`\" pulumi-lang-go=\"`cloudflareEndpoint`\" pulumi-lang-python=\"`cloudflare_endpoint`\" pulumi-lang-yaml=\"`cloudflareEndpoint`\" pulumi-lang-java=\"`cloudflareEndpoint`\" pulumi-lang-hcl=\"`cloudflare_endpoint`\"\u003e`cloudflareEndpoint`\u003c/span\u003e.\n\n\n\nLinode requires \u003cspan pulumi-lang-nodejs=\"`linodeBucket`\" pulumi-lang-dotnet=\"`LinodeBucket`\" pulumi-lang-go=\"`linodeBucket`\" pulumi-lang-python=\"`linode_bucket`\" pulumi-lang-yaml=\"`linodeBucket`\" pulumi-lang-java=\"`linodeBucket`\" pulumi-lang-hcl=\"`linode_bucket`\"\u003e`linodeBucket`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`linodeAccessKey`\" pulumi-lang-dotnet=\"`LinodeAccessKey`\" pulumi-lang-go=\"`linodeAccessKey`\" pulumi-lang-python=\"`linode_access_key`\" pulumi-lang-yaml=\"`linodeAccessKey`\" pulumi-lang-java=\"`linodeAccessKey`\" pulumi-lang-hcl=\"`linode_access_key`\"\u003e`linodeAccessKey`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`linodeSecretKey`\" pulumi-lang-dotnet=\"`LinodeSecretKey`\" pulumi-lang-go=\"`linodeSecretKey`\" pulumi-lang-python=\"`linode_secret_key`\" pulumi-lang-yaml=\"`linodeSecretKey`\" pulumi-lang-java=\"`linodeSecretKey`\" pulumi-lang-hcl=\"`linode_secret_key`\"\u003e`linodeSecretKey`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`linodeRegion`\" pulumi-lang-dotnet=\"`LinodeRegion`\" pulumi-lang-go=\"`linodeRegion`\" pulumi-lang-python=\"`linode_region`\" pulumi-lang-yaml=\"`linodeRegion`\" pulumi-lang-java=\"`linodeRegion`\" pulumi-lang-hcl=\"`linode_region`\"\u003e`linodeRegion`\u003c/span\u003e.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleRemoteServer = new filescom.RemoteServer(\"example_remote_server\", {\n    userId: 1,\n    resetAuthentication: false,\n    allowRelativePaths: true,\n    awsAccessKey: \"example\",\n    azureBlobStorageAccount: \"storage-account-name\",\n    azureBlobStorageContainer: \"container-name\",\n    azureBlobStorageDnsSuffix: \"usgovcloudapi.net\",\n    azureBlobStorageHierarchicalNamespace: true,\n    azureFilesStorageAccount: \"storage-account-name\",\n    azureFilesStorageDnsSuffix: \"file.core.windows.net\",\n    azureFilesStorageShareName: \"share-name\",\n    backblazeB2Bucket: \"my-bucket\",\n    backblazeB2S3Endpoint: \"s3.us-west-001.backblazeb2.com\",\n    bufferUploads: \"example\",\n    cloudflareAccessKey: \"example\",\n    cloudflareBucket: \"my-bucket\",\n    cloudflareEndpoint: \"https://\u003cACCOUNT_ID\u003e.r2.cloudflarestorage.com\",\n    description: \"More information or notes about my server\",\n    dropboxTeams: true,\n    enableDedicatedIps: true,\n    filebaseAccessKey: \"example\",\n    filebaseBucket: \"my-bucket\",\n    filesAgentPermissionSet: \"read_write\",\n    filesAgentRoot: \"example\",\n    filesAgentVersion: \"example\",\n    outboundAgentId: 1,\n    googleCloudStorageAuthenticationMethod: \"json\",\n    googleCloudStorageBucket: \"my-bucket\",\n    googleCloudStorageOauthScope: \"https://www.googleapis.com/auth/devstorage.read_only\",\n    googleCloudStorageProjectId: \"my-project\",\n    googleCloudStorageS3CompatibleAccessKey: \"example\",\n    hostname: \"remote-server.com\",\n    linodeAccessKey: \"example\",\n    linodeBucket: \"my-bucket\",\n    linodeRegion: \"us-east-1\",\n    maxConnections: 1,\n    name: \"My Remote server\",\n    oneDriveAccountType: \"personal\",\n    pinToSiteRegion: true,\n    port: 1,\n    uploadStagingPath: \"/tmp/uploads\",\n    remoteServerCredentialId: 1,\n    s3AssumeRoleArn: \"example\",\n    s3AssumeRoleDurationSeconds: 1,\n    s3Bucket: \"my-bucket\",\n    s3CompatibleAccessKey: \"example\",\n    s3CompatibleBucket: \"my-bucket\",\n    s3CompatibleEndpoint: \"mys3platform.com\",\n    s3CompatibleRegion: \"us-east-1\",\n    s3CompatibleVirtualHostedStyle: true,\n    s3Region: \"us-east-1\",\n    serverCertificate: \"require_match\",\n    serverHostKey: \"[public key]\",\n    serverType: \"s3\",\n    sharepointClientId: \"00000000-0000-0000-0000-000000000000\",\n    sharepointSiteUrl: \"https://example.sharepoint.com/sites/accounting\",\n    sharepointTenantId: \"00000000-0000-0000-0000-000000000000\",\n    ssl: \"if_available\",\n    username: \"user\",\n    wasabiAccessKey: \"example\",\n    wasabiBucket: \"my-bucket\",\n    wasabiRegion: \"us-west-1\",\n    workspaceId: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_remote_server = filescom.RemoteServer(\"example_remote_server\",\n    user_id=1,\n    reset_authentication=False,\n    allow_relative_paths=True,\n    aws_access_key=\"example\",\n    azure_blob_storage_account=\"storage-account-name\",\n    azure_blob_storage_container=\"container-name\",\n    azure_blob_storage_dns_suffix=\"usgovcloudapi.net\",\n    azure_blob_storage_hierarchical_namespace=True,\n    azure_files_storage_account=\"storage-account-name\",\n    azure_files_storage_dns_suffix=\"file.core.windows.net\",\n    azure_files_storage_share_name=\"share-name\",\n    backblaze_b2_bucket=\"my-bucket\",\n    backblaze_b2_s3_endpoint=\"s3.us-west-001.backblazeb2.com\",\n    buffer_uploads=\"example\",\n    cloudflare_access_key=\"example\",\n    cloudflare_bucket=\"my-bucket\",\n    cloudflare_endpoint=\"https://\u003cACCOUNT_ID\u003e.r2.cloudflarestorage.com\",\n    description=\"More information or notes about my server\",\n    dropbox_teams=True,\n    enable_dedicated_ips=True,\n    filebase_access_key=\"example\",\n    filebase_bucket=\"my-bucket\",\n    files_agent_permission_set=\"read_write\",\n    files_agent_root=\"example\",\n    files_agent_version=\"example\",\n    outbound_agent_id=1,\n    google_cloud_storage_authentication_method=\"json\",\n    google_cloud_storage_bucket=\"my-bucket\",\n    google_cloud_storage_oauth_scope=\"https://www.googleapis.com/auth/devstorage.read_only\",\n    google_cloud_storage_project_id=\"my-project\",\n    google_cloud_storage_s3_compatible_access_key=\"example\",\n    hostname=\"remote-server.com\",\n    linode_access_key=\"example\",\n    linode_bucket=\"my-bucket\",\n    linode_region=\"us-east-1\",\n    max_connections=1,\n    name=\"My Remote server\",\n    one_drive_account_type=\"personal\",\n    pin_to_site_region=True,\n    port=1,\n    upload_staging_path=\"/tmp/uploads\",\n    remote_server_credential_id=1,\n    s3_assume_role_arn=\"example\",\n    s3_assume_role_duration_seconds=1,\n    s3_bucket=\"my-bucket\",\n    s3_compatible_access_key=\"example\",\n    s3_compatible_bucket=\"my-bucket\",\n    s3_compatible_endpoint=\"mys3platform.com\",\n    s3_compatible_region=\"us-east-1\",\n    s3_compatible_virtual_hosted_style=True,\n    s3_region=\"us-east-1\",\n    server_certificate=\"require_match\",\n    server_host_key=\"[public key]\",\n    server_type=\"s3\",\n    sharepoint_client_id=\"00000000-0000-0000-0000-000000000000\",\n    sharepoint_site_url=\"https://example.sharepoint.com/sites/accounting\",\n    sharepoint_tenant_id=\"00000000-0000-0000-0000-000000000000\",\n    ssl=\"if_available\",\n    username=\"user\",\n    wasabi_access_key=\"example\",\n    wasabi_bucket=\"my-bucket\",\n    wasabi_region=\"us-west-1\",\n    workspace_id=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleRemoteServer = new Filescom.RemoteServer(\"example_remote_server\", new()\n    {\n        UserId = 1,\n        ResetAuthentication = false,\n        AllowRelativePaths = true,\n        AwsAccessKey = \"example\",\n        AzureBlobStorageAccount = \"storage-account-name\",\n        AzureBlobStorageContainer = \"container-name\",\n        AzureBlobStorageDnsSuffix = \"usgovcloudapi.net\",\n        AzureBlobStorageHierarchicalNamespace = true,\n        AzureFilesStorageAccount = \"storage-account-name\",\n        AzureFilesStorageDnsSuffix = \"file.core.windows.net\",\n        AzureFilesStorageShareName = \"share-name\",\n        BackblazeB2Bucket = \"my-bucket\",\n        BackblazeB2S3Endpoint = \"s3.us-west-001.backblazeb2.com\",\n        BufferUploads = \"example\",\n        CloudflareAccessKey = \"example\",\n        CloudflareBucket = \"my-bucket\",\n        CloudflareEndpoint = \"https://\u003cACCOUNT_ID\u003e.r2.cloudflarestorage.com\",\n        Description = \"More information or notes about my server\",\n        DropboxTeams = true,\n        EnableDedicatedIps = true,\n        FilebaseAccessKey = \"example\",\n        FilebaseBucket = \"my-bucket\",\n        FilesAgentPermissionSet = \"read_write\",\n        FilesAgentRoot = \"example\",\n        FilesAgentVersion = \"example\",\n        OutboundAgentId = 1,\n        GoogleCloudStorageAuthenticationMethod = \"json\",\n        GoogleCloudStorageBucket = \"my-bucket\",\n        GoogleCloudStorageOauthScope = \"https://www.googleapis.com/auth/devstorage.read_only\",\n        GoogleCloudStorageProjectId = \"my-project\",\n        GoogleCloudStorageS3CompatibleAccessKey = \"example\",\n        Hostname = \"remote-server.com\",\n        LinodeAccessKey = \"example\",\n        LinodeBucket = \"my-bucket\",\n        LinodeRegion = \"us-east-1\",\n        MaxConnections = 1,\n        Name = \"My Remote server\",\n        OneDriveAccountType = \"personal\",\n        PinToSiteRegion = true,\n        Port = 1,\n        UploadStagingPath = \"/tmp/uploads\",\n        RemoteServerCredentialId = 1,\n        S3AssumeRoleArn = \"example\",\n        S3AssumeRoleDurationSeconds = 1,\n        S3Bucket = \"my-bucket\",\n        S3CompatibleAccessKey = \"example\",\n        S3CompatibleBucket = \"my-bucket\",\n        S3CompatibleEndpoint = \"mys3platform.com\",\n        S3CompatibleRegion = \"us-east-1\",\n        S3CompatibleVirtualHostedStyle = true,\n        S3Region = \"us-east-1\",\n        ServerCertificate = \"require_match\",\n        ServerHostKey = \"[public key]\",\n        ServerType = \"s3\",\n        SharepointClientId = \"00000000-0000-0000-0000-000000000000\",\n        SharepointSiteUrl = \"https://example.sharepoint.com/sites/accounting\",\n        SharepointTenantId = \"00000000-0000-0000-0000-000000000000\",\n        Ssl = \"if_available\",\n        Username = \"user\",\n        WasabiAccessKey = \"example\",\n        WasabiBucket = \"my-bucket\",\n        WasabiRegion = \"us-west-1\",\n        WorkspaceId = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewRemoteServer(ctx, \"example_remote_server\", \u0026filescom.RemoteServerArgs{\n\t\t\tUserId:                                  pulumi.Int(1),\n\t\t\tResetAuthentication:                     pulumi.Bool(false),\n\t\t\tAllowRelativePaths:                      pulumi.Bool(true),\n\t\t\tAwsAccessKey:                            pulumi.String(\"example\"),\n\t\t\tAzureBlobStorageAccount:                 pulumi.String(\"storage-account-name\"),\n\t\t\tAzureBlobStorageContainer:               pulumi.String(\"container-name\"),\n\t\t\tAzureBlobStorageDnsSuffix:               pulumi.String(\"usgovcloudapi.net\"),\n\t\t\tAzureBlobStorageHierarchicalNamespace:   pulumi.Bool(true),\n\t\t\tAzureFilesStorageAccount:                pulumi.String(\"storage-account-name\"),\n\t\t\tAzureFilesStorageDnsSuffix:              pulumi.String(\"file.core.windows.net\"),\n\t\t\tAzureFilesStorageShareName:              pulumi.String(\"share-name\"),\n\t\t\tBackblazeB2Bucket:                       pulumi.String(\"my-bucket\"),\n\t\t\tBackblazeB2S3Endpoint:                   pulumi.String(\"s3.us-west-001.backblazeb2.com\"),\n\t\t\tBufferUploads:                           pulumi.String(\"example\"),\n\t\t\tCloudflareAccessKey:                     pulumi.String(\"example\"),\n\t\t\tCloudflareBucket:                        pulumi.String(\"my-bucket\"),\n\t\t\tCloudflareEndpoint:                      pulumi.String(\"https://\u003cACCOUNT_ID\u003e.r2.cloudflarestorage.com\"),\n\t\t\tDescription:                             pulumi.String(\"More information or notes about my server\"),\n\t\t\tDropboxTeams:                            pulumi.Bool(true),\n\t\t\tEnableDedicatedIps:                      pulumi.Bool(true),\n\t\t\tFilebaseAccessKey:                       pulumi.String(\"example\"),\n\t\t\tFilebaseBucket:                          pulumi.String(\"my-bucket\"),\n\t\t\tFilesAgentPermissionSet:                 pulumi.String(\"read_write\"),\n\t\t\tFilesAgentRoot:                          pulumi.String(\"example\"),\n\t\t\tFilesAgentVersion:                       pulumi.String(\"example\"),\n\t\t\tOutboundAgentId:                         pulumi.Int(1),\n\t\t\tGoogleCloudStorageAuthenticationMethod:  pulumi.String(\"json\"),\n\t\t\tGoogleCloudStorageBucket:                pulumi.String(\"my-bucket\"),\n\t\t\tGoogleCloudStorageOauthScope:            pulumi.String(\"https://www.googleapis.com/auth/devstorage.read_only\"),\n\t\t\tGoogleCloudStorageProjectId:             pulumi.String(\"my-project\"),\n\t\t\tGoogleCloudStorageS3CompatibleAccessKey: pulumi.String(\"example\"),\n\t\t\tHostname:                                pulumi.String(\"remote-server.com\"),\n\t\t\tLinodeAccessKey:                         pulumi.String(\"example\"),\n\t\t\tLinodeBucket:                            pulumi.String(\"my-bucket\"),\n\t\t\tLinodeRegion:                            pulumi.String(\"us-east-1\"),\n\t\t\tMaxConnections:                          pulumi.Int(1),\n\t\t\tName:                                    pulumi.String(\"My Remote server\"),\n\t\t\tOneDriveAccountType:                     pulumi.String(\"personal\"),\n\t\t\tPinToSiteRegion:                         pulumi.Bool(true),\n\t\t\tPort:                                    pulumi.Int(1),\n\t\t\tUploadStagingPath:                       pulumi.String(\"/tmp/uploads\"),\n\t\t\tRemoteServerCredentialId:                pulumi.Int(1),\n\t\t\tS3AssumeRoleArn:                         pulumi.String(\"example\"),\n\t\t\tS3AssumeRoleDurationSeconds:             pulumi.Int(1),\n\t\t\tS3Bucket:                                pulumi.String(\"my-bucket\"),\n\t\t\tS3CompatibleAccessKey:                   pulumi.String(\"example\"),\n\t\t\tS3CompatibleBucket:                      pulumi.String(\"my-bucket\"),\n\t\t\tS3CompatibleEndpoint:                    pulumi.String(\"mys3platform.com\"),\n\t\t\tS3CompatibleRegion:                      pulumi.String(\"us-east-1\"),\n\t\t\tS3CompatibleVirtualHostedStyle:          pulumi.Bool(true),\n\t\t\tS3Region:                                pulumi.String(\"us-east-1\"),\n\t\t\tServerCertificate:                       pulumi.String(\"require_match\"),\n\t\t\tServerHostKey:                           pulumi.String(\"[public key]\"),\n\t\t\tServerType:                              pulumi.String(\"s3\"),\n\t\t\tSharepointClientId:                      pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tSharepointSiteUrl:                       pulumi.String(\"https://example.sharepoint.com/sites/accounting\"),\n\t\t\tSharepointTenantId:                      pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tSsl:                                     pulumi.String(\"if_available\"),\n\t\t\tUsername:                                pulumi.String(\"user\"),\n\t\t\tWasabiAccessKey:                         pulumi.String(\"example\"),\n\t\t\tWasabiBucket:                            pulumi.String(\"my-bucket\"),\n\t\t\tWasabiRegion:                            pulumi.String(\"us-west-1\"),\n\t\t\tWorkspaceId:                             pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_remoteserver\" \"example_remote_server\" {\n  user_id                                       = 1\n  reset_authentication                          = false\n  allow_relative_paths                          = true\n  aws_access_key                                = \"example\"\n  azure_blob_storage_account                    = \"storage-account-name\"\n  azure_blob_storage_container                  = \"container-name\"\n  azure_blob_storage_dns_suffix                 = \"usgovcloudapi.net\"\n  azure_blob_storage_hierarchical_namespace     = true\n  azure_files_storage_account                   = \"storage-account-name\"\n  azure_files_storage_dns_suffix                = \"file.core.windows.net\"\n  azure_files_storage_share_name                = \"share-name\"\n  backblaze_b2_bucket                           = \"my-bucket\"\n  backblaze_b2_s3_endpoint                      = \"s3.us-west-001.backblazeb2.com\"\n  buffer_uploads                                = \"example\"\n  cloudflare_access_key                         = \"example\"\n  cloudflare_bucket                             = \"my-bucket\"\n  cloudflare_endpoint                           = \"https://\u003cACCOUNT_ID\u003e.r2.cloudflarestorage.com\"\n  description                                   = \"More information or notes about my server\"\n  dropbox_teams                                 = true\n  enable_dedicated_ips                          = true\n  filebase_access_key                           = \"example\"\n  filebase_bucket                               = \"my-bucket\"\n  files_agent_permission_set                    = \"read_write\"\n  files_agent_root                              = \"example\"\n  files_agent_version                           = \"example\"\n  outbound_agent_id                             = 1\n  google_cloud_storage_authentication_method    = \"json\"\n  google_cloud_storage_bucket                   = \"my-bucket\"\n  google_cloud_storage_oauth_scope              = \"https://www.googleapis.com/auth/devstorage.read_only\"\n  google_cloud_storage_project_id               = \"my-project\"\n  google_cloud_storage_s3_compatible_access_key = \"example\"\n  hostname                                      = \"remote-server.com\"\n  linode_access_key                             = \"example\"\n  linode_bucket                                 = \"my-bucket\"\n  linode_region                                 = \"us-east-1\"\n  max_connections                               = 1\n  name                                          = \"My Remote server\"\n  one_drive_account_type                        = \"personal\"\n  pin_to_site_region                            = true\n  port                                          = 1\n  upload_staging_path                           = \"/tmp/uploads\"\n  remote_server_credential_id                   = 1\n  s3_assume_role_arn                            = \"example\"\n  s3_assume_role_duration_seconds               = 1\n  s3_bucket                                     = \"my-bucket\"\n  s3_compatible_access_key                      = \"example\"\n  s3_compatible_bucket                          = \"my-bucket\"\n  s3_compatible_endpoint                        = \"mys3platform.com\"\n  s3_compatible_region                          = \"us-east-1\"\n  s3_compatible_virtual_hosted_style            = true\n  s3_region                                     = \"us-east-1\"\n  server_certificate                            = \"require_match\"\n  server_host_key                               = \"[public key]\"\n  server_type                                   = \"s3\"\n  sharepoint_client_id                          = \"00000000-0000-0000-0000-000000000000\"\n  sharepoint_site_url                           = \"https://example.sharepoint.com/sites/accounting\"\n  sharepoint_tenant_id                          = \"00000000-0000-0000-0000-000000000000\"\n  ssl                                           = \"if_available\"\n  username                                      = \"user\"\n  wasabi_access_key                             = \"example\"\n  wasabi_bucket                                 = \"my-bucket\"\n  wasabi_region                                 = \"us-west-1\"\n  workspace_id                                  = 0\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.RemoteServer;\nimport com.pulumi.filescom.RemoteServerArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleRemoteServer = new RemoteServer(\"exampleRemoteServer\", RemoteServerArgs.builder()\n            .userId(1)\n            .resetAuthentication(false)\n            .allowRelativePaths(true)\n            .awsAccessKey(\"example\")\n            .azureBlobStorageAccount(\"storage-account-name\")\n            .azureBlobStorageContainer(\"container-name\")\n            .azureBlobStorageDnsSuffix(\"usgovcloudapi.net\")\n            .azureBlobStorageHierarchicalNamespace(true)\n            .azureFilesStorageAccount(\"storage-account-name\")\n            .azureFilesStorageDnsSuffix(\"file.core.windows.net\")\n            .azureFilesStorageShareName(\"share-name\")\n            .backblazeB2Bucket(\"my-bucket\")\n            .backblazeB2S3Endpoint(\"s3.us-west-001.backblazeb2.com\")\n            .bufferUploads(\"example\")\n            .cloudflareAccessKey(\"example\")\n            .cloudflareBucket(\"my-bucket\")\n            .cloudflareEndpoint(\"https://\u003cACCOUNT_ID\u003e.r2.cloudflarestorage.com\")\n            .description(\"More information or notes about my server\")\n            .dropboxTeams(true)\n            .enableDedicatedIps(true)\n            .filebaseAccessKey(\"example\")\n            .filebaseBucket(\"my-bucket\")\n            .filesAgentPermissionSet(\"read_write\")\n            .filesAgentRoot(\"example\")\n            .filesAgentVersion(\"example\")\n            .outboundAgentId(1)\n            .googleCloudStorageAuthenticationMethod(\"json\")\n            .googleCloudStorageBucket(\"my-bucket\")\n            .googleCloudStorageOauthScope(\"https://www.googleapis.com/auth/devstorage.read_only\")\n            .googleCloudStorageProjectId(\"my-project\")\n            .googleCloudStorageS3CompatibleAccessKey(\"example\")\n            .hostname(\"remote-server.com\")\n            .linodeAccessKey(\"example\")\n            .linodeBucket(\"my-bucket\")\n            .linodeRegion(\"us-east-1\")\n            .maxConnections(1)\n            .name(\"My Remote server\")\n            .oneDriveAccountType(\"personal\")\n            .pinToSiteRegion(true)\n            .port(1)\n            .uploadStagingPath(\"/tmp/uploads\")\n            .remoteServerCredentialId(1)\n            .s3AssumeRoleArn(\"example\")\n            .s3AssumeRoleDurationSeconds(1)\n            .s3Bucket(\"my-bucket\")\n            .s3CompatibleAccessKey(\"example\")\n            .s3CompatibleBucket(\"my-bucket\")\n            .s3CompatibleEndpoint(\"mys3platform.com\")\n            .s3CompatibleRegion(\"us-east-1\")\n            .s3CompatibleVirtualHostedStyle(true)\n            .s3Region(\"us-east-1\")\n            .serverCertificate(\"require_match\")\n            .serverHostKey(\"[public key]\")\n            .serverType(\"s3\")\n            .sharepointClientId(\"00000000-0000-0000-0000-000000000000\")\n            .sharepointSiteUrl(\"https://example.sharepoint.com/sites/accounting\")\n            .sharepointTenantId(\"00000000-0000-0000-0000-000000000000\")\n            .ssl(\"if_available\")\n            .username(\"user\")\n            .wasabiAccessKey(\"example\")\n            .wasabiBucket(\"my-bucket\")\n            .wasabiRegion(\"us-west-1\")\n            .workspaceId(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleRemoteServer:\n    type: filescom:RemoteServer\n    name: example_remote_server\n    properties:\n      userId: 1\n      resetAuthentication: false\n      allowRelativePaths: true\n      awsAccessKey: example\n      azureBlobStorageAccount: storage-account-name\n      azureBlobStorageContainer: container-name\n      azureBlobStorageDnsSuffix: usgovcloudapi.net\n      azureBlobStorageHierarchicalNamespace: true\n      azureFilesStorageAccount: storage-account-name\n      azureFilesStorageDnsSuffix: file.core.windows.net\n      azureFilesStorageShareName: share-name\n      backblazeB2Bucket: my-bucket\n      backblazeB2S3Endpoint: s3.us-west-001.backblazeb2.com\n      bufferUploads: example\n      cloudflareAccessKey: example\n      cloudflareBucket: my-bucket\n      cloudflareEndpoint: https://\u003cACCOUNT_ID\u003e.r2.cloudflarestorage.com\n      description: More information or notes about my server\n      dropboxTeams: true\n      enableDedicatedIps: true\n      filebaseAccessKey: example\n      filebaseBucket: my-bucket\n      filesAgentPermissionSet: read_write\n      filesAgentRoot: example\n      filesAgentVersion: example\n      outboundAgentId: 1\n      googleCloudStorageAuthenticationMethod: json\n      googleCloudStorageBucket: my-bucket\n      googleCloudStorageOauthScope: https://www.googleapis.com/auth/devstorage.read_only\n      googleCloudStorageProjectId: my-project\n      googleCloudStorageS3CompatibleAccessKey: example\n      hostname: remote-server.com\n      linodeAccessKey: example\n      linodeBucket: my-bucket\n      linodeRegion: us-east-1\n      maxConnections: 1\n      name: My Remote server\n      oneDriveAccountType: personal\n      pinToSiteRegion: true\n      port: 1\n      uploadStagingPath: /tmp/uploads\n      remoteServerCredentialId: 1\n      s3AssumeRoleArn: example\n      s3AssumeRoleDurationSeconds: 1\n      s3Bucket: my-bucket\n      s3CompatibleAccessKey: example\n      s3CompatibleBucket: my-bucket\n      s3CompatibleEndpoint: mys3platform.com\n      s3CompatibleRegion: us-east-1\n      s3CompatibleVirtualHostedStyle: true\n      s3Region: us-east-1\n      serverCertificate: require_match\n      serverHostKey: '[public key]'\n      serverType: s3\n      sharepointClientId: 00000000-0000-0000-0000-000000000000\n      sharepointSiteUrl: https://example.sharepoint.com/sites/accounting\n      sharepointTenantId: 00000000-0000-0000-0000-000000000000\n      ssl: if_available\n      username: user\n      wasabiAccessKey: example\n      wasabiBucket: my-bucket\n      wasabiRegion: us-west-1\n      workspaceId: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nRemote Servers can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/remoteServer:RemoteServer example_remote_server 1\n```\n\n",
            "properties": {
                "allowRelativePaths": {
                    "type": "boolean",
                    "description": "Allow relative paths in SFTP. If true, paths will not be forced to be absolute, allowing operations relative to the user's home directory."
                },
                "authAccountName": {
                    "type": "string",
                    "description": "Describes the authorized account"
                },
                "authStatus": {
                    "type": "string",
                    "description": "Either \u003cspan pulumi-lang-nodejs=\"`inSetup`\" pulumi-lang-dotnet=\"`InSetup`\" pulumi-lang-go=\"`inSetup`\" pulumi-lang-python=\"`in_setup`\" pulumi-lang-yaml=\"`inSetup`\" pulumi-lang-java=\"`inSetup`\" pulumi-lang-hcl=\"`in_setup`\"\u003e`inSetup`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`complete`\" pulumi-lang-dotnet=\"`Complete`\" pulumi-lang-go=\"`complete`\" pulumi-lang-python=\"`complete`\" pulumi-lang-yaml=\"`complete`\" pulumi-lang-java=\"`complete`\" pulumi-lang-hcl=\"`complete`\"\u003e`complete`\u003c/span\u003e"
                },
                "authenticationMethod": {
                    "type": "string",
                    "description": "Type of authentication method to use"
                },
                "awsAccessKey": {
                    "type": "string",
                    "description": "AWS Access Key."
                },
                "awsSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAWS: secret key.",
                    "secret": true
                },
                "azureBlobStorageAccessKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAzure Blob Storage: Access Key",
                    "secret": true
                },
                "azureBlobStorageAccount": {
                    "type": "string",
                    "description": "Azure Blob Storage: Account name"
                },
                "azureBlobStorageContainer": {
                    "type": "string",
                    "description": "Azure Blob Storage: Container name"
                },
                "azureBlobStorageDnsSuffix": {
                    "type": "string",
                    "description": "Azure Blob Storage: Custom DNS suffix"
                },
                "azureBlobStorageHierarchicalNamespace": {
                    "type": "boolean",
                    "description": "Azure Blob Storage: Does the storage account has hierarchical namespace feature enabled?"
                },
                "azureBlobStorageSasToken": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAzure Blob Storage: Shared Access Signature (SAS) token",
                    "secret": true
                },
                "azureFilesStorageAccessKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAzure File Storage: Access Key",
                    "secret": true
                },
                "azureFilesStorageAccount": {
                    "type": "string",
                    "description": "Azure Files: Storage Account name"
                },
                "azureFilesStorageDnsSuffix": {
                    "type": "string",
                    "description": "Azure Files: Custom DNS suffix"
                },
                "azureFilesStorageSasToken": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAzure File Storage: Shared Access Signature (SAS) token",
                    "secret": true
                },
                "azureFilesStorageShareName": {
                    "type": "string",
                    "description": "Azure Files:  Storage Share name"
                },
                "backblazeB2ApplicationKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nBackblaze B2 Cloud Storage: applicationKey",
                    "secret": true
                },
                "backblazeB2Bucket": {
                    "type": "string",
                    "description": "Backblaze B2 Cloud Storage: Bucket name"
                },
                "backblazeB2KeyId": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nBackblaze B2 Cloud Storage: keyID",
                    "secret": true
                },
                "backblazeB2S3Endpoint": {
                    "type": "string",
                    "description": "Backblaze B2 Cloud Storage: S3 Endpoint"
                },
                "bufferUploads": {
                    "type": "string",
                    "description": "If set to always, uploads to this server will be uploaded first to Files.com before being sent to the remote server. This can improve performance in certain access patterns, such as high-latency connections.  It will cause data to be temporarily stored in Files.com. If set to auto, we will perform this optimization if we believe it to be a benefit in a given situation."
                },
                "cloudflareAccessKey": {
                    "type": "string",
                    "description": "Cloudflare: Access Key."
                },
                "cloudflareBucket": {
                    "type": "string",
                    "description": "Cloudflare: Bucket name"
                },
                "cloudflareEndpoint": {
                    "type": "string",
                    "description": "Cloudflare: endpoint"
                },
                "cloudflareSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nCloudflare: Secret Key",
                    "secret": true
                },
                "description": {
                    "type": "string",
                    "description": "Internal description for your reference"
                },
                "directTransferAvailable": {
                    "type": "boolean",
                    "description": "Whether the Files Agent Proxy recently validated a direct transfer connection. \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e means a direct connection was recently validated (actual availability can vary by client network), \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e means direct transfers are enabled but not currently available, and \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e means direct transfers are disabled or unsupported. Only provided for a connected Files Agent when showing a single Remote Server."
                },
                "disabled": {
                    "type": "boolean",
                    "description": "If true, this Remote Server has been disabled due to failures.  Make any change or set disabled to false to clear this flag."
                },
                "dropboxTeams": {
                    "type": "boolean",
                    "description": "Dropbox: If true, list Team folders in root?"
                },
                "enableDedicatedIps": {
                    "type": "boolean",
                    "description": "\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e if remote server only accepts connections from dedicated IPs"
                },
                "filebaseAccessKey": {
                    "type": "string",
                    "description": "Filebase: Access Key."
                },
                "filebaseBucket": {
                    "type": "string",
                    "description": "Filebase: Bucket name"
                },
                "filebaseSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nFilebase: Secret Key",
                    "secret": true
                },
                "filesAgentApiToken": {
                    "type": "string",
                    "description": "Files Agent API Token"
                },
                "filesAgentLatestVersion": {
                    "type": "string",
                    "description": "Latest available Files Agent version"
                },
                "filesAgentPermissionSet": {
                    "type": "string",
                    "description": "Local permissions for files agent. read_only, write_only, or read_write"
                },
                "filesAgentRoot": {
                    "type": "string",
                    "description": "Agent local root path"
                },
                "filesAgentSupportsPushUpdates": {
                    "type": "boolean",
                    "description": "Files Agent supports receiving push updates"
                },
                "filesAgentUpToDate": {
                    "type": "boolean",
                    "description": "If true, the Files Agent is up to date."
                },
                "filesAgentVersion": {
                    "type": "string",
                    "description": "Files Agent version"
                },
                "filesApiKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nFiles.com direct link: API key used once to pair the remote server.",
                    "secret": true
                },
                "filesApiKeyPrefix": {
                    "type": "string",
                    "description": "Files.com direct link: paired API key prefix."
                },
                "googleCloudStorageAuthenticationMethod": {
                    "type": "string",
                    "description": "Google Cloud Storage: Authentication method. Can be json, hmac, or oauth."
                },
                "googleCloudStorageBucket": {
                    "type": "string",
                    "description": "Google Cloud Storage: Bucket Name"
                },
                "googleCloudStorageCredentialsJson": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nGoogle Cloud Storage: JSON file that contains the private key. To generate see https://cloud.google.com/storage/docs/json_api/v1/how-tos/authorizing#APIKey",
                    "secret": true
                },
                "googleCloudStorageOauthScope": {
                    "type": "string",
                    "description": "Google Cloud Storage: OAuth scope. Can be https://www.googleapis.com/auth/devstorage.read_only or https://www.googleapis.com/auth/devstorage.read_write."
                },
                "googleCloudStorageProjectId": {
                    "type": "string",
                    "description": "Google Cloud Storage: Project ID"
                },
                "googleCloudStorageS3CompatibleAccessKey": {
                    "type": "string",
                    "description": "Google Cloud Storage: S3-compatible Access Key."
                },
                "googleCloudStorageS3CompatibleSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nGoogle Cloud Storage: S3-compatible secret key",
                    "secret": true
                },
                "hostname": {
                    "type": "string",
                    "description": "Hostname or IP address"
                },
                "linodeAccessKey": {
                    "type": "string",
                    "description": "Linode: Access Key"
                },
                "linodeBucket": {
                    "type": "string",
                    "description": "Linode: Bucket name"
                },
                "linodeRegion": {
                    "type": "string",
                    "description": "Linode: region"
                },
                "linodeSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nLinode: Secret Key",
                    "secret": true
                },
                "maxConnections": {
                    "type": "integer",
                    "description": "Max number of parallel connections.  Ignored for S3 connections (we will parallelize these as much as possible)."
                },
                "name": {
                    "type": "string",
                    "description": "Internal name for your reference"
                },
                "oneDriveAccountType": {
                    "type": "string",
                    "description": "OneDrive: Either personal or\u003cspan pulumi-lang-nodejs=\" businessOther \" pulumi-lang-dotnet=\" BusinessOther \" pulumi-lang-go=\" businessOther \" pulumi-lang-python=\" business_other \" pulumi-lang-yaml=\" businessOther \" pulumi-lang-java=\" businessOther \" pulumi-lang-hcl=\" business_other \"\u003e businessOther \u003c/span\u003eaccount types"
                },
                "outboundAgentId": {
                    "type": "integer",
                    "description": "Route traffic to outbound on a files-agent"
                },
                "password": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPassword, if needed.",
                    "secret": true
                },
                "pinToSiteRegion": {
                    "type": "boolean",
                    "description": "If true, we will ensure that all communications with this remote server are made through the primary region of the site.  This setting can also be overridden by a site-wide setting which will force it to true."
                },
                "pinnedRegion": {
                    "type": "string",
                    "description": "If set, all communications with this remote server are made through the provided region."
                },
                "port": {
                    "type": "integer",
                    "description": "Port for remote server."
                },
                "privateKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPrivate key, if needed.",
                    "secret": true
                },
                "privateKeyPassphrase": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPassphrase for private key if needed.",
                    "secret": true
                },
                "remoteHomePath": {
                    "type": "string",
                    "description": "Initial home folder on remote server"
                },
                "remoteServerCredentialId": {
                    "type": "integer",
                    "description": "ID of Remote Server Credential, if applicable."
                },
                "resetAuthentication": {
                    "type": "boolean",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nReset authenticated account?",
                    "secret": true
                },
                "s3AssumeRoleArn": {
                    "type": "string",
                    "description": "AWS IAM Role ARN for AssumeRole authentication."
                },
                "s3AssumeRoleDurationSeconds": {
                    "type": "integer",
                    "description": "Session duration in seconds for AssumeRole authentication (900-43200)."
                },
                "s3AssumeRoleExternalId": {
                    "type": "string",
                    "description": "External ID for AssumeRole authentication."
                },
                "s3Bucket": {
                    "type": "string",
                    "description": "S3 bucket name"
                },
                "s3CompatibleAccessKey": {
                    "type": "string",
                    "description": "S3-compatible: Access Key"
                },
                "s3CompatibleBucket": {
                    "type": "string",
                    "description": "S3-compatible: Bucket name"
                },
                "s3CompatibleEndpoint": {
                    "type": "string",
                    "description": "S3-compatible: endpoint"
                },
                "s3CompatibleRegion": {
                    "type": "string",
                    "description": "S3-compatible: region"
                },
                "s3CompatibleSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nS3-compatible: Secret Key",
                    "secret": true
                },
                "s3CompatibleVirtualHostedStyle": {
                    "type": "boolean",
                    "description": "S3-compatible: If true, use virtual-hosted-style URLs instead of path-style URLs"
                },
                "s3Region": {
                    "type": "string",
                    "description": "S3 region"
                },
                "serverCertificate": {
                    "type": "string",
                    "description": "Remote server certificate"
                },
                "serverHostKey": {
                    "type": "string",
                    "description": "Remote server SSH Host Key. If provided, we will require that the server host key matches the provided key. Uses OpenSSH format similar to what would go into ~/.ssh/known_hosts"
                },
                "serverType": {
                    "type": "string",
                    "description": "Remote server type."
                },
                "sharepointAppAuthentication": {
                    "type": "boolean",
                    "description": "SharePoint: If true, this remote server uses Microsoft Entra app-only authentication."
                },
                "sharepointAppCredentialType": {
                    "type": "string",
                    "description": "SharePoint: App-only credential type. Either secret or certificate."
                },
                "sharepointClientCertificate": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nSharePoint: PEM-encoded certificate and unencrypted private key for app-only authentication.",
                    "secret": true
                },
                "sharepointClientId": {
                    "type": "string",
                    "description": "SharePoint: Microsoft Entra application client ID for app-only authentication."
                },
                "sharepointClientSecret": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nSharePoint: Microsoft Entra application client secret for app-only authentication.",
                    "secret": true
                },
                "sharepointSiteUrl": {
                    "type": "string",
                    "description": "SharePoint: Site URL to scope app-only authentication to a single site. Leave blank to browse all sites."
                },
                "sharepointTenantId": {
                    "type": "string",
                    "description": "SharePoint: Microsoft Entra tenant ID for app-only authentication."
                },
                "ssl": {
                    "type": "string",
                    "description": "Should we require SSL?"
                },
                "sslCertificate": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nSSL client certificate.",
                    "secret": true
                },
                "supportsVersioning": {
                    "type": "boolean",
                    "description": "If true, this remote server supports file versioning. This value is determined automatically by Files.com."
                },
                "uploadStagingPath": {
                    "type": "string",
                    "description": "Upload staging path.  Applies to SFTP only.  If a path is provided here, files will first be uploaded to this path on the remote folder and the moved into the final correct path via an SFTP move command.  This is required by some remote MFT systems to emulate atomic uploads, which are otherwise not supoprted by SFTP."
                },
                "userId": {
                    "type": "integer",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nUser ID.  Provide a value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e to operate the current session's user.",
                    "secret": true
                },
                "username": {
                    "type": "string",
                    "description": "Remote server username."
                },
                "wasabiAccessKey": {
                    "type": "string",
                    "description": "Wasabi: Access Key."
                },
                "wasabiBucket": {
                    "type": "string",
                    "description": "Wasabi: Bucket name"
                },
                "wasabiRegion": {
                    "type": "string",
                    "description": "Wasabi: Region"
                },
                "wasabiSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nWasabi: Secret Key",
                    "secret": true
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID (0 for default workspace)"
                }
            },
            "required": [
                "allowRelativePaths",
                "authAccountName",
                "authStatus",
                "authenticationMethod",
                "awsAccessKey",
                "azureBlobStorageAccount",
                "azureBlobStorageContainer",
                "azureBlobStorageDnsSuffix",
                "azureBlobStorageHierarchicalNamespace",
                "azureFilesStorageAccount",
                "azureFilesStorageDnsSuffix",
                "azureFilesStorageShareName",
                "backblazeB2Bucket",
                "backblazeB2S3Endpoint",
                "bufferUploads",
                "cloudflareAccessKey",
                "cloudflareBucket",
                "cloudflareEndpoint",
                "description",
                "directTransferAvailable",
                "disabled",
                "dropboxTeams",
                "enableDedicatedIps",
                "filebaseAccessKey",
                "filebaseBucket",
                "filesAgentApiToken",
                "filesAgentLatestVersion",
                "filesAgentPermissionSet",
                "filesAgentRoot",
                "filesAgentSupportsPushUpdates",
                "filesAgentUpToDate",
                "filesAgentVersion",
                "filesApiKeyPrefix",
                "googleCloudStorageAuthenticationMethod",
                "googleCloudStorageBucket",
                "googleCloudStorageOauthScope",
                "googleCloudStorageProjectId",
                "googleCloudStorageS3CompatibleAccessKey",
                "hostname",
                "linodeAccessKey",
                "linodeBucket",
                "linodeRegion",
                "maxConnections",
                "name",
                "oneDriveAccountType",
                "outboundAgentId",
                "pinToSiteRegion",
                "pinnedRegion",
                "port",
                "remoteHomePath",
                "remoteServerCredentialId",
                "s3AssumeRoleArn",
                "s3AssumeRoleDurationSeconds",
                "s3AssumeRoleExternalId",
                "s3Bucket",
                "s3CompatibleAccessKey",
                "s3CompatibleBucket",
                "s3CompatibleEndpoint",
                "s3CompatibleRegion",
                "s3CompatibleVirtualHostedStyle",
                "s3Region",
                "serverCertificate",
                "serverHostKey",
                "serverType",
                "sharepointAppAuthentication",
                "sharepointAppCredentialType",
                "sharepointClientId",
                "sharepointSiteUrl",
                "sharepointTenantId",
                "ssl",
                "supportsVersioning",
                "uploadStagingPath",
                "username",
                "wasabiAccessKey",
                "wasabiBucket",
                "wasabiRegion",
                "workspaceId"
            ],
            "inputProperties": {
                "allowRelativePaths": {
                    "type": "boolean",
                    "description": "Allow relative paths in SFTP. If true, paths will not be forced to be absolute, allowing operations relative to the user's home directory."
                },
                "awsAccessKey": {
                    "type": "string",
                    "description": "AWS Access Key."
                },
                "awsSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAWS: secret key.",
                    "secret": true
                },
                "azureBlobStorageAccessKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAzure Blob Storage: Access Key",
                    "secret": true
                },
                "azureBlobStorageAccount": {
                    "type": "string",
                    "description": "Azure Blob Storage: Account name"
                },
                "azureBlobStorageContainer": {
                    "type": "string",
                    "description": "Azure Blob Storage: Container name"
                },
                "azureBlobStorageDnsSuffix": {
                    "type": "string",
                    "description": "Azure Blob Storage: Custom DNS suffix"
                },
                "azureBlobStorageHierarchicalNamespace": {
                    "type": "boolean",
                    "description": "Azure Blob Storage: Does the storage account has hierarchical namespace feature enabled?"
                },
                "azureBlobStorageSasToken": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAzure Blob Storage: Shared Access Signature (SAS) token",
                    "secret": true
                },
                "azureFilesStorageAccessKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAzure File Storage: Access Key",
                    "secret": true
                },
                "azureFilesStorageAccount": {
                    "type": "string",
                    "description": "Azure Files: Storage Account name"
                },
                "azureFilesStorageDnsSuffix": {
                    "type": "string",
                    "description": "Azure Files: Custom DNS suffix"
                },
                "azureFilesStorageSasToken": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAzure File Storage: Shared Access Signature (SAS) token",
                    "secret": true
                },
                "azureFilesStorageShareName": {
                    "type": "string",
                    "description": "Azure Files:  Storage Share name"
                },
                "backblazeB2ApplicationKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nBackblaze B2 Cloud Storage: applicationKey",
                    "secret": true
                },
                "backblazeB2Bucket": {
                    "type": "string",
                    "description": "Backblaze B2 Cloud Storage: Bucket name"
                },
                "backblazeB2KeyId": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nBackblaze B2 Cloud Storage: keyID",
                    "secret": true
                },
                "backblazeB2S3Endpoint": {
                    "type": "string",
                    "description": "Backblaze B2 Cloud Storage: S3 Endpoint"
                },
                "bufferUploads": {
                    "type": "string",
                    "description": "If set to always, uploads to this server will be uploaded first to Files.com before being sent to the remote server. This can improve performance in certain access patterns, such as high-latency connections.  It will cause data to be temporarily stored in Files.com. If set to auto, we will perform this optimization if we believe it to be a benefit in a given situation."
                },
                "cloudflareAccessKey": {
                    "type": "string",
                    "description": "Cloudflare: Access Key."
                },
                "cloudflareBucket": {
                    "type": "string",
                    "description": "Cloudflare: Bucket name"
                },
                "cloudflareEndpoint": {
                    "type": "string",
                    "description": "Cloudflare: endpoint"
                },
                "cloudflareSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nCloudflare: Secret Key",
                    "secret": true
                },
                "description": {
                    "type": "string",
                    "description": "Internal description for your reference"
                },
                "dropboxTeams": {
                    "type": "boolean",
                    "description": "Dropbox: If true, list Team folders in root?"
                },
                "enableDedicatedIps": {
                    "type": "boolean",
                    "description": "\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e if remote server only accepts connections from dedicated IPs"
                },
                "filebaseAccessKey": {
                    "type": "string",
                    "description": "Filebase: Access Key."
                },
                "filebaseBucket": {
                    "type": "string",
                    "description": "Filebase: Bucket name"
                },
                "filebaseSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nFilebase: Secret Key",
                    "secret": true
                },
                "filesAgentPermissionSet": {
                    "type": "string",
                    "description": "Local permissions for files agent. read_only, write_only, or read_write"
                },
                "filesAgentRoot": {
                    "type": "string",
                    "description": "Agent local root path"
                },
                "filesAgentVersion": {
                    "type": "string",
                    "description": "Files Agent version"
                },
                "filesApiKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nFiles.com direct link: API key used once to pair the remote server.",
                    "secret": true
                },
                "googleCloudStorageAuthenticationMethod": {
                    "type": "string",
                    "description": "Google Cloud Storage: Authentication method. Can be json, hmac, or oauth."
                },
                "googleCloudStorageBucket": {
                    "type": "string",
                    "description": "Google Cloud Storage: Bucket Name"
                },
                "googleCloudStorageCredentialsJson": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nGoogle Cloud Storage: JSON file that contains the private key. To generate see https://cloud.google.com/storage/docs/json_api/v1/how-tos/authorizing#APIKey",
                    "secret": true
                },
                "googleCloudStorageOauthScope": {
                    "type": "string",
                    "description": "Google Cloud Storage: OAuth scope. Can be https://www.googleapis.com/auth/devstorage.read_only or https://www.googleapis.com/auth/devstorage.read_write."
                },
                "googleCloudStorageProjectId": {
                    "type": "string",
                    "description": "Google Cloud Storage: Project ID"
                },
                "googleCloudStorageS3CompatibleAccessKey": {
                    "type": "string",
                    "description": "Google Cloud Storage: S3-compatible Access Key."
                },
                "googleCloudStorageS3CompatibleSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nGoogle Cloud Storage: S3-compatible secret key",
                    "secret": true
                },
                "hostname": {
                    "type": "string",
                    "description": "Hostname or IP address"
                },
                "linodeAccessKey": {
                    "type": "string",
                    "description": "Linode: Access Key"
                },
                "linodeBucket": {
                    "type": "string",
                    "description": "Linode: Bucket name"
                },
                "linodeRegion": {
                    "type": "string",
                    "description": "Linode: region"
                },
                "linodeSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nLinode: Secret Key",
                    "secret": true
                },
                "maxConnections": {
                    "type": "integer",
                    "description": "Max number of parallel connections.  Ignored for S3 connections (we will parallelize these as much as possible)."
                },
                "name": {
                    "type": "string",
                    "description": "Internal name for your reference"
                },
                "oneDriveAccountType": {
                    "type": "string",
                    "description": "OneDrive: Either personal or\u003cspan pulumi-lang-nodejs=\" businessOther \" pulumi-lang-dotnet=\" BusinessOther \" pulumi-lang-go=\" businessOther \" pulumi-lang-python=\" business_other \" pulumi-lang-yaml=\" businessOther \" pulumi-lang-java=\" businessOther \" pulumi-lang-hcl=\" business_other \"\u003e businessOther \u003c/span\u003eaccount types"
                },
                "outboundAgentId": {
                    "type": "integer",
                    "description": "Route traffic to outbound on a files-agent"
                },
                "password": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPassword, if needed.",
                    "secret": true
                },
                "pinToSiteRegion": {
                    "type": "boolean",
                    "description": "If true, we will ensure that all communications with this remote server are made through the primary region of the site.  This setting can also be overridden by a site-wide setting which will force it to true."
                },
                "port": {
                    "type": "integer",
                    "description": "Port for remote server."
                },
                "privateKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPrivate key, if needed.",
                    "secret": true
                },
                "privateKeyPassphrase": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPassphrase for private key if needed.",
                    "secret": true
                },
                "remoteServerCredentialId": {
                    "type": "integer",
                    "description": "ID of Remote Server Credential, if applicable."
                },
                "resetAuthentication": {
                    "type": "boolean",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nReset authenticated account?",
                    "secret": true
                },
                "s3AssumeRoleArn": {
                    "type": "string",
                    "description": "AWS IAM Role ARN for AssumeRole authentication."
                },
                "s3AssumeRoleDurationSeconds": {
                    "type": "integer",
                    "description": "Session duration in seconds for AssumeRole authentication (900-43200)."
                },
                "s3Bucket": {
                    "type": "string",
                    "description": "S3 bucket name"
                },
                "s3CompatibleAccessKey": {
                    "type": "string",
                    "description": "S3-compatible: Access Key"
                },
                "s3CompatibleBucket": {
                    "type": "string",
                    "description": "S3-compatible: Bucket name"
                },
                "s3CompatibleEndpoint": {
                    "type": "string",
                    "description": "S3-compatible: endpoint"
                },
                "s3CompatibleRegion": {
                    "type": "string",
                    "description": "S3-compatible: region"
                },
                "s3CompatibleSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nS3-compatible: Secret Key",
                    "secret": true
                },
                "s3CompatibleVirtualHostedStyle": {
                    "type": "boolean",
                    "description": "S3-compatible: If true, use virtual-hosted-style URLs instead of path-style URLs"
                },
                "s3Region": {
                    "type": "string",
                    "description": "S3 region"
                },
                "serverCertificate": {
                    "type": "string",
                    "description": "Remote server certificate"
                },
                "serverHostKey": {
                    "type": "string",
                    "description": "Remote server SSH Host Key. If provided, we will require that the server host key matches the provided key. Uses OpenSSH format similar to what would go into ~/.ssh/known_hosts"
                },
                "serverType": {
                    "type": "string",
                    "description": "Remote server type."
                },
                "sharepointClientCertificate": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nSharePoint: PEM-encoded certificate and unencrypted private key for app-only authentication.",
                    "secret": true
                },
                "sharepointClientId": {
                    "type": "string",
                    "description": "SharePoint: Microsoft Entra application client ID for app-only authentication."
                },
                "sharepointClientSecret": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nSharePoint: Microsoft Entra application client secret for app-only authentication.",
                    "secret": true
                },
                "sharepointSiteUrl": {
                    "type": "string",
                    "description": "SharePoint: Site URL to scope app-only authentication to a single site. Leave blank to browse all sites."
                },
                "sharepointTenantId": {
                    "type": "string",
                    "description": "SharePoint: Microsoft Entra tenant ID for app-only authentication."
                },
                "ssl": {
                    "type": "string",
                    "description": "Should we require SSL?"
                },
                "sslCertificate": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nSSL client certificate.",
                    "secret": true
                },
                "uploadStagingPath": {
                    "type": "string",
                    "description": "Upload staging path.  Applies to SFTP only.  If a path is provided here, files will first be uploaded to this path on the remote folder and the moved into the final correct path via an SFTP move command.  This is required by some remote MFT systems to emulate atomic uploads, which are otherwise not supoprted by SFTP."
                },
                "userId": {
                    "type": "integer",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nUser ID.  Provide a value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e to operate the current session's user.",
                    "secret": true,
                    "willReplaceOnChanges": true
                },
                "username": {
                    "type": "string",
                    "description": "Remote server username."
                },
                "wasabiAccessKey": {
                    "type": "string",
                    "description": "Wasabi: Access Key."
                },
                "wasabiBucket": {
                    "type": "string",
                    "description": "Wasabi: Bucket name"
                },
                "wasabiRegion": {
                    "type": "string",
                    "description": "Wasabi: Region"
                },
                "wasabiSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nWasabi: Secret Key",
                    "secret": true
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID (0 for default workspace)",
                    "willReplaceOnChanges": true
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteServer resources.\n",
                "properties": {
                    "allowRelativePaths": {
                        "type": "boolean",
                        "description": "Allow relative paths in SFTP. If true, paths will not be forced to be absolute, allowing operations relative to the user's home directory."
                    },
                    "authAccountName": {
                        "type": "string",
                        "description": "Describes the authorized account"
                    },
                    "authStatus": {
                        "type": "string",
                        "description": "Either \u003cspan pulumi-lang-nodejs=\"`inSetup`\" pulumi-lang-dotnet=\"`InSetup`\" pulumi-lang-go=\"`inSetup`\" pulumi-lang-python=\"`in_setup`\" pulumi-lang-yaml=\"`inSetup`\" pulumi-lang-java=\"`inSetup`\" pulumi-lang-hcl=\"`in_setup`\"\u003e`inSetup`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`complete`\" pulumi-lang-dotnet=\"`Complete`\" pulumi-lang-go=\"`complete`\" pulumi-lang-python=\"`complete`\" pulumi-lang-yaml=\"`complete`\" pulumi-lang-java=\"`complete`\" pulumi-lang-hcl=\"`complete`\"\u003e`complete`\u003c/span\u003e"
                    },
                    "authenticationMethod": {
                        "type": "string",
                        "description": "Type of authentication method to use"
                    },
                    "awsAccessKey": {
                        "type": "string",
                        "description": "AWS Access Key."
                    },
                    "awsSecretKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAWS: secret key.",
                        "secret": true
                    },
                    "azureBlobStorageAccessKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAzure Blob Storage: Access Key",
                        "secret": true
                    },
                    "azureBlobStorageAccount": {
                        "type": "string",
                        "description": "Azure Blob Storage: Account name"
                    },
                    "azureBlobStorageContainer": {
                        "type": "string",
                        "description": "Azure Blob Storage: Container name"
                    },
                    "azureBlobStorageDnsSuffix": {
                        "type": "string",
                        "description": "Azure Blob Storage: Custom DNS suffix"
                    },
                    "azureBlobStorageHierarchicalNamespace": {
                        "type": "boolean",
                        "description": "Azure Blob Storage: Does the storage account has hierarchical namespace feature enabled?"
                    },
                    "azureBlobStorageSasToken": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAzure Blob Storage: Shared Access Signature (SAS) token",
                        "secret": true
                    },
                    "azureFilesStorageAccessKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAzure File Storage: Access Key",
                        "secret": true
                    },
                    "azureFilesStorageAccount": {
                        "type": "string",
                        "description": "Azure Files: Storage Account name"
                    },
                    "azureFilesStorageDnsSuffix": {
                        "type": "string",
                        "description": "Azure Files: Custom DNS suffix"
                    },
                    "azureFilesStorageSasToken": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAzure File Storage: Shared Access Signature (SAS) token",
                        "secret": true
                    },
                    "azureFilesStorageShareName": {
                        "type": "string",
                        "description": "Azure Files:  Storage Share name"
                    },
                    "backblazeB2ApplicationKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nBackblaze B2 Cloud Storage: applicationKey",
                        "secret": true
                    },
                    "backblazeB2Bucket": {
                        "type": "string",
                        "description": "Backblaze B2 Cloud Storage: Bucket name"
                    },
                    "backblazeB2KeyId": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nBackblaze B2 Cloud Storage: keyID",
                        "secret": true
                    },
                    "backblazeB2S3Endpoint": {
                        "type": "string",
                        "description": "Backblaze B2 Cloud Storage: S3 Endpoint"
                    },
                    "bufferUploads": {
                        "type": "string",
                        "description": "If set to always, uploads to this server will be uploaded first to Files.com before being sent to the remote server. This can improve performance in certain access patterns, such as high-latency connections.  It will cause data to be temporarily stored in Files.com. If set to auto, we will perform this optimization if we believe it to be a benefit in a given situation."
                    },
                    "cloudflareAccessKey": {
                        "type": "string",
                        "description": "Cloudflare: Access Key."
                    },
                    "cloudflareBucket": {
                        "type": "string",
                        "description": "Cloudflare: Bucket name"
                    },
                    "cloudflareEndpoint": {
                        "type": "string",
                        "description": "Cloudflare: endpoint"
                    },
                    "cloudflareSecretKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nCloudflare: Secret Key",
                        "secret": true
                    },
                    "description": {
                        "type": "string",
                        "description": "Internal description for your reference"
                    },
                    "directTransferAvailable": {
                        "type": "boolean",
                        "description": "Whether the Files Agent Proxy recently validated a direct transfer connection. \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e means a direct connection was recently validated (actual availability can vary by client network), \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e means direct transfers are enabled but not currently available, and \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e means direct transfers are disabled or unsupported. Only provided for a connected Files Agent when showing a single Remote Server."
                    },
                    "disabled": {
                        "type": "boolean",
                        "description": "If true, this Remote Server has been disabled due to failures.  Make any change or set disabled to false to clear this flag."
                    },
                    "dropboxTeams": {
                        "type": "boolean",
                        "description": "Dropbox: If true, list Team folders in root?"
                    },
                    "enableDedicatedIps": {
                        "type": "boolean",
                        "description": "\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e if remote server only accepts connections from dedicated IPs"
                    },
                    "filebaseAccessKey": {
                        "type": "string",
                        "description": "Filebase: Access Key."
                    },
                    "filebaseBucket": {
                        "type": "string",
                        "description": "Filebase: Bucket name"
                    },
                    "filebaseSecretKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nFilebase: Secret Key",
                        "secret": true
                    },
                    "filesAgentApiToken": {
                        "type": "string",
                        "description": "Files Agent API Token"
                    },
                    "filesAgentLatestVersion": {
                        "type": "string",
                        "description": "Latest available Files Agent version"
                    },
                    "filesAgentPermissionSet": {
                        "type": "string",
                        "description": "Local permissions for files agent. read_only, write_only, or read_write"
                    },
                    "filesAgentRoot": {
                        "type": "string",
                        "description": "Agent local root path"
                    },
                    "filesAgentSupportsPushUpdates": {
                        "type": "boolean",
                        "description": "Files Agent supports receiving push updates"
                    },
                    "filesAgentUpToDate": {
                        "type": "boolean",
                        "description": "If true, the Files Agent is up to date."
                    },
                    "filesAgentVersion": {
                        "type": "string",
                        "description": "Files Agent version"
                    },
                    "filesApiKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nFiles.com direct link: API key used once to pair the remote server.",
                        "secret": true
                    },
                    "filesApiKeyPrefix": {
                        "type": "string",
                        "description": "Files.com direct link: paired API key prefix."
                    },
                    "googleCloudStorageAuthenticationMethod": {
                        "type": "string",
                        "description": "Google Cloud Storage: Authentication method. Can be json, hmac, or oauth."
                    },
                    "googleCloudStorageBucket": {
                        "type": "string",
                        "description": "Google Cloud Storage: Bucket Name"
                    },
                    "googleCloudStorageCredentialsJson": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nGoogle Cloud Storage: JSON file that contains the private key. To generate see https://cloud.google.com/storage/docs/json_api/v1/how-tos/authorizing#APIKey",
                        "secret": true
                    },
                    "googleCloudStorageOauthScope": {
                        "type": "string",
                        "description": "Google Cloud Storage: OAuth scope. Can be https://www.googleapis.com/auth/devstorage.read_only or https://www.googleapis.com/auth/devstorage.read_write."
                    },
                    "googleCloudStorageProjectId": {
                        "type": "string",
                        "description": "Google Cloud Storage: Project ID"
                    },
                    "googleCloudStorageS3CompatibleAccessKey": {
                        "type": "string",
                        "description": "Google Cloud Storage: S3-compatible Access Key."
                    },
                    "googleCloudStorageS3CompatibleSecretKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nGoogle Cloud Storage: S3-compatible secret key",
                        "secret": true
                    },
                    "hostname": {
                        "type": "string",
                        "description": "Hostname or IP address"
                    },
                    "linodeAccessKey": {
                        "type": "string",
                        "description": "Linode: Access Key"
                    },
                    "linodeBucket": {
                        "type": "string",
                        "description": "Linode: Bucket name"
                    },
                    "linodeRegion": {
                        "type": "string",
                        "description": "Linode: region"
                    },
                    "linodeSecretKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nLinode: Secret Key",
                        "secret": true
                    },
                    "maxConnections": {
                        "type": "integer",
                        "description": "Max number of parallel connections.  Ignored for S3 connections (we will parallelize these as much as possible)."
                    },
                    "name": {
                        "type": "string",
                        "description": "Internal name for your reference"
                    },
                    "oneDriveAccountType": {
                        "type": "string",
                        "description": "OneDrive: Either personal or\u003cspan pulumi-lang-nodejs=\" businessOther \" pulumi-lang-dotnet=\" BusinessOther \" pulumi-lang-go=\" businessOther \" pulumi-lang-python=\" business_other \" pulumi-lang-yaml=\" businessOther \" pulumi-lang-java=\" businessOther \" pulumi-lang-hcl=\" business_other \"\u003e businessOther \u003c/span\u003eaccount types"
                    },
                    "outboundAgentId": {
                        "type": "integer",
                        "description": "Route traffic to outbound on a files-agent"
                    },
                    "password": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPassword, if needed.",
                        "secret": true
                    },
                    "pinToSiteRegion": {
                        "type": "boolean",
                        "description": "If true, we will ensure that all communications with this remote server are made through the primary region of the site.  This setting can also be overridden by a site-wide setting which will force it to true."
                    },
                    "pinnedRegion": {
                        "type": "string",
                        "description": "If set, all communications with this remote server are made through the provided region."
                    },
                    "port": {
                        "type": "integer",
                        "description": "Port for remote server."
                    },
                    "privateKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPrivate key, if needed.",
                        "secret": true
                    },
                    "privateKeyPassphrase": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPassphrase for private key if needed.",
                        "secret": true
                    },
                    "remoteHomePath": {
                        "type": "string",
                        "description": "Initial home folder on remote server"
                    },
                    "remoteServerCredentialId": {
                        "type": "integer",
                        "description": "ID of Remote Server Credential, if applicable."
                    },
                    "resetAuthentication": {
                        "type": "boolean",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nReset authenticated account?",
                        "secret": true
                    },
                    "s3AssumeRoleArn": {
                        "type": "string",
                        "description": "AWS IAM Role ARN for AssumeRole authentication."
                    },
                    "s3AssumeRoleDurationSeconds": {
                        "type": "integer",
                        "description": "Session duration in seconds for AssumeRole authentication (900-43200)."
                    },
                    "s3AssumeRoleExternalId": {
                        "type": "string",
                        "description": "External ID for AssumeRole authentication."
                    },
                    "s3Bucket": {
                        "type": "string",
                        "description": "S3 bucket name"
                    },
                    "s3CompatibleAccessKey": {
                        "type": "string",
                        "description": "S3-compatible: Access Key"
                    },
                    "s3CompatibleBucket": {
                        "type": "string",
                        "description": "S3-compatible: Bucket name"
                    },
                    "s3CompatibleEndpoint": {
                        "type": "string",
                        "description": "S3-compatible: endpoint"
                    },
                    "s3CompatibleRegion": {
                        "type": "string",
                        "description": "S3-compatible: region"
                    },
                    "s3CompatibleSecretKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nS3-compatible: Secret Key",
                        "secret": true
                    },
                    "s3CompatibleVirtualHostedStyle": {
                        "type": "boolean",
                        "description": "S3-compatible: If true, use virtual-hosted-style URLs instead of path-style URLs"
                    },
                    "s3Region": {
                        "type": "string",
                        "description": "S3 region"
                    },
                    "serverCertificate": {
                        "type": "string",
                        "description": "Remote server certificate"
                    },
                    "serverHostKey": {
                        "type": "string",
                        "description": "Remote server SSH Host Key. If provided, we will require that the server host key matches the provided key. Uses OpenSSH format similar to what would go into ~/.ssh/known_hosts"
                    },
                    "serverType": {
                        "type": "string",
                        "description": "Remote server type."
                    },
                    "sharepointAppAuthentication": {
                        "type": "boolean",
                        "description": "SharePoint: If true, this remote server uses Microsoft Entra app-only authentication."
                    },
                    "sharepointAppCredentialType": {
                        "type": "string",
                        "description": "SharePoint: App-only credential type. Either secret or certificate."
                    },
                    "sharepointClientCertificate": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nSharePoint: PEM-encoded certificate and unencrypted private key for app-only authentication.",
                        "secret": true
                    },
                    "sharepointClientId": {
                        "type": "string",
                        "description": "SharePoint: Microsoft Entra application client ID for app-only authentication."
                    },
                    "sharepointClientSecret": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nSharePoint: Microsoft Entra application client secret for app-only authentication.",
                        "secret": true
                    },
                    "sharepointSiteUrl": {
                        "type": "string",
                        "description": "SharePoint: Site URL to scope app-only authentication to a single site. Leave blank to browse all sites."
                    },
                    "sharepointTenantId": {
                        "type": "string",
                        "description": "SharePoint: Microsoft Entra tenant ID for app-only authentication."
                    },
                    "ssl": {
                        "type": "string",
                        "description": "Should we require SSL?"
                    },
                    "sslCertificate": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nSSL client certificate.",
                        "secret": true
                    },
                    "supportsVersioning": {
                        "type": "boolean",
                        "description": "If true, this remote server supports file versioning. This value is determined automatically by Files.com."
                    },
                    "uploadStagingPath": {
                        "type": "string",
                        "description": "Upload staging path.  Applies to SFTP only.  If a path is provided here, files will first be uploaded to this path on the remote folder and the moved into the final correct path via an SFTP move command.  This is required by some remote MFT systems to emulate atomic uploads, which are otherwise not supoprted by SFTP."
                    },
                    "userId": {
                        "type": "integer",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nUser ID.  Provide a value of \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e to operate the current session's user.",
                        "secret": true
                    },
                    "username": {
                        "type": "string",
                        "description": "Remote server username."
                    },
                    "wasabiAccessKey": {
                        "type": "string",
                        "description": "Wasabi: Access Key."
                    },
                    "wasabiBucket": {
                        "type": "string",
                        "description": "Wasabi: Bucket name"
                    },
                    "wasabiRegion": {
                        "type": "string",
                        "description": "Wasabi: Region"
                    },
                    "wasabiSecretKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nWasabi: Secret Key",
                        "secret": true
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID (0 for default workspace)"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/remoteServerCredential:RemoteServerCredential": {
            "description": "A RemoteServerCredential is a way to store a credential for Remote Servers in a centralized vault and then reference it from Remote Server definitions.\n\n\n\nThis allows you to manage your credentials in one place and avoid duplicating them across multiple Remote Server configurations. It also improves security.  You can manage the Remote Servers with Pulumi or with the API, and the credential stays in the vault.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleRemoteServerCredential = new filescom.RemoteServerCredential(\"example_remote_server_credential\", {\n    name: \"My Credential\",\n    description: \"More information or notes about this credential.\",\n    serverType: \"s3\",\n    awsAccessKey: \"example\",\n    s3AssumeRoleArn: \"example\",\n    s3AssumeRoleDurationSeconds: 1,\n    cloudflareAccessKey: \"example\",\n    filebaseAccessKey: \"example\",\n    googleCloudStorageS3CompatibleAccessKey: \"example\",\n    linodeAccessKey: \"example\",\n    s3CompatibleAccessKey: \"example\",\n    sharepointClientId: \"00000000-0000-0000-0000-000000000000\",\n    sharepointTenantId: \"00000000-0000-0000-0000-000000000000\",\n    username: \"user\",\n    wasabiAccessKey: \"example\",\n    workspaceId: 0,\n    copyValuesFromCredentialId: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_remote_server_credential = filescom.RemoteServerCredential(\"example_remote_server_credential\",\n    name=\"My Credential\",\n    description=\"More information or notes about this credential.\",\n    server_type=\"s3\",\n    aws_access_key=\"example\",\n    s3_assume_role_arn=\"example\",\n    s3_assume_role_duration_seconds=1,\n    cloudflare_access_key=\"example\",\n    filebase_access_key=\"example\",\n    google_cloud_storage_s3_compatible_access_key=\"example\",\n    linode_access_key=\"example\",\n    s3_compatible_access_key=\"example\",\n    sharepoint_client_id=\"00000000-0000-0000-0000-000000000000\",\n    sharepoint_tenant_id=\"00000000-0000-0000-0000-000000000000\",\n    username=\"user\",\n    wasabi_access_key=\"example\",\n    workspace_id=0,\n    copy_values_from_credential_id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleRemoteServerCredential = new Filescom.RemoteServerCredential(\"example_remote_server_credential\", new()\n    {\n        Name = \"My Credential\",\n        Description = \"More information or notes about this credential.\",\n        ServerType = \"s3\",\n        AwsAccessKey = \"example\",\n        S3AssumeRoleArn = \"example\",\n        S3AssumeRoleDurationSeconds = 1,\n        CloudflareAccessKey = \"example\",\n        FilebaseAccessKey = \"example\",\n        GoogleCloudStorageS3CompatibleAccessKey = \"example\",\n        LinodeAccessKey = \"example\",\n        S3CompatibleAccessKey = \"example\",\n        SharepointClientId = \"00000000-0000-0000-0000-000000000000\",\n        SharepointTenantId = \"00000000-0000-0000-0000-000000000000\",\n        Username = \"user\",\n        WasabiAccessKey = \"example\",\n        WorkspaceId = 0,\n        CopyValuesFromCredentialId = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewRemoteServerCredential(ctx, \"example_remote_server_credential\", \u0026filescom.RemoteServerCredentialArgs{\n\t\t\tName:                                    pulumi.String(\"My Credential\"),\n\t\t\tDescription:                             pulumi.String(\"More information or notes about this credential.\"),\n\t\t\tServerType:                              pulumi.String(\"s3\"),\n\t\t\tAwsAccessKey:                            pulumi.String(\"example\"),\n\t\t\tS3AssumeRoleArn:                         pulumi.String(\"example\"),\n\t\t\tS3AssumeRoleDurationSeconds:             pulumi.Int(1),\n\t\t\tCloudflareAccessKey:                     pulumi.String(\"example\"),\n\t\t\tFilebaseAccessKey:                       pulumi.String(\"example\"),\n\t\t\tGoogleCloudStorageS3CompatibleAccessKey: pulumi.String(\"example\"),\n\t\t\tLinodeAccessKey:                         pulumi.String(\"example\"),\n\t\t\tS3CompatibleAccessKey:                   pulumi.String(\"example\"),\n\t\t\tSharepointClientId:                      pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tSharepointTenantId:                      pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tUsername:                                pulumi.String(\"user\"),\n\t\t\tWasabiAccessKey:                         pulumi.String(\"example\"),\n\t\t\tWorkspaceId:                             pulumi.Int(0),\n\t\t\tCopyValuesFromCredentialId:              pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_remoteservercredential\" \"example_remote_server_credential\" {\n  name                                          = \"My Credential\"\n  description                                   = \"More information or notes about this credential.\"\n  server_type                                   = \"s3\"\n  aws_access_key                                = \"example\"\n  s3_assume_role_arn                            = \"example\"\n  s3_assume_role_duration_seconds               = 1\n  cloudflare_access_key                         = \"example\"\n  filebase_access_key                           = \"example\"\n  google_cloud_storage_s3_compatible_access_key = \"example\"\n  linode_access_key                             = \"example\"\n  s3_compatible_access_key                      = \"example\"\n  sharepoint_client_id                          = \"00000000-0000-0000-0000-000000000000\"\n  sharepoint_tenant_id                          = \"00000000-0000-0000-0000-000000000000\"\n  username                                      = \"user\"\n  wasabi_access_key                             = \"example\"\n  workspace_id                                  = 0\n  copy_values_from_credential_id                = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.RemoteServerCredential;\nimport com.pulumi.filescom.RemoteServerCredentialArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleRemoteServerCredential = new RemoteServerCredential(\"exampleRemoteServerCredential\", RemoteServerCredentialArgs.builder()\n            .name(\"My Credential\")\n            .description(\"More information or notes about this credential.\")\n            .serverType(\"s3\")\n            .awsAccessKey(\"example\")\n            .s3AssumeRoleArn(\"example\")\n            .s3AssumeRoleDurationSeconds(1)\n            .cloudflareAccessKey(\"example\")\n            .filebaseAccessKey(\"example\")\n            .googleCloudStorageS3CompatibleAccessKey(\"example\")\n            .linodeAccessKey(\"example\")\n            .s3CompatibleAccessKey(\"example\")\n            .sharepointClientId(\"00000000-0000-0000-0000-000000000000\")\n            .sharepointTenantId(\"00000000-0000-0000-0000-000000000000\")\n            .username(\"user\")\n            .wasabiAccessKey(\"example\")\n            .workspaceId(0)\n            .copyValuesFromCredentialId(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleRemoteServerCredential:\n    type: filescom:RemoteServerCredential\n    name: example_remote_server_credential\n    properties:\n      name: My Credential\n      description: More information or notes about this credential.\n      serverType: s3\n      awsAccessKey: example\n      s3AssumeRoleArn: example\n      s3AssumeRoleDurationSeconds: 1\n      cloudflareAccessKey: example\n      filebaseAccessKey: example\n      googleCloudStorageS3CompatibleAccessKey: example\n      linodeAccessKey: example\n      s3CompatibleAccessKey: example\n      sharepointClientId: 00000000-0000-0000-0000-000000000000\n      sharepointTenantId: 00000000-0000-0000-0000-000000000000\n      username: user\n      wasabiAccessKey: example\n      workspaceId: 0\n      copyValuesFromCredentialId: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nRemote Server Credentials can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/remoteServerCredential:RemoteServerCredential example_remote_server_credential 1\n```\n\n",
            "properties": {
                "awsAccessKey": {
                    "type": "string",
                    "description": "AWS Access Key."
                },
                "awsSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAWS: secret key.",
                    "secret": true
                },
                "azureBlobStorageAccessKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAzure Blob Storage: Access Key",
                    "secret": true
                },
                "azureBlobStorageSasToken": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAzure Blob Storage: Shared Access Signature (SAS) token",
                    "secret": true
                },
                "azureFilesStorageAccessKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAzure File Storage: Access Key",
                    "secret": true
                },
                "azureFilesStorageSasToken": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAzure File Storage: Shared Access Signature (SAS) token",
                    "secret": true
                },
                "backblazeB2ApplicationKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nBackblaze B2 Cloud Storage: applicationKey",
                    "secret": true
                },
                "backblazeB2KeyId": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nBackblaze B2 Cloud Storage: keyID",
                    "secret": true
                },
                "cloudflareAccessKey": {
                    "type": "string",
                    "description": "Cloudflare: Access Key."
                },
                "cloudflareSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nCloudflare: Secret Key",
                    "secret": true
                },
                "copyValuesFromCredentialId": {
                    "type": "integer",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nID of Remote Server Credential to copy omitted values from.",
                    "secret": true
                },
                "description": {
                    "type": "string",
                    "description": "Internal description for your reference"
                },
                "filebaseAccessKey": {
                    "type": "string",
                    "description": "Filebase: Access Key."
                },
                "filebaseSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nFilebase: Secret Key",
                    "secret": true
                },
                "googleCloudStorageCredentialsJson": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nGoogle Cloud Storage: JSON file that contains the private key. To generate see https://cloud.google.com/storage/docs/json_api/v1/how-tos/authorizing#APIKey",
                    "secret": true
                },
                "googleCloudStorageS3CompatibleAccessKey": {
                    "type": "string",
                    "description": "Google Cloud Storage: S3-compatible Access Key."
                },
                "googleCloudStorageS3CompatibleSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nGoogle Cloud Storage: S3-compatible secret key",
                    "secret": true
                },
                "linodeAccessKey": {
                    "type": "string",
                    "description": "Linode: Access Key"
                },
                "linodeSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nLinode: Secret Key",
                    "secret": true
                },
                "name": {
                    "type": "string",
                    "description": "Internal name for your reference"
                },
                "password": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPassword, if needed.",
                    "secret": true
                },
                "privateKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPrivate key, if needed.",
                    "secret": true
                },
                "privateKeyPassphrase": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPassphrase for private key if needed.",
                    "secret": true
                },
                "s3AssumeRoleArn": {
                    "type": "string",
                    "description": "AWS IAM Role ARN for AssumeRole authentication."
                },
                "s3AssumeRoleDurationSeconds": {
                    "type": "integer",
                    "description": "Session duration in seconds for AssumeRole authentication (900-43200)."
                },
                "s3AssumeRoleExternalId": {
                    "type": "string",
                    "description": "External ID for AssumeRole authentication."
                },
                "s3CompatibleAccessKey": {
                    "type": "string",
                    "description": "S3-compatible: Access Key"
                },
                "s3CompatibleSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nS3-compatible: Secret Key",
                    "secret": true
                },
                "serverType": {
                    "type": "string",
                    "description": "Remote server type.  Remote Server Credentials are only valid for a single type of Remote Server."
                },
                "sharepointAppCredentialType": {
                    "type": "string",
                    "description": "SharePoint: App-only credential type. Either secret or certificate."
                },
                "sharepointClientCertificate": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nSharePoint: PEM-encoded certificate and unencrypted private key for app-only authentication.",
                    "secret": true
                },
                "sharepointClientId": {
                    "type": "string",
                    "description": "SharePoint: Microsoft Entra application client ID for app-only authentication."
                },
                "sharepointClientSecret": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nSharePoint: Microsoft Entra application client secret for app-only authentication.",
                    "secret": true
                },
                "sharepointTenantId": {
                    "type": "string",
                    "description": "SharePoint: Microsoft Entra tenant ID for app-only authentication."
                },
                "username": {
                    "type": "string",
                    "description": "Remote server username."
                },
                "wasabiAccessKey": {
                    "type": "string",
                    "description": "Wasabi: Access Key."
                },
                "wasabiSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nWasabi: Secret Key",
                    "secret": true
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID (0 for default workspace)"
                }
            },
            "required": [
                "awsAccessKey",
                "cloudflareAccessKey",
                "description",
                "filebaseAccessKey",
                "googleCloudStorageS3CompatibleAccessKey",
                "linodeAccessKey",
                "name",
                "s3AssumeRoleArn",
                "s3AssumeRoleDurationSeconds",
                "s3AssumeRoleExternalId",
                "s3CompatibleAccessKey",
                "serverType",
                "sharepointAppCredentialType",
                "sharepointClientId",
                "sharepointTenantId",
                "username",
                "wasabiAccessKey",
                "workspaceId"
            ],
            "inputProperties": {
                "awsAccessKey": {
                    "type": "string",
                    "description": "AWS Access Key."
                },
                "awsSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAWS: secret key.",
                    "secret": true
                },
                "azureBlobStorageAccessKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAzure Blob Storage: Access Key",
                    "secret": true
                },
                "azureBlobStorageSasToken": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAzure Blob Storage: Shared Access Signature (SAS) token",
                    "secret": true
                },
                "azureFilesStorageAccessKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAzure File Storage: Access Key",
                    "secret": true
                },
                "azureFilesStorageSasToken": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAzure File Storage: Shared Access Signature (SAS) token",
                    "secret": true
                },
                "backblazeB2ApplicationKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nBackblaze B2 Cloud Storage: applicationKey",
                    "secret": true
                },
                "backblazeB2KeyId": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nBackblaze B2 Cloud Storage: keyID",
                    "secret": true
                },
                "cloudflareAccessKey": {
                    "type": "string",
                    "description": "Cloudflare: Access Key."
                },
                "cloudflareSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nCloudflare: Secret Key",
                    "secret": true
                },
                "copyValuesFromCredentialId": {
                    "type": "integer",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nID of Remote Server Credential to copy omitted values from.",
                    "secret": true,
                    "willReplaceOnChanges": true
                },
                "description": {
                    "type": "string",
                    "description": "Internal description for your reference"
                },
                "filebaseAccessKey": {
                    "type": "string",
                    "description": "Filebase: Access Key."
                },
                "filebaseSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nFilebase: Secret Key",
                    "secret": true
                },
                "googleCloudStorageCredentialsJson": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nGoogle Cloud Storage: JSON file that contains the private key. To generate see https://cloud.google.com/storage/docs/json_api/v1/how-tos/authorizing#APIKey",
                    "secret": true
                },
                "googleCloudStorageS3CompatibleAccessKey": {
                    "type": "string",
                    "description": "Google Cloud Storage: S3-compatible Access Key."
                },
                "googleCloudStorageS3CompatibleSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nGoogle Cloud Storage: S3-compatible secret key",
                    "secret": true
                },
                "linodeAccessKey": {
                    "type": "string",
                    "description": "Linode: Access Key"
                },
                "linodeSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nLinode: Secret Key",
                    "secret": true
                },
                "name": {
                    "type": "string",
                    "description": "Internal name for your reference"
                },
                "password": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPassword, if needed.",
                    "secret": true
                },
                "privateKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPrivate key, if needed.",
                    "secret": true
                },
                "privateKeyPassphrase": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPassphrase for private key if needed.",
                    "secret": true
                },
                "s3AssumeRoleArn": {
                    "type": "string",
                    "description": "AWS IAM Role ARN for AssumeRole authentication."
                },
                "s3AssumeRoleDurationSeconds": {
                    "type": "integer",
                    "description": "Session duration in seconds for AssumeRole authentication (900-43200)."
                },
                "s3CompatibleAccessKey": {
                    "type": "string",
                    "description": "S3-compatible: Access Key"
                },
                "s3CompatibleSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nS3-compatible: Secret Key",
                    "secret": true
                },
                "serverType": {
                    "type": "string",
                    "description": "Remote server type.  Remote Server Credentials are only valid for a single type of Remote Server."
                },
                "sharepointClientCertificate": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nSharePoint: PEM-encoded certificate and unencrypted private key for app-only authentication.",
                    "secret": true
                },
                "sharepointClientId": {
                    "type": "string",
                    "description": "SharePoint: Microsoft Entra application client ID for app-only authentication."
                },
                "sharepointClientSecret": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nSharePoint: Microsoft Entra application client secret for app-only authentication.",
                    "secret": true
                },
                "sharepointTenantId": {
                    "type": "string",
                    "description": "SharePoint: Microsoft Entra tenant ID for app-only authentication."
                },
                "username": {
                    "type": "string",
                    "description": "Remote server username."
                },
                "wasabiAccessKey": {
                    "type": "string",
                    "description": "Wasabi: Access Key."
                },
                "wasabiSecretKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nWasabi: Secret Key",
                    "secret": true
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID (0 for default workspace)",
                    "willReplaceOnChanges": true
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteServerCredential resources.\n",
                "properties": {
                    "awsAccessKey": {
                        "type": "string",
                        "description": "AWS Access Key."
                    },
                    "awsSecretKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAWS: secret key.",
                        "secret": true
                    },
                    "azureBlobStorageAccessKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAzure Blob Storage: Access Key",
                        "secret": true
                    },
                    "azureBlobStorageSasToken": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAzure Blob Storage: Shared Access Signature (SAS) token",
                        "secret": true
                    },
                    "azureFilesStorageAccessKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAzure File Storage: Access Key",
                        "secret": true
                    },
                    "azureFilesStorageSasToken": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAzure File Storage: Shared Access Signature (SAS) token",
                        "secret": true
                    },
                    "backblazeB2ApplicationKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nBackblaze B2 Cloud Storage: applicationKey",
                        "secret": true
                    },
                    "backblazeB2KeyId": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nBackblaze B2 Cloud Storage: keyID",
                        "secret": true
                    },
                    "cloudflareAccessKey": {
                        "type": "string",
                        "description": "Cloudflare: Access Key."
                    },
                    "cloudflareSecretKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nCloudflare: Secret Key",
                        "secret": true
                    },
                    "copyValuesFromCredentialId": {
                        "type": "integer",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nID of Remote Server Credential to copy omitted values from.",
                        "secret": true
                    },
                    "description": {
                        "type": "string",
                        "description": "Internal description for your reference"
                    },
                    "filebaseAccessKey": {
                        "type": "string",
                        "description": "Filebase: Access Key."
                    },
                    "filebaseSecretKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nFilebase: Secret Key",
                        "secret": true
                    },
                    "googleCloudStorageCredentialsJson": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nGoogle Cloud Storage: JSON file that contains the private key. To generate see https://cloud.google.com/storage/docs/json_api/v1/how-tos/authorizing#APIKey",
                        "secret": true
                    },
                    "googleCloudStorageS3CompatibleAccessKey": {
                        "type": "string",
                        "description": "Google Cloud Storage: S3-compatible Access Key."
                    },
                    "googleCloudStorageS3CompatibleSecretKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nGoogle Cloud Storage: S3-compatible secret key",
                        "secret": true
                    },
                    "linodeAccessKey": {
                        "type": "string",
                        "description": "Linode: Access Key"
                    },
                    "linodeSecretKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nLinode: Secret Key",
                        "secret": true
                    },
                    "name": {
                        "type": "string",
                        "description": "Internal name for your reference"
                    },
                    "password": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPassword, if needed.",
                        "secret": true
                    },
                    "privateKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPrivate key, if needed.",
                        "secret": true
                    },
                    "privateKeyPassphrase": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPassphrase for private key if needed.",
                        "secret": true
                    },
                    "s3AssumeRoleArn": {
                        "type": "string",
                        "description": "AWS IAM Role ARN for AssumeRole authentication."
                    },
                    "s3AssumeRoleDurationSeconds": {
                        "type": "integer",
                        "description": "Session duration in seconds for AssumeRole authentication (900-43200)."
                    },
                    "s3AssumeRoleExternalId": {
                        "type": "string",
                        "description": "External ID for AssumeRole authentication."
                    },
                    "s3CompatibleAccessKey": {
                        "type": "string",
                        "description": "S3-compatible: Access Key"
                    },
                    "s3CompatibleSecretKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nS3-compatible: Secret Key",
                        "secret": true
                    },
                    "serverType": {
                        "type": "string",
                        "description": "Remote server type.  Remote Server Credentials are only valid for a single type of Remote Server."
                    },
                    "sharepointAppCredentialType": {
                        "type": "string",
                        "description": "SharePoint: App-only credential type. Either secret or certificate."
                    },
                    "sharepointClientCertificate": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nSharePoint: PEM-encoded certificate and unencrypted private key for app-only authentication.",
                        "secret": true
                    },
                    "sharepointClientId": {
                        "type": "string",
                        "description": "SharePoint: Microsoft Entra application client ID for app-only authentication."
                    },
                    "sharepointClientSecret": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nSharePoint: Microsoft Entra application client secret for app-only authentication.",
                        "secret": true
                    },
                    "sharepointTenantId": {
                        "type": "string",
                        "description": "SharePoint: Microsoft Entra tenant ID for app-only authentication."
                    },
                    "username": {
                        "type": "string",
                        "description": "Remote server username."
                    },
                    "wasabiAccessKey": {
                        "type": "string",
                        "description": "Wasabi: Access Key."
                    },
                    "wasabiSecretKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nWasabi: Secret Key",
                        "secret": true
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID (0 for default workspace)"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/request:Request": {
            "description": "A Request is a file that *should* be uploaded by a specific user or group.\n\n\n\nRequests can either be manually created and managed, or managed automatically by an Automation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleRequest = new filescom.Request(\"example_request\", {\n    path: \"path\",\n    destination: \"destination\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_request = filescom.Request(\"example_request\",\n    path=\"path\",\n    destination=\"destination\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleRequest = new Filescom.Request(\"example_request\", new()\n    {\n        Path = \"path\",\n        Destination = \"destination\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewRequest(ctx, \"example_request\", \u0026filescom.RequestArgs{\n\t\t\tPath:        pulumi.String(\"path\"),\n\t\t\tDestination: pulumi.String(\"destination\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_request\" \"example_request\" {\n  path        = \"path\"\n  destination = \"destination\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.Request;\nimport com.pulumi.filescom.RequestArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleRequest = new Request(\"exampleRequest\", RequestArgs.builder()\n            .path(\"path\")\n            .destination(\"destination\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleRequest:\n    type: filescom:Request\n    name: example_request\n    properties:\n      path: path\n      destination: destination\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nRequests can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/request:Request example_request 1\n```\n\n",
            "properties": {
                "automationId": {
                    "type": "integer",
                    "description": "ID of automation that created request\n"
                },
                "destination": {
                    "type": "string",
                    "description": "Destination filename\n"
                },
                "groupIds": {
                    "type": "string",
                    "description": "A list of group IDs to request the file from. If sent as a string, it should be comma-delimited.\n"
                },
                "path": {
                    "type": "string",
                    "description": "Folder path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                },
                "source": {
                    "type": "string",
                    "description": "Source filename, if applicable\n"
                },
                "userDisplayName": {
                    "type": "string",
                    "description": "User making the request (if applicable)\n"
                },
                "userIds": {
                    "type": "string",
                    "description": "A list of user IDs to request the file from. If sent as a string, it should be comma-delimited.\n"
                }
            },
            "required": [
                "automationId",
                "destination",
                "path",
                "source",
                "userDisplayName"
            ],
            "inputProperties": {
                "destination": {
                    "type": "string",
                    "description": "Destination filename\n",
                    "willReplaceOnChanges": true
                },
                "groupIds": {
                    "type": "string",
                    "description": "A list of group IDs to request the file from. If sent as a string, it should be comma-delimited.\n",
                    "willReplaceOnChanges": true
                },
                "path": {
                    "type": "string",
                    "description": "Folder path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n",
                    "willReplaceOnChanges": true
                },
                "userIds": {
                    "type": "string",
                    "description": "A list of user IDs to request the file from. If sent as a string, it should be comma-delimited.\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "destination",
                "path"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Request resources.\n",
                "properties": {
                    "automationId": {
                        "type": "integer",
                        "description": "ID of automation that created request\n"
                    },
                    "destination": {
                        "type": "string",
                        "description": "Destination filename\n"
                    },
                    "groupIds": {
                        "type": "string",
                        "description": "A list of group IDs to request the file from. If sent as a string, it should be comma-delimited.\n"
                    },
                    "path": {
                        "type": "string",
                        "description": "Folder path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                    },
                    "source": {
                        "type": "string",
                        "description": "Source filename, if applicable\n"
                    },
                    "userDisplayName": {
                        "type": "string",
                        "description": "User making the request (if applicable)\n"
                    },
                    "userIds": {
                        "type": "string",
                        "description": "A list of user IDs to request the file from. If sent as a string, it should be comma-delimited.\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/schedule:Schedule": {
            "description": "A Schedule is a named, reusable weekday-and-time schedule shared by scheduled resources across a Site.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleSchedule = new filescom.Schedule(\"example_schedule\", {\n    name: \"Weekday overnight\",\n    scheduleDaysOfWeeks: [\n        1,\n        2,\n        3,\n        4,\n        5,\n    ],\n    scheduleTimesOfDays: [\"01:00\"],\n    scheduleTimeZone: \"Eastern Time (US \u0026 Canada)\",\n    holidayRegion: \"us\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_schedule = filescom.Schedule(\"example_schedule\",\n    name=\"Weekday overnight\",\n    schedule_days_of_weeks=[\n        1,\n        2,\n        3,\n        4,\n        5,\n    ],\n    schedule_times_of_days=[\"01:00\"],\n    schedule_time_zone=\"Eastern Time (US \u0026 Canada)\",\n    holiday_region=\"us\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleSchedule = new Filescom.Schedule(\"example_schedule\", new()\n    {\n        Name = \"Weekday overnight\",\n        ScheduleDaysOfWeeks = new[]\n        {\n            1,\n            2,\n            3,\n            4,\n            5,\n        },\n        ScheduleTimesOfDays = new[]\n        {\n            \"01:00\",\n        },\n        ScheduleTimeZone = \"Eastern Time (US \u0026 Canada)\",\n        HolidayRegion = \"us\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewSchedule(ctx, \"example_schedule\", \u0026filescom.ScheduleArgs{\n\t\t\tName: pulumi.String(\"Weekday overnight\"),\n\t\t\tScheduleDaysOfWeeks: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(2),\n\t\t\t\tpulumi.Int(3),\n\t\t\t\tpulumi.Int(4),\n\t\t\t\tpulumi.Int(5),\n\t\t\t},\n\t\t\tScheduleTimesOfDays: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"01:00\"),\n\t\t\t},\n\t\t\tScheduleTimeZone: pulumi.String(\"Eastern Time (US \u0026 Canada)\"),\n\t\t\tHolidayRegion:    pulumi.String(\"us\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_schedule\" \"example_schedule\" {\n  name                   = \"Weekday overnight\"\n  schedule_days_of_weeks = [1, 2, 3, 4, 5]\n  schedule_times_of_days = [\"01:00\"]\n  schedule_time_zone     = \"Eastern Time (US \u0026 Canada)\"\n  holiday_region         = \"us\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.Schedule;\nimport com.pulumi.filescom.ScheduleArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleSchedule = new Schedule(\"exampleSchedule\", ScheduleArgs.builder()\n            .name(\"Weekday overnight\")\n            .scheduleDaysOfWeeks(            \n                1,\n                2,\n                3,\n                4,\n                5)\n            .scheduleTimesOfDays(\"01:00\")\n            .scheduleTimeZone(\"Eastern Time (US \u0026 Canada)\")\n            .holidayRegion(\"us\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleSchedule:\n    type: filescom:Schedule\n    name: example_schedule\n    properties:\n      name: Weekday overnight\n      scheduleDaysOfWeeks:\n        - 1\n        - 2\n        - 3\n        - 4\n        - 5\n      scheduleTimesOfDays:\n        - 01:00\n      scheduleTimeZone: Eastern Time (US \u0026 Canada)\n      holidayRegion: us\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nSchedules can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/schedule:Schedule example_schedule 1\n```\n\n",
            "properties": {
                "createdAt": {
                    "type": "string",
                    "description": "Creation time.\n"
                },
                "holidayRegion": {
                    "type": "string",
                    "description": "Optional holiday region on which linked resources do not run.\n"
                },
                "humanReadableSchedule": {
                    "type": "string",
                    "description": "Human-readable Schedule description.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Schedule name.\n"
                },
                "scheduleDaysOfWeeks": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "0-based weekdays used by the Schedule. 0 is Sunday.\n"
                },
                "scheduleTimeZone": {
                    "type": "string",
                    "description": "Time zone for scheduled times. If not set, times are interpreted as UTC.\n"
                },
                "scheduleTimesOfDays": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Times of day in HH:MM format (24-hour).\n"
                },
                "updatedAt": {
                    "type": "string",
                    "description": "Last update time.\n"
                }
            },
            "required": [
                "createdAt",
                "holidayRegion",
                "humanReadableSchedule",
                "name",
                "scheduleDaysOfWeeks",
                "scheduleTimeZone",
                "scheduleTimesOfDays",
                "updatedAt"
            ],
            "inputProperties": {
                "holidayRegion": {
                    "type": "string",
                    "description": "Optional holiday region on which linked resources do not run.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Schedule name.\n"
                },
                "scheduleDaysOfWeeks": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "0-based weekdays used by the Schedule. 0 is Sunday.\n"
                },
                "scheduleTimeZone": {
                    "type": "string",
                    "description": "Time zone for scheduled times. If not set, times are interpreted as UTC.\n"
                },
                "scheduleTimesOfDays": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Times of day in HH:MM format (24-hour).\n"
                }
            },
            "requiredInputs": [
                "scheduleDaysOfWeeks",
                "scheduleTimesOfDays"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Schedule resources.\n",
                "properties": {
                    "createdAt": {
                        "type": "string",
                        "description": "Creation time.\n"
                    },
                    "holidayRegion": {
                        "type": "string",
                        "description": "Optional holiday region on which linked resources do not run.\n"
                    },
                    "humanReadableSchedule": {
                        "type": "string",
                        "description": "Human-readable Schedule description.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Schedule name.\n"
                    },
                    "scheduleDaysOfWeeks": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "0-based weekdays used by the Schedule. 0 is Sunday.\n"
                    },
                    "scheduleTimeZone": {
                        "type": "string",
                        "description": "Time zone for scheduled times. If not set, times are interpreted as UTC.\n"
                    },
                    "scheduleTimesOfDays": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Times of day in HH:MM format (24-hour).\n"
                    },
                    "updatedAt": {
                        "type": "string",
                        "description": "Last update time.\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/scheduledExport:ScheduledExport": {
            "description": "A Scheduled Export defines a recurring schedule for generating one of the built-in CSV exports and e-mailing it to a Site Admin recipient.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleScheduledExport = new filescom.ScheduledExport(\"example_scheduled_export\", {\n    name: \"Monthly access review\",\n    exportType: \"permission_audit\",\n    exportOptions: {\n        groupBy: \"user\",\n    },\n    userId: 1,\n    disabled: true,\n    trigger: \"daily\",\n    interval: \"month\",\n    recurringDay: 1,\n    recurringDays: [\n        1,\n        15,\n    ],\n    scheduleId: 1,\n    scheduleDaysOfWeeks: [\n        1,\n        3,\n        5,\n    ],\n    scheduleTimesOfDays: [\"06:30\"],\n    scheduleTimeZone: \"Eastern Time (US \u0026 Canada)\",\n    holidayRegion: \"us\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_scheduled_export = filescom.ScheduledExport(\"example_scheduled_export\",\n    name=\"Monthly access review\",\n    export_type=\"permission_audit\",\n    export_options={\n        \"groupBy\": \"user\",\n    },\n    user_id=1,\n    disabled=True,\n    trigger=\"daily\",\n    interval=\"month\",\n    recurring_day=1,\n    recurring_days=[\n        1,\n        15,\n    ],\n    schedule_id=1,\n    schedule_days_of_weeks=[\n        1,\n        3,\n        5,\n    ],\n    schedule_times_of_days=[\"06:30\"],\n    schedule_time_zone=\"Eastern Time (US \u0026 Canada)\",\n    holiday_region=\"us\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleScheduledExport = new Filescom.ScheduledExport(\"example_scheduled_export\", new()\n    {\n        Name = \"Monthly access review\",\n        ExportType = \"permission_audit\",\n        ExportOptions = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"groupBy\"] = \"user\",\n        },\n        UserId = 1,\n        Disabled = true,\n        Trigger = \"daily\",\n        Interval = \"month\",\n        RecurringDay = 1,\n        RecurringDays = new[]\n        {\n            1,\n            15,\n        },\n        ScheduleId = 1,\n        ScheduleDaysOfWeeks = new[]\n        {\n            1,\n            3,\n            5,\n        },\n        ScheduleTimesOfDays = new[]\n        {\n            \"06:30\",\n        },\n        ScheduleTimeZone = \"Eastern Time (US \u0026 Canada)\",\n        HolidayRegion = \"us\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewScheduledExport(ctx, \"example_scheduled_export\", \u0026filescom.ScheduledExportArgs{\n\t\t\tName:       pulumi.String(\"Monthly access review\"),\n\t\t\tExportType: pulumi.String(\"permission_audit\"),\n\t\t\tExportOptions: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"groupBy\": \"user\",\n\t\t\t}),\n\t\t\tUserId:       pulumi.Int(1),\n\t\t\tDisabled:     pulumi.Bool(true),\n\t\t\tTrigger:      pulumi.String(\"daily\"),\n\t\t\tInterval:     pulumi.String(\"month\"),\n\t\t\tRecurringDay: pulumi.Int(1),\n\t\t\tRecurringDays: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(15),\n\t\t\t},\n\t\t\tScheduleId: pulumi.Int(1),\n\t\t\tScheduleDaysOfWeeks: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(3),\n\t\t\t\tpulumi.Int(5),\n\t\t\t},\n\t\t\tScheduleTimesOfDays: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"06:30\"),\n\t\t\t},\n\t\t\tScheduleTimeZone: pulumi.String(\"Eastern Time (US \u0026 Canada)\"),\n\t\t\tHolidayRegion:    pulumi.String(\"us\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_scheduledexport\" \"example_scheduled_export\" {\n  name        = \"Monthly access review\"\n  export_type = \"permission_audit\"\n  export_options = {\n    \"groupBy\" = \"user\"\n  }\n  user_id                = 1\n  disabled               = true\n  trigger                = \"daily\"\n  interval               = \"month\"\n  recurring_day          = 1\n  recurring_days         = [1, 15]\n  schedule_id            = 1\n  schedule_days_of_weeks = [1, 3, 5]\n  schedule_times_of_days = [\"06:30\"]\n  schedule_time_zone     = \"Eastern Time (US \u0026 Canada)\"\n  holiday_region         = \"us\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.ScheduledExport;\nimport com.pulumi.filescom.ScheduledExportArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleScheduledExport = new ScheduledExport(\"exampleScheduledExport\", ScheduledExportArgs.builder()\n            .name(\"Monthly access review\")\n            .exportType(\"permission_audit\")\n            .exportOptions(Map.of(\"groupBy\", \"user\"))\n            .userId(1)\n            .disabled(true)\n            .trigger(\"daily\")\n            .interval(\"month\")\n            .recurringDay(1)\n            .recurringDays(            \n                1,\n                15)\n            .scheduleId(1)\n            .scheduleDaysOfWeeks(            \n                1,\n                3,\n                5)\n            .scheduleTimesOfDays(\"06:30\")\n            .scheduleTimeZone(\"Eastern Time (US \u0026 Canada)\")\n            .holidayRegion(\"us\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleScheduledExport:\n    type: filescom:ScheduledExport\n    name: example_scheduled_export\n    properties:\n      name: Monthly access review\n      exportType: permission_audit\n      exportOptions:\n        groupBy: user\n      userId: 1\n      disabled: true\n      trigger: daily\n      interval: month\n      recurringDay: 1\n      recurringDays:\n        - 1\n        - 15\n      scheduleId: 1\n      scheduleDaysOfWeeks:\n        - 1\n        - 3\n        - 5\n      scheduleTimesOfDays:\n        - 06:30\n      scheduleTimeZone: Eastern Time (US \u0026 Canada)\n      holidayRegion: us\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nScheduled Exports can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/scheduledExport:ScheduledExport example_scheduled_export 1\n```\n\n",
            "properties": {
                "createdAt": {
                    "type": "string",
                    "description": "Creation time.\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "If true, this scheduled export will not run.\n"
                },
                "exportOptions": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Report-specific options. \u003cspan pulumi-lang-nodejs=\"`permissionAudit`\" pulumi-lang-dotnet=\"`PermissionAudit`\" pulumi-lang-go=\"`permissionAudit`\" pulumi-lang-python=\"`permission_audit`\" pulumi-lang-yaml=\"`permissionAudit`\" pulumi-lang-java=\"`permissionAudit`\" pulumi-lang-hcl=\"`permission_audit`\"\u003e`permissionAudit`\u003c/span\u003e supports \u003cspan pulumi-lang-nodejs=\"`groupBy`\" pulumi-lang-dotnet=\"`GroupBy`\" pulumi-lang-go=\"`groupBy`\" pulumi-lang-python=\"`group_by`\" pulumi-lang-yaml=\"`groupBy`\" pulumi-lang-java=\"`groupBy`\" pulumi-lang-hcl=\"`group_by`\"\u003e`groupBy`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\" pulumi-lang-hcl=\"`user`\"\u003e`user`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e.\n"
                },
                "exportType": {
                    "type": "string",
                    "description": "Export report type. Valid values: folder*size*audit, group*membership*audit, permission*audit, share*link_audit\n"
                },
                "holidayRegion": {
                    "type": "string",
                    "description": "Optional holiday region used by the scheduled export schedule.\n"
                },
                "humanReadableSchedule": {
                    "type": "string",
                    "description": "Human-readable schedule description.\n"
                },
                "interval": {
                    "type": "string",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies how often to run the scheduled export.\n"
                },
                "lastExportId": {
                    "type": "integer",
                    "description": "Most recent Export ID created by this schedule.\n"
                },
                "lastRunAt": {
                    "type": "string",
                    "description": "Most recent scheduled run time.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name for this scheduled export.\n"
                },
                "recurringDay": {
                    "type": "integer",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this selects the day number inside the chosen interval.\n"
                },
                "recurringDays": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this selects one or more day numbers inside a \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e interval.\n"
                },
                "reportName": {
                    "type": "string",
                    "description": "Human-readable report name.\n"
                },
                "scheduleDaysOfWeeks": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the 0-based weekdays used by the schedule.\n"
                },
                "scheduleId": {
                    "type": "integer",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the reusable Schedule used instead of the scheduled export's schedule fields.\n"
                },
                "scheduleTimeZone": {
                    "type": "string",
                    "description": "Time zone used by the scheduled export schedule.\n"
                },
                "scheduleTimesOfDays": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Times of day in HH:MM format for the scheduled export schedule.\n"
                },
                "trigger": {
                    "type": "string",
                    "description": "Schedule trigger type: \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e.\n"
                },
                "updatedAt": {
                    "type": "string",
                    "description": "Last update time.\n"
                },
                "userId": {
                    "type": "integer",
                    "description": "Site Admin user who receives the completed export e-mail.\n"
                }
            },
            "required": [
                "createdAt",
                "disabled",
                "exportOptions",
                "exportType",
                "holidayRegion",
                "humanReadableSchedule",
                "interval",
                "lastExportId",
                "lastRunAt",
                "name",
                "recurringDay",
                "recurringDays",
                "reportName",
                "scheduleDaysOfWeeks",
                "scheduleId",
                "scheduleTimeZone",
                "scheduleTimesOfDays",
                "trigger",
                "updatedAt",
                "userId"
            ],
            "inputProperties": {
                "disabled": {
                    "type": "boolean",
                    "description": "If true, this scheduled export will not run.\n"
                },
                "exportOptions": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Report-specific options. \u003cspan pulumi-lang-nodejs=\"`permissionAudit`\" pulumi-lang-dotnet=\"`PermissionAudit`\" pulumi-lang-go=\"`permissionAudit`\" pulumi-lang-python=\"`permission_audit`\" pulumi-lang-yaml=\"`permissionAudit`\" pulumi-lang-java=\"`permissionAudit`\" pulumi-lang-hcl=\"`permission_audit`\"\u003e`permissionAudit`\u003c/span\u003e supports \u003cspan pulumi-lang-nodejs=\"`groupBy`\" pulumi-lang-dotnet=\"`GroupBy`\" pulumi-lang-go=\"`groupBy`\" pulumi-lang-python=\"`group_by`\" pulumi-lang-yaml=\"`groupBy`\" pulumi-lang-java=\"`groupBy`\" pulumi-lang-hcl=\"`group_by`\"\u003e`groupBy`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\" pulumi-lang-hcl=\"`user`\"\u003e`user`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e.\n"
                },
                "exportType": {
                    "type": "string",
                    "description": "Export report type. Valid values: folder*size*audit, group*membership*audit, permission*audit, share*link_audit\n"
                },
                "holidayRegion": {
                    "type": "string",
                    "description": "Optional holiday region used by the scheduled export schedule.\n"
                },
                "interval": {
                    "type": "string",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies how often to run the scheduled export.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name for this scheduled export.\n"
                },
                "recurringDay": {
                    "type": "integer",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this selects the day number inside the chosen interval.\n"
                },
                "recurringDays": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this selects one or more day numbers inside a \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e interval.\n"
                },
                "scheduleDaysOfWeeks": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the 0-based weekdays used by the schedule.\n"
                },
                "scheduleId": {
                    "type": "integer",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the reusable Schedule used instead of the scheduled export's schedule fields.\n"
                },
                "scheduleTimeZone": {
                    "type": "string",
                    "description": "Time zone used by the scheduled export schedule.\n"
                },
                "scheduleTimesOfDays": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Times of day in HH:MM format for the scheduled export schedule.\n"
                },
                "trigger": {
                    "type": "string",
                    "description": "Schedule trigger type: \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e.\n"
                },
                "userId": {
                    "type": "integer",
                    "description": "Site Admin user who receives the completed export e-mail.\n"
                }
            },
            "requiredInputs": [
                "exportType"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ScheduledExport resources.\n",
                "properties": {
                    "createdAt": {
                        "type": "string",
                        "description": "Creation time.\n"
                    },
                    "disabled": {
                        "type": "boolean",
                        "description": "If true, this scheduled export will not run.\n"
                    },
                    "exportOptions": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Report-specific options. \u003cspan pulumi-lang-nodejs=\"`permissionAudit`\" pulumi-lang-dotnet=\"`PermissionAudit`\" pulumi-lang-go=\"`permissionAudit`\" pulumi-lang-python=\"`permission_audit`\" pulumi-lang-yaml=\"`permissionAudit`\" pulumi-lang-java=\"`permissionAudit`\" pulumi-lang-hcl=\"`permission_audit`\"\u003e`permissionAudit`\u003c/span\u003e supports \u003cspan pulumi-lang-nodejs=\"`groupBy`\" pulumi-lang-dotnet=\"`GroupBy`\" pulumi-lang-go=\"`groupBy`\" pulumi-lang-python=\"`group_by`\" pulumi-lang-yaml=\"`groupBy`\" pulumi-lang-java=\"`groupBy`\" pulumi-lang-hcl=\"`group_by`\"\u003e`groupBy`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\" pulumi-lang-hcl=\"`user`\"\u003e`user`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e.\n"
                    },
                    "exportType": {
                        "type": "string",
                        "description": "Export report type. Valid values: folder*size*audit, group*membership*audit, permission*audit, share*link_audit\n"
                    },
                    "holidayRegion": {
                        "type": "string",
                        "description": "Optional holiday region used by the scheduled export schedule.\n"
                    },
                    "humanReadableSchedule": {
                        "type": "string",
                        "description": "Human-readable schedule description.\n"
                    },
                    "interval": {
                        "type": "string",
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies how often to run the scheduled export.\n"
                    },
                    "lastExportId": {
                        "type": "integer",
                        "description": "Most recent Export ID created by this schedule.\n"
                    },
                    "lastRunAt": {
                        "type": "string",
                        "description": "Most recent scheduled run time.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name for this scheduled export.\n"
                    },
                    "recurringDay": {
                        "type": "integer",
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this selects the day number inside the chosen interval.\n"
                    },
                    "recurringDays": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this selects one or more day numbers inside a \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e interval.\n"
                    },
                    "reportName": {
                        "type": "string",
                        "description": "Human-readable report name.\n"
                    },
                    "scheduleDaysOfWeeks": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the 0-based weekdays used by the schedule.\n"
                    },
                    "scheduleId": {
                        "type": "integer",
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the reusable Schedule used instead of the scheduled export's schedule fields.\n"
                    },
                    "scheduleTimeZone": {
                        "type": "string",
                        "description": "Time zone used by the scheduled export schedule.\n"
                    },
                    "scheduleTimesOfDays": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Times of day in HH:MM format for the scheduled export schedule.\n"
                    },
                    "trigger": {
                        "type": "string",
                        "description": "Schedule trigger type: \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e.\n"
                    },
                    "updatedAt": {
                        "type": "string",
                        "description": "Last update time.\n"
                    },
                    "userId": {
                        "type": "integer",
                        "description": "Site Admin user who receives the completed export e-mail.\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/secret:Secret": {
            "description": "A Secret stores named, typed secret material for later use by features that reference the Secret by ID.\n\n\n\nSecret values are encrypted at rest and are write-only. API responses include metadata and configured value field names, but never include the stored secret values.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleSecret = new filescom.Secret(\"example_secret\", {\n    name: \"Production API token\",\n    description: \"Used by production API integrations.\",\n    secretType: \"token\",\n    metadata: {\n        key: \"example value\",\n    },\n    workspaceId: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_secret = filescom.Secret(\"example_secret\",\n    name=\"Production API token\",\n    description=\"Used by production API integrations.\",\n    secret_type=\"token\",\n    metadata={\n        \"key\": \"example value\",\n    },\n    workspace_id=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleSecret = new Filescom.Secret(\"example_secret\", new()\n    {\n        Name = \"Production API token\",\n        Description = \"Used by production API integrations.\",\n        SecretType = \"token\",\n        Metadata = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"key\"] = \"example value\",\n        },\n        WorkspaceId = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewSecret(ctx, \"example_secret\", \u0026filescom.SecretArgs{\n\t\t\tName:        pulumi.String(\"Production API token\"),\n\t\t\tDescription: pulumi.String(\"Used by production API integrations.\"),\n\t\t\tSecretType:  pulumi.String(\"token\"),\n\t\t\tMetadata: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"key\": \"example value\",\n\t\t\t}),\n\t\t\tWorkspaceId: pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_secret\" \"example_secret\" {\n  name        = \"Production API token\"\n  description = \"Used by production API integrations.\"\n  secret_type = \"token\"\n  metadata = {\n    \"key\" = \"example value\"\n  }\n  workspace_id = 0\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.Secret;\nimport com.pulumi.filescom.SecretArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleSecret = new Secret(\"exampleSecret\", SecretArgs.builder()\n            .name(\"Production API token\")\n            .description(\"Used by production API integrations.\")\n            .secretType(\"token\")\n            .metadata(Map.of(\"key\", \"example value\"))\n            .workspaceId(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleSecret:\n    type: filescom:Secret\n    name: example_secret\n    properties:\n      name: Production API token\n      description: Used by production API integrations.\n      secretType: token\n      metadata:\n        key: example value\n      workspaceId: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nSecrets can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/secret:Secret example_secret 1\n```\n\n",
            "properties": {
                "createdAt": {
                    "type": "string",
                    "description": "Secret create date/time.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Internal description for your reference.\n"
                },
                "metadata": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Non-secret metadata for the Secret type.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Secret name.\n"
                },
                "secretType": {
                    "type": "string",
                    "description": "Secret type.\n"
                },
                "updatedAt": {
                    "type": "string",
                    "description": "Secret update date/time.\n"
                },
                "valueFieldNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Names of configured secret value fields. Secret values are never returned.\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. 0 means the default workspace.\n"
                }
            },
            "required": [
                "createdAt",
                "description",
                "metadata",
                "name",
                "secretType",
                "updatedAt",
                "valueFieldNames",
                "workspaceId"
            ],
            "inputProperties": {
                "description": {
                    "type": "string",
                    "description": "Internal description for your reference.\n"
                },
                "metadata": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Non-secret metadata for the Secret type.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Secret name.\n"
                },
                "secretType": {
                    "type": "string",
                    "description": "Secret type.\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. 0 means the default workspace.\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "secretType"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Secret resources.\n",
                "properties": {
                    "createdAt": {
                        "type": "string",
                        "description": "Secret create date/time.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Internal description for your reference.\n"
                    },
                    "metadata": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Non-secret metadata for the Secret type.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Secret name.\n"
                    },
                    "secretType": {
                        "type": "string",
                        "description": "Secret type.\n"
                    },
                    "updatedAt": {
                        "type": "string",
                        "description": "Secret update date/time.\n"
                    },
                    "valueFieldNames": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Names of configured secret value fields. Secret values are never returned.\n"
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID. 0 means the default workspace.\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/sftpHostKey:SftpHostKey": {
            "description": "An SFTP Host Key is a cryptographic key used to verify the identity of the server during an SFTP connection. This allows the client to be sure that it is connecting to the intended server, preventing man-in-the-middle attacks and ensuring secure communication between the client and Files.com.\n\n\n\nFiles.com allows you to provide custom SFTP Host Keys, which is particularly useful when migrating to Files.com from an existing SFTP server, allowing the Files.com platform to match your previously-installed host key for a seamless transition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleSftpHostKey = new filescom.SftpHostKey(\"example_sftp_host_key\", {name: \"My Key\"});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_sftp_host_key = filescom.SftpHostKey(\"example_sftp_host_key\", name=\"My Key\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleSftpHostKey = new Filescom.SftpHostKey(\"example_sftp_host_key\", new()\n    {\n        Name = \"My Key\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewSftpHostKey(ctx, \"example_sftp_host_key\", \u0026filescom.SftpHostKeyArgs{\n\t\t\tName: pulumi.String(\"My Key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_sftphostkey\" \"example_sftp_host_key\" {\n  name = \"My Key\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.SftpHostKey;\nimport com.pulumi.filescom.SftpHostKeyArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleSftpHostKey = new SftpHostKey(\"exampleSftpHostKey\", SftpHostKeyArgs.builder()\n            .name(\"My Key\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleSftpHostKey:\n    type: filescom:SftpHostKey\n    name: example_sftp_host_key\n    properties:\n      name: My Key\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nSftp Host Keys can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/sftpHostKey:SftpHostKey example_sftp_host_key 1\n```\n\n",
            "properties": {
                "fingerprintMd5": {
                    "type": "string",
                    "description": "MD5 Fingerprint of the public key"
                },
                "fingerprintSha256": {
                    "type": "string",
                    "description": "SHA256 Fingerprint of the public key"
                },
                "name": {
                    "type": "string",
                    "description": "The friendly name of this SFTP Host Key."
                },
                "privateKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe private key data.",
                    "secret": true
                }
            },
            "required": [
                "fingerprintMd5",
                "fingerprintSha256",
                "name"
            ],
            "inputProperties": {
                "name": {
                    "type": "string",
                    "description": "The friendly name of this SFTP Host Key."
                },
                "privateKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe private key data.",
                    "secret": true
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering SftpHostKey resources.\n",
                "properties": {
                    "fingerprintMd5": {
                        "type": "string",
                        "description": "MD5 Fingerprint of the public key"
                    },
                    "fingerprintSha256": {
                        "type": "string",
                        "description": "SHA256 Fingerprint of the public key"
                    },
                    "name": {
                        "type": "string",
                        "description": "The friendly name of this SFTP Host Key."
                    },
                    "privateKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe private key data.",
                        "secret": true
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/shareGroup:ShareGroup": {
            "description": "A ShareGroup is a way for you to store and name groups of email contacts to be used for sending share and inbox invitations.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleShareGroup = new filescom.ShareGroup(\"example_share_group\", {\n    userId: 1,\n    notes: \"This group is defined for testing purposes\",\n    name: \"Test group 1\",\n    members: [{\n        name: \"John Doe\",\n        company: \"Acme Ltd\",\n        email: \"johndoe@gmail.com\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_share_group = filescom.ShareGroup(\"example_share_group\",\n    user_id=1,\n    notes=\"This group is defined for testing purposes\",\n    name=\"Test group 1\",\n    members=[{\n        \"name\": \"John Doe\",\n        \"company\": \"Acme Ltd\",\n        \"email\": \"johndoe@gmail.com\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleShareGroup = new Filescom.ShareGroup(\"example_share_group\", new()\n    {\n        UserId = 1,\n        Notes = \"This group is defined for testing purposes\",\n        Name = \"Test group 1\",\n        Members = new[]\n        {\n            \n            {\n                { \"name\", \"John Doe\" },\n                { \"company\", \"Acme Ltd\" },\n                { \"email\", \"johndoe@gmail.com\" },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewShareGroup(ctx, \"example_share_group\", \u0026filescom.ShareGroupArgs{\n\t\t\tUserId: pulumi.Int(1),\n\t\t\tNotes:  pulumi.String(\"This group is defined for testing purposes\"),\n\t\t\tName:   pulumi.String(\"Test group 1\"),\n\t\t\tMembers: pulumi.Any{\n\t\t\t\tmap[string]string{\n\t\t\t\t\t\"name\":    \"John Doe\",\n\t\t\t\t\t\"company\": \"Acme Ltd\",\n\t\t\t\t\t\"email\":   \"johndoe@gmail.com\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_sharegroup\" \"example_share_group\" {\n  user_id = 1\n  notes   = \"This group is defined for testing purposes\"\n  name    = \"Test group 1\"\n  members = [{\n    \"name\"    = \"John Doe\"\n    \"company\" = \"Acme Ltd\"\n    \"email\"   = \"johndoe@gmail.com\"\n  }]\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.ShareGroup;\nimport com.pulumi.filescom.ShareGroupArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleShareGroup = new ShareGroup(\"exampleShareGroup\", ShareGroupArgs.builder()\n            .userId(1)\n            .notes(\"This group is defined for testing purposes\")\n            .name(\"Test group 1\")\n            .members(Map.ofEntries(\n                Map.entry(\"name\", \"John Doe\"),\n                Map.entry(\"company\", \"Acme Ltd\"),\n                Map.entry(\"email\", \"johndoe@gmail.com\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleShareGroup:\n    type: filescom:ShareGroup\n    name: example_share_group\n    properties:\n      userId: 1\n      notes: This group is defined for testing purposes\n      name: Test group 1\n      members:\n        - name: John Doe\n          company: Acme Ltd\n          email: johndoe@gmail.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nShare Groups can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/shareGroup:ShareGroup example_share_group 1\n```\n\n",
            "properties": {
                "members": {
                    "$ref": "pulumi.json#/Any",
                    "description": "A list of share group members\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the share group\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Additional notes of the share group\n"
                },
                "userId": {
                    "type": "integer",
                    "description": "Owner User ID\n"
                }
            },
            "required": [
                "members",
                "name",
                "notes",
                "userId"
            ],
            "inputProperties": {
                "members": {
                    "$ref": "pulumi.json#/Any",
                    "description": "A list of share group members\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the share group\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Additional notes of the share group\n"
                },
                "userId": {
                    "type": "integer",
                    "description": "Owner User ID\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ShareGroup resources.\n",
                "properties": {
                    "members": {
                        "$ref": "pulumi.json#/Any",
                        "description": "A list of share group members\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the share group\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Additional notes of the share group\n"
                    },
                    "userId": {
                        "type": "integer",
                        "description": "Owner User ID\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/siemHttpDestination:SiemHttpDestination": {
            "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleSiemHttpDestination = new filescom.SiemHttpDestination(\"example_siem_http_destination\", {\n    name: \"example\",\n    additionalHeaders: {\n        key: \"example value\",\n    },\n    sendingActive: true,\n    genericPayloadType: \"example\",\n    fileDestinationPath: \"example\",\n    fileFormat: \"example\",\n    fileIntervalMinutes: 1,\n    azureDcrImmutableId: \"example\",\n    azureStreamName: \"example\",\n    azureOauthClientCredentialsTenantId: \"example\",\n    azureOauthClientCredentialsClientId: \"example\",\n    qradarUsername: \"example\",\n    actionSendEnabled: true,\n    sftpActionSendEnabled: true,\n    ftpActionSendEnabled: true,\n    webDavActionSendEnabled: true,\n    syncSendEnabled: true,\n    outboundConnectionSendEnabled: true,\n    automationSendEnabled: true,\n    apiRequestSendEnabled: true,\n    publicHostingRequestSendEnabled: true,\n    emailSendEnabled: true,\n    exavaultApiRequestSendEnabled: true,\n    settingsChangeSendEnabled: true,\n    destinationType: \"example\",\n    destinationUrl: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_siem_http_destination = filescom.SiemHttpDestination(\"example_siem_http_destination\",\n    name=\"example\",\n    additional_headers={\n        \"key\": \"example value\",\n    },\n    sending_active=True,\n    generic_payload_type=\"example\",\n    file_destination_path=\"example\",\n    file_format=\"example\",\n    file_interval_minutes=1,\n    azure_dcr_immutable_id=\"example\",\n    azure_stream_name=\"example\",\n    azure_oauth_client_credentials_tenant_id=\"example\",\n    azure_oauth_client_credentials_client_id=\"example\",\n    qradar_username=\"example\",\n    action_send_enabled=True,\n    sftp_action_send_enabled=True,\n    ftp_action_send_enabled=True,\n    web_dav_action_send_enabled=True,\n    sync_send_enabled=True,\n    outbound_connection_send_enabled=True,\n    automation_send_enabled=True,\n    api_request_send_enabled=True,\n    public_hosting_request_send_enabled=True,\n    email_send_enabled=True,\n    exavault_api_request_send_enabled=True,\n    settings_change_send_enabled=True,\n    destination_type=\"example\",\n    destination_url=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleSiemHttpDestination = new Filescom.SiemHttpDestination(\"example_siem_http_destination\", new()\n    {\n        Name = \"example\",\n        AdditionalHeaders = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"key\"] = \"example value\",\n        },\n        SendingActive = true,\n        GenericPayloadType = \"example\",\n        FileDestinationPath = \"example\",\n        FileFormat = \"example\",\n        FileIntervalMinutes = 1,\n        AzureDcrImmutableId = \"example\",\n        AzureStreamName = \"example\",\n        AzureOauthClientCredentialsTenantId = \"example\",\n        AzureOauthClientCredentialsClientId = \"example\",\n        QradarUsername = \"example\",\n        ActionSendEnabled = true,\n        SftpActionSendEnabled = true,\n        FtpActionSendEnabled = true,\n        WebDavActionSendEnabled = true,\n        SyncSendEnabled = true,\n        OutboundConnectionSendEnabled = true,\n        AutomationSendEnabled = true,\n        ApiRequestSendEnabled = true,\n        PublicHostingRequestSendEnabled = true,\n        EmailSendEnabled = true,\n        ExavaultApiRequestSendEnabled = true,\n        SettingsChangeSendEnabled = true,\n        DestinationType = \"example\",\n        DestinationUrl = \"example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewSiemHttpDestination(ctx, \"example_siem_http_destination\", \u0026filescom.SiemHttpDestinationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tAdditionalHeaders: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"key\": \"example value\",\n\t\t\t}),\n\t\t\tSendingActive:                       pulumi.Bool(true),\n\t\t\tGenericPayloadType:                  pulumi.String(\"example\"),\n\t\t\tFileDestinationPath:                 pulumi.String(\"example\"),\n\t\t\tFileFormat:                          pulumi.String(\"example\"),\n\t\t\tFileIntervalMinutes:                 pulumi.Int(1),\n\t\t\tAzureDcrImmutableId:                 pulumi.String(\"example\"),\n\t\t\tAzureStreamName:                     pulumi.String(\"example\"),\n\t\t\tAzureOauthClientCredentialsTenantId: pulumi.String(\"example\"),\n\t\t\tAzureOauthClientCredentialsClientId: pulumi.String(\"example\"),\n\t\t\tQradarUsername:                      pulumi.String(\"example\"),\n\t\t\tActionSendEnabled:                   pulumi.Bool(true),\n\t\t\tSftpActionSendEnabled:               pulumi.Bool(true),\n\t\t\tFtpActionSendEnabled:                pulumi.Bool(true),\n\t\t\tWebDavActionSendEnabled:             pulumi.Bool(true),\n\t\t\tSyncSendEnabled:                     pulumi.Bool(true),\n\t\t\tOutboundConnectionSendEnabled:       pulumi.Bool(true),\n\t\t\tAutomationSendEnabled:               pulumi.Bool(true),\n\t\t\tApiRequestSendEnabled:               pulumi.Bool(true),\n\t\t\tPublicHostingRequestSendEnabled:     pulumi.Bool(true),\n\t\t\tEmailSendEnabled:                    pulumi.Bool(true),\n\t\t\tExavaultApiRequestSendEnabled:       pulumi.Bool(true),\n\t\t\tSettingsChangeSendEnabled:           pulumi.Bool(true),\n\t\t\tDestinationType:                     pulumi.String(\"example\"),\n\t\t\tDestinationUrl:                      pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_siemhttpdestination\" \"example_siem_http_destination\" {\n  name = \"example\"\n  additional_headers = {\n    \"key\" = \"example value\"\n  }\n  sending_active                           = true\n  generic_payload_type                     = \"example\"\n  file_destination_path                    = \"example\"\n  file_format                              = \"example\"\n  file_interval_minutes                    = 1\n  azure_dcr_immutable_id                   = \"example\"\n  azure_stream_name                        = \"example\"\n  azure_oauth_client_credentials_tenant_id = \"example\"\n  azure_oauth_client_credentials_client_id = \"example\"\n  qradar_username                          = \"example\"\n  action_send_enabled                      = true\n  sftp_action_send_enabled                 = true\n  ftp_action_send_enabled                  = true\n  web_dav_action_send_enabled              = true\n  sync_send_enabled                        = true\n  outbound_connection_send_enabled         = true\n  automation_send_enabled                  = true\n  api_request_send_enabled                 = true\n  public_hosting_request_send_enabled      = true\n  email_send_enabled                       = true\n  exavault_api_request_send_enabled        = true\n  settings_change_send_enabled             = true\n  destination_type                         = \"example\"\n  destination_url                          = \"example\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.SiemHttpDestination;\nimport com.pulumi.filescom.SiemHttpDestinationArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleSiemHttpDestination = new SiemHttpDestination(\"exampleSiemHttpDestination\", SiemHttpDestinationArgs.builder()\n            .name(\"example\")\n            .additionalHeaders(Map.of(\"key\", \"example value\"))\n            .sendingActive(true)\n            .genericPayloadType(\"example\")\n            .fileDestinationPath(\"example\")\n            .fileFormat(\"example\")\n            .fileIntervalMinutes(1)\n            .azureDcrImmutableId(\"example\")\n            .azureStreamName(\"example\")\n            .azureOauthClientCredentialsTenantId(\"example\")\n            .azureOauthClientCredentialsClientId(\"example\")\n            .qradarUsername(\"example\")\n            .actionSendEnabled(true)\n            .sftpActionSendEnabled(true)\n            .ftpActionSendEnabled(true)\n            .webDavActionSendEnabled(true)\n            .syncSendEnabled(true)\n            .outboundConnectionSendEnabled(true)\n            .automationSendEnabled(true)\n            .apiRequestSendEnabled(true)\n            .publicHostingRequestSendEnabled(true)\n            .emailSendEnabled(true)\n            .exavaultApiRequestSendEnabled(true)\n            .settingsChangeSendEnabled(true)\n            .destinationType(\"example\")\n            .destinationUrl(\"example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleSiemHttpDestination:\n    type: filescom:SiemHttpDestination\n    name: example_siem_http_destination\n    properties:\n      name: example\n      additionalHeaders:\n        key: example value\n      sendingActive: true\n      genericPayloadType: example\n      fileDestinationPath: example\n      fileFormat: example\n      fileIntervalMinutes: 1\n      azureDcrImmutableId: example\n      azureStreamName: example\n      azureOauthClientCredentialsTenantId: example\n      azureOauthClientCredentialsClientId: example\n      qradarUsername: example\n      actionSendEnabled: true\n      sftpActionSendEnabled: true\n      ftpActionSendEnabled: true\n      webDavActionSendEnabled: true\n      syncSendEnabled: true\n      outboundConnectionSendEnabled: true\n      automationSendEnabled: true\n      apiRequestSendEnabled: true\n      publicHostingRequestSendEnabled: true\n      emailSendEnabled: true\n      exavaultApiRequestSendEnabled: true\n      settingsChangeSendEnabled: true\n      destinationType: example\n      destinationUrl: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nSiem Http Destinations can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/siemHttpDestination:SiemHttpDestination example_siem_http_destination 1\n```\n\n",
            "properties": {
                "actionEntriesSent": {
                    "type": "integer",
                    "description": "Number of log entries sent for the lifetime of this destination."
                },
                "actionSendEnabled": {
                    "type": "boolean",
                    "description": "Whether or not sending is enabled for action logs."
                },
                "additionalHeaders": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Additional HTTP Headers included in calls to the destination URL"
                },
                "apiRequestEntriesSent": {
                    "type": "integer",
                    "description": "Number of log entries sent for the lifetime of this destination."
                },
                "apiRequestSendEnabled": {
                    "type": "boolean",
                    "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" apiRequest \" pulumi-lang-dotnet=\" ApiRequest \" pulumi-lang-go=\" apiRequest \" pulumi-lang-python=\" api_request \" pulumi-lang-yaml=\" apiRequest \" pulumi-lang-java=\" apiRequest \" pulumi-lang-hcl=\" api_request \"\u003e apiRequest \u003c/span\u003elogs."
                },
                "automationEntriesSent": {
                    "type": "integer",
                    "description": "Number of log entries sent for the lifetime of this destination."
                },
                "automationSendEnabled": {
                    "type": "boolean",
                    "description": "Whether or not sending is enabled for automation logs."
                },
                "azureDcrImmutableId": {
                    "type": "string",
                    "description": "Applicable only for destination types: azure, azure_legacy. Immutable ID of the Data Collection Rule."
                },
                "azureOauthClientCredentialsClientId": {
                    "type": "string",
                    "description": "Applicable only for destination types: azure, azure_legacy. Client Credentials OAuth Client ID."
                },
                "azureOauthClientCredentialsClientSecret": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nApplicable only for destination type: azure. Client Credentials OAuth Client Secret.",
                    "secret": true
                },
                "azureOauthClientCredentialsClientSecretMasked": {
                    "type": "string",
                    "description": "Applicable only for destination types: azure, azure_legacy. Client Credentials OAuth Client Secret."
                },
                "azureOauthClientCredentialsTenantId": {
                    "type": "string",
                    "description": "Applicable only for destination types: azure, azure_legacy. Client Credentials OAuth Tenant ID."
                },
                "azureStreamName": {
                    "type": "string",
                    "description": "Applicable only for destination type: azure. Name of the stream in the DCR that represents the destination table."
                },
                "connectionTestEntry": {
                    "type": "string",
                    "description": "Connection Test Entry"
                },
                "crowdstrikeToken": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nApplicable only for destination type: crowdstrike. Authentication token provided by Crowdstrike.",
                    "secret": true
                },
                "crowdstrikeTokenMasked": {
                    "type": "string",
                    "description": "Applicable only for destination type: crowdstrike. Authentication token provided by Crowdstrike."
                },
                "datadogApiKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nApplicable only for destination type: datadog. API key provided by Datadog.",
                    "secret": true
                },
                "datadogApiKeyMasked": {
                    "type": "string",
                    "description": "Applicable only for destination type: datadog. API key provided by Datadog."
                },
                "destinationType": {
                    "type": "string",
                    "description": "Destination Type\n"
                },
                "destinationUrl": {
                    "type": "string",
                    "description": "Destination Url"
                },
                "emailEntriesSent": {
                    "type": "integer",
                    "description": "Number of log entries sent for the lifetime of this destination."
                },
                "emailSendEnabled": {
                    "type": "boolean",
                    "description": "Whether or not sending is enabled for email logs."
                },
                "exavaultApiRequestEntriesSent": {
                    "type": "integer",
                    "description": "Number of log entries sent for the lifetime of this destination."
                },
                "exavaultApiRequestSendEnabled": {
                    "type": "boolean",
                    "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" exavaultApiRequest \" pulumi-lang-dotnet=\" ExavaultApiRequest \" pulumi-lang-go=\" exavaultApiRequest \" pulumi-lang-python=\" exavault_api_request \" pulumi-lang-yaml=\" exavaultApiRequest \" pulumi-lang-java=\" exavaultApiRequest \" pulumi-lang-hcl=\" exavault_api_request \"\u003e exavaultApiRequest \u003c/span\u003elogs."
                },
                "fileDestinationPath": {
                    "type": "string",
                    "description": "Applicable only for destination type: file. Destination folder path on Files.com."
                },
                "fileFormat": {
                    "type": "string",
                    "description": "Applicable only for destination type: file. Generated file format."
                },
                "fileIntervalMinutes": {
                    "type": "integer",
                    "description": "Applicable only for destination type: file. Interval, in minutes, between file deliveries."
                },
                "ftpActionEntriesSent": {
                    "type": "integer",
                    "description": "Number of log entries sent for the lifetime of this destination."
                },
                "ftpActionSendEnabled": {
                    "type": "boolean",
                    "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" ftpAction \" pulumi-lang-dotnet=\" FtpAction \" pulumi-lang-go=\" ftpAction \" pulumi-lang-python=\" ftp_action \" pulumi-lang-yaml=\" ftpAction \" pulumi-lang-java=\" ftpAction \" pulumi-lang-hcl=\" ftp_action \"\u003e ftpAction \u003c/span\u003elogs."
                },
                "genericPayloadType": {
                    "type": "string",
                    "description": "Applicable only for destination type: generic. Indicates the type of HTTP body. Can be\u003cspan pulumi-lang-nodejs=\" jsonNewline \" pulumi-lang-dotnet=\" JsonNewline \" pulumi-lang-go=\" jsonNewline \" pulumi-lang-python=\" json_newline \" pulumi-lang-yaml=\" jsonNewline \" pulumi-lang-java=\" jsonNewline \" pulumi-lang-hcl=\" json_newline \"\u003e jsonNewline \u003c/span\u003eor json_array.\u003cspan pulumi-lang-nodejs=\" jsonNewline \" pulumi-lang-dotnet=\" JsonNewline \" pulumi-lang-go=\" jsonNewline \" pulumi-lang-python=\" json_newline \" pulumi-lang-yaml=\" jsonNewline \" pulumi-lang-java=\" jsonNewline \" pulumi-lang-hcl=\" json_newline \"\u003e jsonNewline \u003c/span\u003eis multiple log entries as JSON separated by newlines.\u003cspan pulumi-lang-nodejs=\" jsonArray \" pulumi-lang-dotnet=\" JsonArray \" pulumi-lang-go=\" jsonArray \" pulumi-lang-python=\" json_array \" pulumi-lang-yaml=\" jsonArray \" pulumi-lang-java=\" jsonArray \" pulumi-lang-hcl=\" json_array \"\u003e jsonArray \u003c/span\u003eis a single JSON array containing multiple log entries as JSON."
                },
                "lastHttpCallDurationMs": {
                    "type": "integer",
                    "description": "Duration of the last HTTP Call in milliseconds"
                },
                "lastHttpCallErrorMessage": {
                    "type": "string",
                    "description": "Last HTTP Call Error Message if applicable"
                },
                "lastHttpCallResponseBody": {
                    "type": "string",
                    "description": "Last HTTP Call Response Body. Large responses are truncated."
                },
                "lastHttpCallResponseCode": {
                    "type": "integer",
                    "description": "Last HTTP Call Response Code"
                },
                "lastHttpCallSuccess": {
                    "type": "boolean",
                    "description": "Was the last HTTP call made successful?"
                },
                "lastHttpCallTargetType": {
                    "type": "string",
                    "description": "Type of URL that was last called. Can be \u003cspan pulumi-lang-nodejs=\"`destinationUrl`\" pulumi-lang-dotnet=\"`DestinationUrl`\" pulumi-lang-go=\"`destinationUrl`\" pulumi-lang-python=\"`destination_url`\" pulumi-lang-yaml=\"`destinationUrl`\" pulumi-lang-java=\"`destinationUrl`\" pulumi-lang-hcl=\"`destination_url`\"\u003e`destinationUrl`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`azureOauthClientCredentialsUrl`\" pulumi-lang-dotnet=\"`AzureOauthClientCredentialsUrl`\" pulumi-lang-go=\"`azureOauthClientCredentialsUrl`\" pulumi-lang-python=\"`azure_oauth_client_credentials_url`\" pulumi-lang-yaml=\"`azureOauthClientCredentialsUrl`\" pulumi-lang-java=\"`azureOauthClientCredentialsUrl`\" pulumi-lang-hcl=\"`azure_oauth_client_credentials_url`\"\u003e`azureOauthClientCredentialsUrl`\u003c/span\u003e"
                },
                "lastHttpCallTime": {
                    "type": "string",
                    "description": "Time of Last HTTP Call"
                },
                "mostRecentHttpCallSuccessTime": {
                    "type": "string",
                    "description": "Time of Most Recent Successful HTTP Call"
                },
                "name": {
                    "type": "string",
                    "description": "Name for this Destination"
                },
                "newRelicApiKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nApplicable only for destination type: new_relic. API key provided by New Relic.",
                    "secret": true
                },
                "newRelicApiKeyMasked": {
                    "type": "string",
                    "description": "Applicable only for destination type: new_relic. API key provided by New Relic."
                },
                "outboundConnectionEntriesSent": {
                    "type": "integer",
                    "description": "Number of log entries sent for the lifetime of this destination."
                },
                "outboundConnectionSendEnabled": {
                    "type": "boolean",
                    "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" outboundConnection \" pulumi-lang-dotnet=\" OutboundConnection \" pulumi-lang-go=\" outboundConnection \" pulumi-lang-python=\" outbound_connection \" pulumi-lang-yaml=\" outboundConnection \" pulumi-lang-java=\" outboundConnection \" pulumi-lang-hcl=\" outbound_connection \"\u003e outboundConnection \u003c/span\u003elogs."
                },
                "publicHostingRequestEntriesSent": {
                    "type": "integer",
                    "description": "Number of log entries sent for the lifetime of this destination."
                },
                "publicHostingRequestSendEnabled": {
                    "type": "boolean",
                    "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" publicHostingRequest \" pulumi-lang-dotnet=\" PublicHostingRequest \" pulumi-lang-go=\" publicHostingRequest \" pulumi-lang-python=\" public_hosting_request \" pulumi-lang-yaml=\" publicHostingRequest \" pulumi-lang-java=\" publicHostingRequest \" pulumi-lang-hcl=\" public_hosting_request \"\u003e publicHostingRequest \u003c/span\u003elogs."
                },
                "qradarPassword": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nApplicable only for destination type: qradar. Basic auth password provided by QRadar.",
                    "secret": true
                },
                "qradarPasswordMasked": {
                    "type": "string",
                    "description": "Applicable only for destination type: qradar. Basic auth password provided by QRadar."
                },
                "qradarUsername": {
                    "type": "string",
                    "description": "Applicable only for destination type: qradar. Basic auth username provided by QRadar."
                },
                "sendingActive": {
                    "type": "boolean",
                    "description": "Whether this SIEM HTTP Destination is currently being sent to or not"
                },
                "settingsChangeEntriesSent": {
                    "type": "integer",
                    "description": "Number of log entries sent for the lifetime of this destination."
                },
                "settingsChangeSendEnabled": {
                    "type": "boolean",
                    "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" settingsChange \" pulumi-lang-dotnet=\" SettingsChange \" pulumi-lang-go=\" settingsChange \" pulumi-lang-python=\" settings_change \" pulumi-lang-yaml=\" settingsChange \" pulumi-lang-java=\" settingsChange \" pulumi-lang-hcl=\" settings_change \"\u003e settingsChange \u003c/span\u003elogs."
                },
                "sftpActionEntriesSent": {
                    "type": "integer",
                    "description": "Number of log entries sent for the lifetime of this destination."
                },
                "sftpActionSendEnabled": {
                    "type": "boolean",
                    "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" sftpAction \" pulumi-lang-dotnet=\" SftpAction \" pulumi-lang-go=\" sftpAction \" pulumi-lang-python=\" sftp_action \" pulumi-lang-yaml=\" sftpAction \" pulumi-lang-java=\" sftpAction \" pulumi-lang-hcl=\" sftp_action \"\u003e sftpAction \u003c/span\u003elogs."
                },
                "solarWindsToken": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nApplicable only for destination type: solar_winds. Authentication token provided by Solar Winds.",
                    "secret": true
                },
                "solarWindsTokenMasked": {
                    "type": "string",
                    "description": "Applicable only for destination type: solar_winds. Authentication token provided by Solar Winds."
                },
                "splunkToken": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nApplicable only for destination types: splunk, splunk_compatible. Authentication token for the destination.",
                    "secret": true
                },
                "splunkTokenMasked": {
                    "type": "string",
                    "description": "Applicable only for destination types: splunk, splunk_compatible. Authentication token for the destination."
                },
                "syncEntriesSent": {
                    "type": "integer",
                    "description": "Number of log entries sent for the lifetime of this destination."
                },
                "syncSendEnabled": {
                    "type": "boolean",
                    "description": "Whether or not sending is enabled for sync logs."
                },
                "webDavActionEntriesSent": {
                    "type": "integer",
                    "description": "Number of log entries sent for the lifetime of this destination."
                },
                "webDavActionSendEnabled": {
                    "type": "boolean",
                    "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" webDavAction \" pulumi-lang-dotnet=\" WebDavAction \" pulumi-lang-go=\" webDavAction \" pulumi-lang-python=\" web_dav_action \" pulumi-lang-yaml=\" webDavAction \" pulumi-lang-java=\" webDavAction \" pulumi-lang-hcl=\" web_dav_action \"\u003e webDavAction \u003c/span\u003elogs."
                }
            },
            "required": [
                "actionEntriesSent",
                "actionSendEnabled",
                "additionalHeaders",
                "apiRequestEntriesSent",
                "apiRequestSendEnabled",
                "automationEntriesSent",
                "automationSendEnabled",
                "azureDcrImmutableId",
                "azureOauthClientCredentialsClientId",
                "azureOauthClientCredentialsClientSecretMasked",
                "azureOauthClientCredentialsTenantId",
                "azureStreamName",
                "connectionTestEntry",
                "crowdstrikeTokenMasked",
                "datadogApiKeyMasked",
                "destinationType",
                "destinationUrl",
                "emailEntriesSent",
                "emailSendEnabled",
                "exavaultApiRequestEntriesSent",
                "exavaultApiRequestSendEnabled",
                "fileDestinationPath",
                "fileFormat",
                "fileIntervalMinutes",
                "ftpActionEntriesSent",
                "ftpActionSendEnabled",
                "genericPayloadType",
                "lastHttpCallDurationMs",
                "lastHttpCallErrorMessage",
                "lastHttpCallResponseBody",
                "lastHttpCallResponseCode",
                "lastHttpCallSuccess",
                "lastHttpCallTargetType",
                "lastHttpCallTime",
                "mostRecentHttpCallSuccessTime",
                "name",
                "newRelicApiKeyMasked",
                "outboundConnectionEntriesSent",
                "outboundConnectionSendEnabled",
                "publicHostingRequestEntriesSent",
                "publicHostingRequestSendEnabled",
                "qradarPasswordMasked",
                "qradarUsername",
                "sendingActive",
                "settingsChangeEntriesSent",
                "settingsChangeSendEnabled",
                "sftpActionEntriesSent",
                "sftpActionSendEnabled",
                "solarWindsTokenMasked",
                "splunkTokenMasked",
                "syncEntriesSent",
                "syncSendEnabled",
                "webDavActionEntriesSent",
                "webDavActionSendEnabled"
            ],
            "inputProperties": {
                "actionSendEnabled": {
                    "type": "boolean",
                    "description": "Whether or not sending is enabled for action logs."
                },
                "additionalHeaders": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Additional HTTP Headers included in calls to the destination URL"
                },
                "apiRequestSendEnabled": {
                    "type": "boolean",
                    "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" apiRequest \" pulumi-lang-dotnet=\" ApiRequest \" pulumi-lang-go=\" apiRequest \" pulumi-lang-python=\" api_request \" pulumi-lang-yaml=\" apiRequest \" pulumi-lang-java=\" apiRequest \" pulumi-lang-hcl=\" api_request \"\u003e apiRequest \u003c/span\u003elogs."
                },
                "automationSendEnabled": {
                    "type": "boolean",
                    "description": "Whether or not sending is enabled for automation logs."
                },
                "azureDcrImmutableId": {
                    "type": "string",
                    "description": "Applicable only for destination types: azure, azure_legacy. Immutable ID of the Data Collection Rule."
                },
                "azureOauthClientCredentialsClientId": {
                    "type": "string",
                    "description": "Applicable only for destination types: azure, azure_legacy. Client Credentials OAuth Client ID."
                },
                "azureOauthClientCredentialsClientSecret": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nApplicable only for destination type: azure. Client Credentials OAuth Client Secret.",
                    "secret": true
                },
                "azureOauthClientCredentialsTenantId": {
                    "type": "string",
                    "description": "Applicable only for destination types: azure, azure_legacy. Client Credentials OAuth Tenant ID."
                },
                "azureStreamName": {
                    "type": "string",
                    "description": "Applicable only for destination type: azure. Name of the stream in the DCR that represents the destination table."
                },
                "crowdstrikeToken": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nApplicable only for destination type: crowdstrike. Authentication token provided by Crowdstrike.",
                    "secret": true
                },
                "datadogApiKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nApplicable only for destination type: datadog. API key provided by Datadog.",
                    "secret": true
                },
                "destinationType": {
                    "type": "string",
                    "description": "Destination Type\n"
                },
                "destinationUrl": {
                    "type": "string",
                    "description": "Destination Url"
                },
                "emailSendEnabled": {
                    "type": "boolean",
                    "description": "Whether or not sending is enabled for email logs."
                },
                "exavaultApiRequestSendEnabled": {
                    "type": "boolean",
                    "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" exavaultApiRequest \" pulumi-lang-dotnet=\" ExavaultApiRequest \" pulumi-lang-go=\" exavaultApiRequest \" pulumi-lang-python=\" exavault_api_request \" pulumi-lang-yaml=\" exavaultApiRequest \" pulumi-lang-java=\" exavaultApiRequest \" pulumi-lang-hcl=\" exavault_api_request \"\u003e exavaultApiRequest \u003c/span\u003elogs."
                },
                "fileDestinationPath": {
                    "type": "string",
                    "description": "Applicable only for destination type: file. Destination folder path on Files.com."
                },
                "fileFormat": {
                    "type": "string",
                    "description": "Applicable only for destination type: file. Generated file format."
                },
                "fileIntervalMinutes": {
                    "type": "integer",
                    "description": "Applicable only for destination type: file. Interval, in minutes, between file deliveries."
                },
                "ftpActionSendEnabled": {
                    "type": "boolean",
                    "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" ftpAction \" pulumi-lang-dotnet=\" FtpAction \" pulumi-lang-go=\" ftpAction \" pulumi-lang-python=\" ftp_action \" pulumi-lang-yaml=\" ftpAction \" pulumi-lang-java=\" ftpAction \" pulumi-lang-hcl=\" ftp_action \"\u003e ftpAction \u003c/span\u003elogs."
                },
                "genericPayloadType": {
                    "type": "string",
                    "description": "Applicable only for destination type: generic. Indicates the type of HTTP body. Can be\u003cspan pulumi-lang-nodejs=\" jsonNewline \" pulumi-lang-dotnet=\" JsonNewline \" pulumi-lang-go=\" jsonNewline \" pulumi-lang-python=\" json_newline \" pulumi-lang-yaml=\" jsonNewline \" pulumi-lang-java=\" jsonNewline \" pulumi-lang-hcl=\" json_newline \"\u003e jsonNewline \u003c/span\u003eor json_array.\u003cspan pulumi-lang-nodejs=\" jsonNewline \" pulumi-lang-dotnet=\" JsonNewline \" pulumi-lang-go=\" jsonNewline \" pulumi-lang-python=\" json_newline \" pulumi-lang-yaml=\" jsonNewline \" pulumi-lang-java=\" jsonNewline \" pulumi-lang-hcl=\" json_newline \"\u003e jsonNewline \u003c/span\u003eis multiple log entries as JSON separated by newlines.\u003cspan pulumi-lang-nodejs=\" jsonArray \" pulumi-lang-dotnet=\" JsonArray \" pulumi-lang-go=\" jsonArray \" pulumi-lang-python=\" json_array \" pulumi-lang-yaml=\" jsonArray \" pulumi-lang-java=\" jsonArray \" pulumi-lang-hcl=\" json_array \"\u003e jsonArray \u003c/span\u003eis a single JSON array containing multiple log entries as JSON."
                },
                "name": {
                    "type": "string",
                    "description": "Name for this Destination"
                },
                "newRelicApiKey": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nApplicable only for destination type: new_relic. API key provided by New Relic.",
                    "secret": true
                },
                "outboundConnectionSendEnabled": {
                    "type": "boolean",
                    "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" outboundConnection \" pulumi-lang-dotnet=\" OutboundConnection \" pulumi-lang-go=\" outboundConnection \" pulumi-lang-python=\" outbound_connection \" pulumi-lang-yaml=\" outboundConnection \" pulumi-lang-java=\" outboundConnection \" pulumi-lang-hcl=\" outbound_connection \"\u003e outboundConnection \u003c/span\u003elogs."
                },
                "publicHostingRequestSendEnabled": {
                    "type": "boolean",
                    "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" publicHostingRequest \" pulumi-lang-dotnet=\" PublicHostingRequest \" pulumi-lang-go=\" publicHostingRequest \" pulumi-lang-python=\" public_hosting_request \" pulumi-lang-yaml=\" publicHostingRequest \" pulumi-lang-java=\" publicHostingRequest \" pulumi-lang-hcl=\" public_hosting_request \"\u003e publicHostingRequest \u003c/span\u003elogs."
                },
                "qradarPassword": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nApplicable only for destination type: qradar. Basic auth password provided by QRadar.",
                    "secret": true
                },
                "qradarUsername": {
                    "type": "string",
                    "description": "Applicable only for destination type: qradar. Basic auth username provided by QRadar."
                },
                "sendingActive": {
                    "type": "boolean",
                    "description": "Whether this SIEM HTTP Destination is currently being sent to or not"
                },
                "settingsChangeSendEnabled": {
                    "type": "boolean",
                    "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" settingsChange \" pulumi-lang-dotnet=\" SettingsChange \" pulumi-lang-go=\" settingsChange \" pulumi-lang-python=\" settings_change \" pulumi-lang-yaml=\" settingsChange \" pulumi-lang-java=\" settingsChange \" pulumi-lang-hcl=\" settings_change \"\u003e settingsChange \u003c/span\u003elogs."
                },
                "sftpActionSendEnabled": {
                    "type": "boolean",
                    "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" sftpAction \" pulumi-lang-dotnet=\" SftpAction \" pulumi-lang-go=\" sftpAction \" pulumi-lang-python=\" sftp_action \" pulumi-lang-yaml=\" sftpAction \" pulumi-lang-java=\" sftpAction \" pulumi-lang-hcl=\" sftp_action \"\u003e sftpAction \u003c/span\u003elogs."
                },
                "solarWindsToken": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nApplicable only for destination type: solar_winds. Authentication token provided by Solar Winds.",
                    "secret": true
                },
                "splunkToken": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nApplicable only for destination types: splunk, splunk_compatible. Authentication token for the destination.",
                    "secret": true
                },
                "syncSendEnabled": {
                    "type": "boolean",
                    "description": "Whether or not sending is enabled for sync logs."
                },
                "webDavActionSendEnabled": {
                    "type": "boolean",
                    "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" webDavAction \" pulumi-lang-dotnet=\" WebDavAction \" pulumi-lang-go=\" webDavAction \" pulumi-lang-python=\" web_dav_action \" pulumi-lang-yaml=\" webDavAction \" pulumi-lang-java=\" webDavAction \" pulumi-lang-hcl=\" web_dav_action \"\u003e webDavAction \u003c/span\u003elogs."
                }
            },
            "requiredInputs": [
                "destinationType"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering SiemHttpDestination resources.\n",
                "properties": {
                    "actionEntriesSent": {
                        "type": "integer",
                        "description": "Number of log entries sent for the lifetime of this destination."
                    },
                    "actionSendEnabled": {
                        "type": "boolean",
                        "description": "Whether or not sending is enabled for action logs."
                    },
                    "additionalHeaders": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Additional HTTP Headers included in calls to the destination URL"
                    },
                    "apiRequestEntriesSent": {
                        "type": "integer",
                        "description": "Number of log entries sent for the lifetime of this destination."
                    },
                    "apiRequestSendEnabled": {
                        "type": "boolean",
                        "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" apiRequest \" pulumi-lang-dotnet=\" ApiRequest \" pulumi-lang-go=\" apiRequest \" pulumi-lang-python=\" api_request \" pulumi-lang-yaml=\" apiRequest \" pulumi-lang-java=\" apiRequest \" pulumi-lang-hcl=\" api_request \"\u003e apiRequest \u003c/span\u003elogs."
                    },
                    "automationEntriesSent": {
                        "type": "integer",
                        "description": "Number of log entries sent for the lifetime of this destination."
                    },
                    "automationSendEnabled": {
                        "type": "boolean",
                        "description": "Whether or not sending is enabled for automation logs."
                    },
                    "azureDcrImmutableId": {
                        "type": "string",
                        "description": "Applicable only for destination types: azure, azure_legacy. Immutable ID of the Data Collection Rule."
                    },
                    "azureOauthClientCredentialsClientId": {
                        "type": "string",
                        "description": "Applicable only for destination types: azure, azure_legacy. Client Credentials OAuth Client ID."
                    },
                    "azureOauthClientCredentialsClientSecret": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nApplicable only for destination type: azure. Client Credentials OAuth Client Secret.",
                        "secret": true
                    },
                    "azureOauthClientCredentialsClientSecretMasked": {
                        "type": "string",
                        "description": "Applicable only for destination types: azure, azure_legacy. Client Credentials OAuth Client Secret."
                    },
                    "azureOauthClientCredentialsTenantId": {
                        "type": "string",
                        "description": "Applicable only for destination types: azure, azure_legacy. Client Credentials OAuth Tenant ID."
                    },
                    "azureStreamName": {
                        "type": "string",
                        "description": "Applicable only for destination type: azure. Name of the stream in the DCR that represents the destination table."
                    },
                    "connectionTestEntry": {
                        "type": "string",
                        "description": "Connection Test Entry"
                    },
                    "crowdstrikeToken": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nApplicable only for destination type: crowdstrike. Authentication token provided by Crowdstrike.",
                        "secret": true
                    },
                    "crowdstrikeTokenMasked": {
                        "type": "string",
                        "description": "Applicable only for destination type: crowdstrike. Authentication token provided by Crowdstrike."
                    },
                    "datadogApiKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nApplicable only for destination type: datadog. API key provided by Datadog.",
                        "secret": true
                    },
                    "datadogApiKeyMasked": {
                        "type": "string",
                        "description": "Applicable only for destination type: datadog. API key provided by Datadog."
                    },
                    "destinationType": {
                        "type": "string",
                        "description": "Destination Type\n"
                    },
                    "destinationUrl": {
                        "type": "string",
                        "description": "Destination Url"
                    },
                    "emailEntriesSent": {
                        "type": "integer",
                        "description": "Number of log entries sent for the lifetime of this destination."
                    },
                    "emailSendEnabled": {
                        "type": "boolean",
                        "description": "Whether or not sending is enabled for email logs."
                    },
                    "exavaultApiRequestEntriesSent": {
                        "type": "integer",
                        "description": "Number of log entries sent for the lifetime of this destination."
                    },
                    "exavaultApiRequestSendEnabled": {
                        "type": "boolean",
                        "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" exavaultApiRequest \" pulumi-lang-dotnet=\" ExavaultApiRequest \" pulumi-lang-go=\" exavaultApiRequest \" pulumi-lang-python=\" exavault_api_request \" pulumi-lang-yaml=\" exavaultApiRequest \" pulumi-lang-java=\" exavaultApiRequest \" pulumi-lang-hcl=\" exavault_api_request \"\u003e exavaultApiRequest \u003c/span\u003elogs."
                    },
                    "fileDestinationPath": {
                        "type": "string",
                        "description": "Applicable only for destination type: file. Destination folder path on Files.com."
                    },
                    "fileFormat": {
                        "type": "string",
                        "description": "Applicable only for destination type: file. Generated file format."
                    },
                    "fileIntervalMinutes": {
                        "type": "integer",
                        "description": "Applicable only for destination type: file. Interval, in minutes, between file deliveries."
                    },
                    "ftpActionEntriesSent": {
                        "type": "integer",
                        "description": "Number of log entries sent for the lifetime of this destination."
                    },
                    "ftpActionSendEnabled": {
                        "type": "boolean",
                        "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" ftpAction \" pulumi-lang-dotnet=\" FtpAction \" pulumi-lang-go=\" ftpAction \" pulumi-lang-python=\" ftp_action \" pulumi-lang-yaml=\" ftpAction \" pulumi-lang-java=\" ftpAction \" pulumi-lang-hcl=\" ftp_action \"\u003e ftpAction \u003c/span\u003elogs."
                    },
                    "genericPayloadType": {
                        "type": "string",
                        "description": "Applicable only for destination type: generic. Indicates the type of HTTP body. Can be\u003cspan pulumi-lang-nodejs=\" jsonNewline \" pulumi-lang-dotnet=\" JsonNewline \" pulumi-lang-go=\" jsonNewline \" pulumi-lang-python=\" json_newline \" pulumi-lang-yaml=\" jsonNewline \" pulumi-lang-java=\" jsonNewline \" pulumi-lang-hcl=\" json_newline \"\u003e jsonNewline \u003c/span\u003eor json_array.\u003cspan pulumi-lang-nodejs=\" jsonNewline \" pulumi-lang-dotnet=\" JsonNewline \" pulumi-lang-go=\" jsonNewline \" pulumi-lang-python=\" json_newline \" pulumi-lang-yaml=\" jsonNewline \" pulumi-lang-java=\" jsonNewline \" pulumi-lang-hcl=\" json_newline \"\u003e jsonNewline \u003c/span\u003eis multiple log entries as JSON separated by newlines.\u003cspan pulumi-lang-nodejs=\" jsonArray \" pulumi-lang-dotnet=\" JsonArray \" pulumi-lang-go=\" jsonArray \" pulumi-lang-python=\" json_array \" pulumi-lang-yaml=\" jsonArray \" pulumi-lang-java=\" jsonArray \" pulumi-lang-hcl=\" json_array \"\u003e jsonArray \u003c/span\u003eis a single JSON array containing multiple log entries as JSON."
                    },
                    "lastHttpCallDurationMs": {
                        "type": "integer",
                        "description": "Duration of the last HTTP Call in milliseconds"
                    },
                    "lastHttpCallErrorMessage": {
                        "type": "string",
                        "description": "Last HTTP Call Error Message if applicable"
                    },
                    "lastHttpCallResponseBody": {
                        "type": "string",
                        "description": "Last HTTP Call Response Body. Large responses are truncated."
                    },
                    "lastHttpCallResponseCode": {
                        "type": "integer",
                        "description": "Last HTTP Call Response Code"
                    },
                    "lastHttpCallSuccess": {
                        "type": "boolean",
                        "description": "Was the last HTTP call made successful?"
                    },
                    "lastHttpCallTargetType": {
                        "type": "string",
                        "description": "Type of URL that was last called. Can be \u003cspan pulumi-lang-nodejs=\"`destinationUrl`\" pulumi-lang-dotnet=\"`DestinationUrl`\" pulumi-lang-go=\"`destinationUrl`\" pulumi-lang-python=\"`destination_url`\" pulumi-lang-yaml=\"`destinationUrl`\" pulumi-lang-java=\"`destinationUrl`\" pulumi-lang-hcl=\"`destination_url`\"\u003e`destinationUrl`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`azureOauthClientCredentialsUrl`\" pulumi-lang-dotnet=\"`AzureOauthClientCredentialsUrl`\" pulumi-lang-go=\"`azureOauthClientCredentialsUrl`\" pulumi-lang-python=\"`azure_oauth_client_credentials_url`\" pulumi-lang-yaml=\"`azureOauthClientCredentialsUrl`\" pulumi-lang-java=\"`azureOauthClientCredentialsUrl`\" pulumi-lang-hcl=\"`azure_oauth_client_credentials_url`\"\u003e`azureOauthClientCredentialsUrl`\u003c/span\u003e"
                    },
                    "lastHttpCallTime": {
                        "type": "string",
                        "description": "Time of Last HTTP Call"
                    },
                    "mostRecentHttpCallSuccessTime": {
                        "type": "string",
                        "description": "Time of Most Recent Successful HTTP Call"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name for this Destination"
                    },
                    "newRelicApiKey": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nApplicable only for destination type: new_relic. API key provided by New Relic.",
                        "secret": true
                    },
                    "newRelicApiKeyMasked": {
                        "type": "string",
                        "description": "Applicable only for destination type: new_relic. API key provided by New Relic."
                    },
                    "outboundConnectionEntriesSent": {
                        "type": "integer",
                        "description": "Number of log entries sent for the lifetime of this destination."
                    },
                    "outboundConnectionSendEnabled": {
                        "type": "boolean",
                        "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" outboundConnection \" pulumi-lang-dotnet=\" OutboundConnection \" pulumi-lang-go=\" outboundConnection \" pulumi-lang-python=\" outbound_connection \" pulumi-lang-yaml=\" outboundConnection \" pulumi-lang-java=\" outboundConnection \" pulumi-lang-hcl=\" outbound_connection \"\u003e outboundConnection \u003c/span\u003elogs."
                    },
                    "publicHostingRequestEntriesSent": {
                        "type": "integer",
                        "description": "Number of log entries sent for the lifetime of this destination."
                    },
                    "publicHostingRequestSendEnabled": {
                        "type": "boolean",
                        "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" publicHostingRequest \" pulumi-lang-dotnet=\" PublicHostingRequest \" pulumi-lang-go=\" publicHostingRequest \" pulumi-lang-python=\" public_hosting_request \" pulumi-lang-yaml=\" publicHostingRequest \" pulumi-lang-java=\" publicHostingRequest \" pulumi-lang-hcl=\" public_hosting_request \"\u003e publicHostingRequest \u003c/span\u003elogs."
                    },
                    "qradarPassword": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nApplicable only for destination type: qradar. Basic auth password provided by QRadar.",
                        "secret": true
                    },
                    "qradarPasswordMasked": {
                        "type": "string",
                        "description": "Applicable only for destination type: qradar. Basic auth password provided by QRadar."
                    },
                    "qradarUsername": {
                        "type": "string",
                        "description": "Applicable only for destination type: qradar. Basic auth username provided by QRadar."
                    },
                    "sendingActive": {
                        "type": "boolean",
                        "description": "Whether this SIEM HTTP Destination is currently being sent to or not"
                    },
                    "settingsChangeEntriesSent": {
                        "type": "integer",
                        "description": "Number of log entries sent for the lifetime of this destination."
                    },
                    "settingsChangeSendEnabled": {
                        "type": "boolean",
                        "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" settingsChange \" pulumi-lang-dotnet=\" SettingsChange \" pulumi-lang-go=\" settingsChange \" pulumi-lang-python=\" settings_change \" pulumi-lang-yaml=\" settingsChange \" pulumi-lang-java=\" settingsChange \" pulumi-lang-hcl=\" settings_change \"\u003e settingsChange \u003c/span\u003elogs."
                    },
                    "sftpActionEntriesSent": {
                        "type": "integer",
                        "description": "Number of log entries sent for the lifetime of this destination."
                    },
                    "sftpActionSendEnabled": {
                        "type": "boolean",
                        "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" sftpAction \" pulumi-lang-dotnet=\" SftpAction \" pulumi-lang-go=\" sftpAction \" pulumi-lang-python=\" sftp_action \" pulumi-lang-yaml=\" sftpAction \" pulumi-lang-java=\" sftpAction \" pulumi-lang-hcl=\" sftp_action \"\u003e sftpAction \u003c/span\u003elogs."
                    },
                    "solarWindsToken": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nApplicable only for destination type: solar_winds. Authentication token provided by Solar Winds.",
                        "secret": true
                    },
                    "solarWindsTokenMasked": {
                        "type": "string",
                        "description": "Applicable only for destination type: solar_winds. Authentication token provided by Solar Winds."
                    },
                    "splunkToken": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nApplicable only for destination types: splunk, splunk_compatible. Authentication token for the destination.",
                        "secret": true
                    },
                    "splunkTokenMasked": {
                        "type": "string",
                        "description": "Applicable only for destination types: splunk, splunk_compatible. Authentication token for the destination."
                    },
                    "syncEntriesSent": {
                        "type": "integer",
                        "description": "Number of log entries sent for the lifetime of this destination."
                    },
                    "syncSendEnabled": {
                        "type": "boolean",
                        "description": "Whether or not sending is enabled for sync logs."
                    },
                    "webDavActionEntriesSent": {
                        "type": "integer",
                        "description": "Number of log entries sent for the lifetime of this destination."
                    },
                    "webDavActionSendEnabled": {
                        "type": "boolean",
                        "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" webDavAction \" pulumi-lang-dotnet=\" WebDavAction \" pulumi-lang-go=\" webDavAction \" pulumi-lang-python=\" web_dav_action \" pulumi-lang-yaml=\" webDavAction \" pulumi-lang-java=\" webDavAction \" pulumi-lang-hcl=\" web_dav_action \"\u003e webDavAction \u003c/span\u003elogs."
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/site:Site": {
            "description": "A Site is the place you'll come to update site settings, as well as manage site-wide API keys.\n\n\n\nMost site settings can be set via the API.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleSite = new filescom.Site(\"example_site\", {\n    name: \"My Site\",\n    subdomain: \"mysite\",\n    domain: \"my-custom-domain.com\",\n    domainHstsHeader: false,\n    domainLetsencryptChain: \"example\",\n    email: \"john.doe@files.com\",\n    replyToEmail: \"jane.doe@files.com\",\n    allowBundleNames: false,\n    bundleExpiration: 1,\n    welcomeEmailEnabled: false,\n    askAboutOverwrites: false,\n    showRequestAccessLink: false,\n    alwaysMkdirParents: false,\n    welcomeEmailCc: \"example\",\n    welcomeEmailSubject: \"example\",\n    welcomeCustomText: \"Welcome to my site!\",\n    language: \"en\",\n    windowsModeFtp: false,\n    defaultTimeZone: \"Pacific Time (US \u0026 Canada)\",\n    desktopApp: false,\n    desktopAppSessionIpPinning: false,\n    desktopAppSessionLifetime: 1,\n    mobileApp: false,\n    mobileAppSessionIpPinning: false,\n    mobileAppSessionLifetime: 1,\n    folderPermissionsGroupsOnly: false,\n    welcomeScreen: \"user_controlled\",\n    officeIntegrationAvailable: false,\n    officeIntegrationType: \"example\",\n    pinAllRemoteServersToSiteRegion: false,\n    motdText: \"example\",\n    motdUseForFtp: false,\n    motdUseForSftp: false,\n    disableAllAiFeatures: false,\n    aiFeatureAvailability: {\n        inAppAiAssistant: {\n            siteAdmins: true,\n            workspaceAdmins: true,\n            folderAdmins: true,\n            allUsers: true,\n        },\n    },\n    mcpDcrEnabled: false,\n    additionalTextFileTypes: [\"example\"],\n    bundleRequireNote: false,\n    bundleSendSharedReceipts: false,\n    bundlesDefaultOwnedByPrimaryGroup: false,\n    calculateFileChecksumsCrc32: false,\n    calculateFileChecksumsMd5: false,\n    calculateFileChecksumsSha1: false,\n    calculateFileChecksumsSha256: false,\n    legacyChecksumsMode: false,\n    migrateRemoteServerSyncToSync: false,\n    as2MessageRetentionDays: 1,\n    usernameDisplay: \"username_only\",\n    sessionExpiryMinutes: 1,\n    sslRequired: false,\n    sftpInsecureCiphers: false,\n    sftpInsecureDiffieHellman: false,\n    disableFilesCertificateGeneration: false,\n    fedramp: false,\n    userLockout: false,\n    userLockoutTries: 1,\n    userLockoutWithin: 1,\n    userLockoutLockPeriod: 1,\n    includePasswordInWelcomeEmail: false,\n    allowedCountries: \"US,DE\",\n    allowedIps: \"example\",\n    allowUserLevel2faOverride: false,\n    allowUserLevelAllowedIpOverride: false,\n    allowUserLevelSslOverride: false,\n    disallowedCountries: \"US,DE\",\n    daysToRetainBackups: 1,\n    maxPriorPasswords: 1,\n    passwordValidityDays: 1,\n    passwordMinLength: 1,\n    passwordRequireLetter: false,\n    passwordRequireMixed: false,\n    passwordRequireSpecial: false,\n    passwordRequireNumber: false,\n    passwordRequireUnbreached: false,\n    requireLogoutFromBundlesAndInboxes: false,\n    davUserRootEnabled: false,\n    sftpUserRootEnabled: false,\n    disablePasswordReset: false,\n    immutableFiles: false,\n    bundleNotFoundMessage: \"example\",\n    bundlePasswordRequired: false,\n    bundleRequireRegistration: false,\n    bundleRequireShareRecipient: false,\n    bundleSendOneTimePasswordToRecipientAtRegistration: false,\n    bundleRegistrationNotifications: \"never\",\n    bundleActivityNotifications: \"never\",\n    bundleUploadReceiptNotifications: \"never\",\n    documentEditsInBundleAllowed: false,\n    passwordRequirementsApplyToBundles: false,\n    preventRootPermissionsForNonSiteAdmins: false,\n    restrictRootFolderBehaviorsToSiteAdmins: false,\n    rootFolderBehaviorsApplyToWorkspaces: false,\n    optOutGlobal: false,\n    useProvidedModifiedAt: false,\n    customNamespace: false,\n    nonSsoGroupsAllowed: false,\n    nonSsoUsersAllowed: false,\n    sharingEnabled: false,\n    snapshotSharingEnabled: false,\n    userRequestsEnabled: false,\n    userRequestsNotifyAdmins: false,\n    davEnabled: false,\n    ftpEnabled: false,\n    sftpEnabled: false,\n    sftpFinalizePartialUploads: false,\n    usersCanCreateApiKeys: false,\n    usersCanCreateSshKeys: false,\n    showUserNotificationsLogInLink: false,\n    sftpHostKeyType: \"default\",\n    activeSftpHostKeyId: 1,\n    protocolAccessGroupsOnly: false,\n    revokeBundleAccessOnDisableOrDelete: false,\n    bundleWatermarkValue: {\n        key: \"example value\",\n    },\n    groupAdminsCanAddUsers: false,\n    groupAdminsCanManageGroupMemberships: false,\n    groupAdminsCanDeleteUsers: false,\n    groupAdminsCanEnableDisableUsers: false,\n    groupAdminsCanModifyUsers: false,\n    groupAdminsCanBypassUserLifecycleRules: false,\n    groupAdminsCanResetPasswords: false,\n    groupAdminsCanSetUserPassword: false,\n    bundleRecipientBlacklistFreeEmailDomains: false,\n    bundleRecipientBlacklistDomains: [\"example\"],\n    adminsBypassLockedSubfolders: false,\n    allowed2faMethodSms: false,\n    allowed2faMethodTotp: false,\n    allowed2faMethodWebauthn: false,\n    allowed2faMethodYubi: false,\n    allowed2faMethodEmail: false,\n    allowed2faMethodStatic: false,\n    allowed2faMethodBypassForFtpSftpDav: false,\n    require2fa: false,\n    require2faExemptAllSsoUsers: false,\n    require2faUserType: \"`site_admins`\",\n    color2Top: \"#000000\",\n    color2Left: \"#0066a7\",\n    color2Link: \"#d34f5d\",\n    color2Text: \"#0066a7\",\n    color2TopText: \"#ffffff\",\n    siteHeader: \"example\",\n    siteFooter: \"example\",\n    sitePublicHeader: \"example\",\n    sitePublicFooter: \"example\",\n    loginHelpText: \"Login page help text.\",\n    useDedicatedIpsForSmtp: false,\n    emailFooterCustomText: \"Copyright © %Y MyCompany Inc.\",\n    smtpAddress: \"smtp.my-mail-server.com\",\n    smtpAuthentication: \"plain\",\n    smtpFrom: \"me@my-mail-server.com\",\n    smtpUsername: \"mail\",\n    smtpPort: 1,\n    ldapEnabled: false,\n    ldapType: \"open_ldap\",\n    ldapHost: \"ldap.site.com\",\n    ldapHost2: \"ldap2.site.com\",\n    ldapHost3: \"ldap3.site.com\",\n    ldapPort: 1,\n    ldapSecure: false,\n    ldapUsername: \"[ldap username]\",\n    ldapUsernameField: \"sAMAccountName\",\n    ldapDomain: \"mysite.com\",\n    ldapUserAction: \"disabled\",\n    ldapGroupAction: \"disabled\",\n    ldapUserIncludeGroups: \"example\",\n    ldapGroupExclusion: \"example\",\n    ldapGroupInclusion: \"example\",\n    ldapBaseDn: \"example\",\n    uploadsViaEmailAuthentication: false,\n    icon16Delete: false,\n    icon32Delete: false,\n    icon48Delete: false,\n    icon128Delete: false,\n    logoDelete: false,\n    bundleWatermarkAttachmentDelete: false,\n    loginPageBackgroundImageDelete: false,\n    disable2faWithDelay: false,\n    redirectOldSubdomain: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_site = filescom.Site(\"example_site\",\n    name=\"My Site\",\n    subdomain=\"mysite\",\n    domain=\"my-custom-domain.com\",\n    domain_hsts_header=False,\n    domain_letsencrypt_chain=\"example\",\n    email=\"john.doe@files.com\",\n    reply_to_email=\"jane.doe@files.com\",\n    allow_bundle_names=False,\n    bundle_expiration=1,\n    welcome_email_enabled=False,\n    ask_about_overwrites=False,\n    show_request_access_link=False,\n    always_mkdir_parents=False,\n    welcome_email_cc=\"example\",\n    welcome_email_subject=\"example\",\n    welcome_custom_text=\"Welcome to my site!\",\n    language=\"en\",\n    windows_mode_ftp=False,\n    default_time_zone=\"Pacific Time (US \u0026 Canada)\",\n    desktop_app=False,\n    desktop_app_session_ip_pinning=False,\n    desktop_app_session_lifetime=1,\n    mobile_app=False,\n    mobile_app_session_ip_pinning=False,\n    mobile_app_session_lifetime=1,\n    folder_permissions_groups_only=False,\n    welcome_screen=\"user_controlled\",\n    office_integration_available=False,\n    office_integration_type=\"example\",\n    pin_all_remote_servers_to_site_region=False,\n    motd_text=\"example\",\n    motd_use_for_ftp=False,\n    motd_use_for_sftp=False,\n    disable_all_ai_features=False,\n    ai_feature_availability={\n        \"inAppAiAssistant\": {\n            \"siteAdmins\": True,\n            \"workspaceAdmins\": True,\n            \"folderAdmins\": True,\n            \"allUsers\": True,\n        },\n    },\n    mcp_dcr_enabled=False,\n    additional_text_file_types=[\"example\"],\n    bundle_require_note=False,\n    bundle_send_shared_receipts=False,\n    bundles_default_owned_by_primary_group=False,\n    calculate_file_checksums_crc32=False,\n    calculate_file_checksums_md5=False,\n    calculate_file_checksums_sha1=False,\n    calculate_file_checksums_sha256=False,\n    legacy_checksums_mode=False,\n    migrate_remote_server_sync_to_sync=False,\n    as2_message_retention_days=1,\n    username_display=\"username_only\",\n    session_expiry_minutes=1,\n    ssl_required=False,\n    sftp_insecure_ciphers=False,\n    sftp_insecure_diffie_hellman=False,\n    disable_files_certificate_generation=False,\n    fedramp=False,\n    user_lockout=False,\n    user_lockout_tries=1,\n    user_lockout_within=1,\n    user_lockout_lock_period=1,\n    include_password_in_welcome_email=False,\n    allowed_countries=\"US,DE\",\n    allowed_ips=\"example\",\n    allow_user_level2fa_override=False,\n    allow_user_level_allowed_ip_override=False,\n    allow_user_level_ssl_override=False,\n    disallowed_countries=\"US,DE\",\n    days_to_retain_backups=1,\n    max_prior_passwords=1,\n    password_validity_days=1,\n    password_min_length=1,\n    password_require_letter=False,\n    password_require_mixed=False,\n    password_require_special=False,\n    password_require_number=False,\n    password_require_unbreached=False,\n    require_logout_from_bundles_and_inboxes=False,\n    dav_user_root_enabled=False,\n    sftp_user_root_enabled=False,\n    disable_password_reset=False,\n    immutable_files=False,\n    bundle_not_found_message=\"example\",\n    bundle_password_required=False,\n    bundle_require_registration=False,\n    bundle_require_share_recipient=False,\n    bundle_send_one_time_password_to_recipient_at_registration=False,\n    bundle_registration_notifications=\"never\",\n    bundle_activity_notifications=\"never\",\n    bundle_upload_receipt_notifications=\"never\",\n    document_edits_in_bundle_allowed=False,\n    password_requirements_apply_to_bundles=False,\n    prevent_root_permissions_for_non_site_admins=False,\n    restrict_root_folder_behaviors_to_site_admins=False,\n    root_folder_behaviors_apply_to_workspaces=False,\n    opt_out_global=False,\n    use_provided_modified_at=False,\n    custom_namespace=False,\n    non_sso_groups_allowed=False,\n    non_sso_users_allowed=False,\n    sharing_enabled=False,\n    snapshot_sharing_enabled=False,\n    user_requests_enabled=False,\n    user_requests_notify_admins=False,\n    dav_enabled=False,\n    ftp_enabled=False,\n    sftp_enabled=False,\n    sftp_finalize_partial_uploads=False,\n    users_can_create_api_keys=False,\n    users_can_create_ssh_keys=False,\n    show_user_notifications_log_in_link=False,\n    sftp_host_key_type=\"default\",\n    active_sftp_host_key_id=1,\n    protocol_access_groups_only=False,\n    revoke_bundle_access_on_disable_or_delete=False,\n    bundle_watermark_value={\n        \"key\": \"example value\",\n    },\n    group_admins_can_add_users=False,\n    group_admins_can_manage_group_memberships=False,\n    group_admins_can_delete_users=False,\n    group_admins_can_enable_disable_users=False,\n    group_admins_can_modify_users=False,\n    group_admins_can_bypass_user_lifecycle_rules=False,\n    group_admins_can_reset_passwords=False,\n    group_admins_can_set_user_password=False,\n    bundle_recipient_blacklist_free_email_domains=False,\n    bundle_recipient_blacklist_domains=[\"example\"],\n    admins_bypass_locked_subfolders=False,\n    allowed2fa_method_sms=False,\n    allowed2fa_method_totp=False,\n    allowed2fa_method_webauthn=False,\n    allowed2fa_method_yubi=False,\n    allowed2fa_method_email=False,\n    allowed2fa_method_static=False,\n    allowed2fa_method_bypass_for_ftp_sftp_dav=False,\n    require2fa=False,\n    require2fa_exempt_all_sso_users=False,\n    require2fa_user_type=\"`site_admins`\",\n    color2_top=\"#000000\",\n    color2_left=\"#0066a7\",\n    color2_link=\"#d34f5d\",\n    color2_text=\"#0066a7\",\n    color2_top_text=\"#ffffff\",\n    site_header=\"example\",\n    site_footer=\"example\",\n    site_public_header=\"example\",\n    site_public_footer=\"example\",\n    login_help_text=\"Login page help text.\",\n    use_dedicated_ips_for_smtp=False,\n    email_footer_custom_text=\"Copyright © %Y MyCompany Inc.\",\n    smtp_address=\"smtp.my-mail-server.com\",\n    smtp_authentication=\"plain\",\n    smtp_from=\"me@my-mail-server.com\",\n    smtp_username=\"mail\",\n    smtp_port=1,\n    ldap_enabled=False,\n    ldap_type=\"open_ldap\",\n    ldap_host=\"ldap.site.com\",\n    ldap_host2=\"ldap2.site.com\",\n    ldap_host3=\"ldap3.site.com\",\n    ldap_port=1,\n    ldap_secure=False,\n    ldap_username=\"[ldap username]\",\n    ldap_username_field=\"sAMAccountName\",\n    ldap_domain=\"mysite.com\",\n    ldap_user_action=\"disabled\",\n    ldap_group_action=\"disabled\",\n    ldap_user_include_groups=\"example\",\n    ldap_group_exclusion=\"example\",\n    ldap_group_inclusion=\"example\",\n    ldap_base_dn=\"example\",\n    uploads_via_email_authentication=False,\n    icon16_delete=False,\n    icon32_delete=False,\n    icon48_delete=False,\n    icon128_delete=False,\n    logo_delete=False,\n    bundle_watermark_attachment_delete=False,\n    login_page_background_image_delete=False,\n    disable2fa_with_delay=False,\n    redirect_old_subdomain=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleSite = new Filescom.Site(\"example_site\", new()\n    {\n        Name = \"My Site\",\n        Subdomain = \"mysite\",\n        Domain = \"my-custom-domain.com\",\n        DomainHstsHeader = false,\n        DomainLetsencryptChain = \"example\",\n        Email = \"john.doe@files.com\",\n        ReplyToEmail = \"jane.doe@files.com\",\n        AllowBundleNames = false,\n        BundleExpiration = 1,\n        WelcomeEmailEnabled = false,\n        AskAboutOverwrites = false,\n        ShowRequestAccessLink = false,\n        AlwaysMkdirParents = false,\n        WelcomeEmailCc = \"example\",\n        WelcomeEmailSubject = \"example\",\n        WelcomeCustomText = \"Welcome to my site!\",\n        Language = \"en\",\n        WindowsModeFtp = false,\n        DefaultTimeZone = \"Pacific Time (US \u0026 Canada)\",\n        DesktopApp = false,\n        DesktopAppSessionIpPinning = false,\n        DesktopAppSessionLifetime = 1,\n        MobileApp = false,\n        MobileAppSessionIpPinning = false,\n        MobileAppSessionLifetime = 1,\n        FolderPermissionsGroupsOnly = false,\n        WelcomeScreen = \"user_controlled\",\n        OfficeIntegrationAvailable = false,\n        OfficeIntegrationType = \"example\",\n        PinAllRemoteServersToSiteRegion = false,\n        MotdText = \"example\",\n        MotdUseForFtp = false,\n        MotdUseForSftp = false,\n        DisableAllAiFeatures = false,\n        AiFeatureAvailability = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"inAppAiAssistant\"] = new Dictionary\u003cstring, object?\u003e\n            {\n                [\"siteAdmins\"] = true,\n                [\"workspaceAdmins\"] = true,\n                [\"folderAdmins\"] = true,\n                [\"allUsers\"] = true,\n            },\n        },\n        McpDcrEnabled = false,\n        AdditionalTextFileTypes = new[]\n        {\n            \"example\",\n        },\n        BundleRequireNote = false,\n        BundleSendSharedReceipts = false,\n        BundlesDefaultOwnedByPrimaryGroup = false,\n        CalculateFileChecksumsCrc32 = false,\n        CalculateFileChecksumsMd5 = false,\n        CalculateFileChecksumsSha1 = false,\n        CalculateFileChecksumsSha256 = false,\n        LegacyChecksumsMode = false,\n        MigrateRemoteServerSyncToSync = false,\n        As2MessageRetentionDays = 1,\n        UsernameDisplay = \"username_only\",\n        SessionExpiryMinutes = 1,\n        SslRequired = false,\n        SftpInsecureCiphers = false,\n        SftpInsecureDiffieHellman = false,\n        DisableFilesCertificateGeneration = false,\n        Fedramp = false,\n        UserLockout = false,\n        UserLockoutTries = 1,\n        UserLockoutWithin = 1,\n        UserLockoutLockPeriod = 1,\n        IncludePasswordInWelcomeEmail = false,\n        AllowedCountries = \"US,DE\",\n        AllowedIps = \"example\",\n        AllowUserLevel2faOverride = false,\n        AllowUserLevelAllowedIpOverride = false,\n        AllowUserLevelSslOverride = false,\n        DisallowedCountries = \"US,DE\",\n        DaysToRetainBackups = 1,\n        MaxPriorPasswords = 1,\n        PasswordValidityDays = 1,\n        PasswordMinLength = 1,\n        PasswordRequireLetter = false,\n        PasswordRequireMixed = false,\n        PasswordRequireSpecial = false,\n        PasswordRequireNumber = false,\n        PasswordRequireUnbreached = false,\n        RequireLogoutFromBundlesAndInboxes = false,\n        DavUserRootEnabled = false,\n        SftpUserRootEnabled = false,\n        DisablePasswordReset = false,\n        ImmutableFiles = false,\n        BundleNotFoundMessage = \"example\",\n        BundlePasswordRequired = false,\n        BundleRequireRegistration = false,\n        BundleRequireShareRecipient = false,\n        BundleSendOneTimePasswordToRecipientAtRegistration = false,\n        BundleRegistrationNotifications = \"never\",\n        BundleActivityNotifications = \"never\",\n        BundleUploadReceiptNotifications = \"never\",\n        DocumentEditsInBundleAllowed = false,\n        PasswordRequirementsApplyToBundles = false,\n        PreventRootPermissionsForNonSiteAdmins = false,\n        RestrictRootFolderBehaviorsToSiteAdmins = false,\n        RootFolderBehaviorsApplyToWorkspaces = false,\n        OptOutGlobal = false,\n        UseProvidedModifiedAt = false,\n        CustomNamespace = false,\n        NonSsoGroupsAllowed = false,\n        NonSsoUsersAllowed = false,\n        SharingEnabled = false,\n        SnapshotSharingEnabled = false,\n        UserRequestsEnabled = false,\n        UserRequestsNotifyAdmins = false,\n        DavEnabled = false,\n        FtpEnabled = false,\n        SftpEnabled = false,\n        SftpFinalizePartialUploads = false,\n        UsersCanCreateApiKeys = false,\n        UsersCanCreateSshKeys = false,\n        ShowUserNotificationsLogInLink = false,\n        SftpHostKeyType = \"default\",\n        ActiveSftpHostKeyId = 1,\n        ProtocolAccessGroupsOnly = false,\n        RevokeBundleAccessOnDisableOrDelete = false,\n        BundleWatermarkValue = new Dictionary\u003cstring, object?\u003e\n        {\n            [\"key\"] = \"example value\",\n        },\n        GroupAdminsCanAddUsers = false,\n        GroupAdminsCanManageGroupMemberships = false,\n        GroupAdminsCanDeleteUsers = false,\n        GroupAdminsCanEnableDisableUsers = false,\n        GroupAdminsCanModifyUsers = false,\n        GroupAdminsCanBypassUserLifecycleRules = false,\n        GroupAdminsCanResetPasswords = false,\n        GroupAdminsCanSetUserPassword = false,\n        BundleRecipientBlacklistFreeEmailDomains = false,\n        BundleRecipientBlacklistDomains = new[]\n        {\n            \"example\",\n        },\n        AdminsBypassLockedSubfolders = false,\n        Allowed2faMethodSms = false,\n        Allowed2faMethodTotp = false,\n        Allowed2faMethodWebauthn = false,\n        Allowed2faMethodYubi = false,\n        Allowed2faMethodEmail = false,\n        Allowed2faMethodStatic = false,\n        Allowed2faMethodBypassForFtpSftpDav = false,\n        Require2fa = false,\n        Require2faExemptAllSsoUsers = false,\n        Require2faUserType = \"`site_admins`\",\n        Color2Top = \"#000000\",\n        Color2Left = \"#0066a7\",\n        Color2Link = \"#d34f5d\",\n        Color2Text = \"#0066a7\",\n        Color2TopText = \"#ffffff\",\n        SiteHeader = \"example\",\n        SiteFooter = \"example\",\n        SitePublicHeader = \"example\",\n        SitePublicFooter = \"example\",\n        LoginHelpText = \"Login page help text.\",\n        UseDedicatedIpsForSmtp = false,\n        EmailFooterCustomText = \"Copyright © %Y MyCompany Inc.\",\n        SmtpAddress = \"smtp.my-mail-server.com\",\n        SmtpAuthentication = \"plain\",\n        SmtpFrom = \"me@my-mail-server.com\",\n        SmtpUsername = \"mail\",\n        SmtpPort = 1,\n        LdapEnabled = false,\n        LdapType = \"open_ldap\",\n        LdapHost = \"ldap.site.com\",\n        LdapHost2 = \"ldap2.site.com\",\n        LdapHost3 = \"ldap3.site.com\",\n        LdapPort = 1,\n        LdapSecure = false,\n        LdapUsername = \"[ldap username]\",\n        LdapUsernameField = \"sAMAccountName\",\n        LdapDomain = \"mysite.com\",\n        LdapUserAction = \"disabled\",\n        LdapGroupAction = \"disabled\",\n        LdapUserIncludeGroups = \"example\",\n        LdapGroupExclusion = \"example\",\n        LdapGroupInclusion = \"example\",\n        LdapBaseDn = \"example\",\n        UploadsViaEmailAuthentication = false,\n        Icon16Delete = false,\n        Icon32Delete = false,\n        Icon48Delete = false,\n        Icon128Delete = false,\n        LogoDelete = false,\n        BundleWatermarkAttachmentDelete = false,\n        LoginPageBackgroundImageDelete = false,\n        Disable2faWithDelay = false,\n        RedirectOldSubdomain = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewSite(ctx, \"example_site\", \u0026filescom.SiteArgs{\n\t\t\tName:                            pulumi.String(\"My Site\"),\n\t\t\tSubdomain:                       pulumi.String(\"mysite\"),\n\t\t\tDomain:                          pulumi.String(\"my-custom-domain.com\"),\n\t\t\tDomainHstsHeader:                pulumi.Bool(false),\n\t\t\tDomainLetsencryptChain:          pulumi.String(\"example\"),\n\t\t\tEmail:                           pulumi.String(\"john.doe@files.com\"),\n\t\t\tReplyToEmail:                    pulumi.String(\"jane.doe@files.com\"),\n\t\t\tAllowBundleNames:                pulumi.Bool(false),\n\t\t\tBundleExpiration:                pulumi.Int(1),\n\t\t\tWelcomeEmailEnabled:             pulumi.Bool(false),\n\t\t\tAskAboutOverwrites:              pulumi.Bool(false),\n\t\t\tShowRequestAccessLink:           pulumi.Bool(false),\n\t\t\tAlwaysMkdirParents:              pulumi.Bool(false),\n\t\t\tWelcomeEmailCc:                  pulumi.String(\"example\"),\n\t\t\tWelcomeEmailSubject:             pulumi.String(\"example\"),\n\t\t\tWelcomeCustomText:               pulumi.String(\"Welcome to my site!\"),\n\t\t\tLanguage:                        pulumi.String(\"en\"),\n\t\t\tWindowsModeFtp:                  pulumi.Bool(false),\n\t\t\tDefaultTimeZone:                 pulumi.String(\"Pacific Time (US \u0026 Canada)\"),\n\t\t\tDesktopApp:                      pulumi.Bool(false),\n\t\t\tDesktopAppSessionIpPinning:      pulumi.Bool(false),\n\t\t\tDesktopAppSessionLifetime:       pulumi.Int(1),\n\t\t\tMobileApp:                       pulumi.Bool(false),\n\t\t\tMobileAppSessionIpPinning:       pulumi.Bool(false),\n\t\t\tMobileAppSessionLifetime:        pulumi.Int(1),\n\t\t\tFolderPermissionsGroupsOnly:     pulumi.Bool(false),\n\t\t\tWelcomeScreen:                   pulumi.String(\"user_controlled\"),\n\t\t\tOfficeIntegrationAvailable:      pulumi.Bool(false),\n\t\t\tOfficeIntegrationType:           pulumi.String(\"example\"),\n\t\t\tPinAllRemoteServersToSiteRegion: pulumi.Bool(false),\n\t\t\tMotdText:                        pulumi.String(\"example\"),\n\t\t\tMotdUseForFtp:                   pulumi.Bool(false),\n\t\t\tMotdUseForSftp:                  pulumi.Bool(false),\n\t\t\tDisableAllAiFeatures:            pulumi.Bool(false),\n\t\t\tAiFeatureAvailability: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"inAppAiAssistant\": map[string]bool{\n\t\t\t\t\t\"siteAdmins\":      true,\n\t\t\t\t\t\"workspaceAdmins\": true,\n\t\t\t\t\t\"folderAdmins\":    true,\n\t\t\t\t\t\"allUsers\":        true,\n\t\t\t\t},\n\t\t\t}),\n\t\t\tMcpDcrEnabled: pulumi.Bool(false),\n\t\t\tAdditionalTextFileTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example\"),\n\t\t\t},\n\t\t\tBundleRequireNote:                                  pulumi.Bool(false),\n\t\t\tBundleSendSharedReceipts:                           pulumi.Bool(false),\n\t\t\tBundlesDefaultOwnedByPrimaryGroup:                  pulumi.Bool(false),\n\t\t\tCalculateFileChecksumsCrc32:                        pulumi.Bool(false),\n\t\t\tCalculateFileChecksumsMd5:                          pulumi.Bool(false),\n\t\t\tCalculateFileChecksumsSha1:                         pulumi.Bool(false),\n\t\t\tCalculateFileChecksumsSha256:                       pulumi.Bool(false),\n\t\t\tLegacyChecksumsMode:                                pulumi.Bool(false),\n\t\t\tMigrateRemoteServerSyncToSync:                      pulumi.Bool(false),\n\t\t\tAs2MessageRetentionDays:                            pulumi.Int(1),\n\t\t\tUsernameDisplay:                                    pulumi.String(\"username_only\"),\n\t\t\tSessionExpiryMinutes:                               pulumi.Int(1),\n\t\t\tSslRequired:                                        pulumi.Bool(false),\n\t\t\tSftpInsecureCiphers:                                pulumi.Bool(false),\n\t\t\tSftpInsecureDiffieHellman:                          pulumi.Bool(false),\n\t\t\tDisableFilesCertificateGeneration:                  pulumi.Bool(false),\n\t\t\tFedramp:                                            pulumi.Bool(false),\n\t\t\tUserLockout:                                        pulumi.Bool(false),\n\t\t\tUserLockoutTries:                                   pulumi.Int(1),\n\t\t\tUserLockoutWithin:                                  pulumi.Int(1),\n\t\t\tUserLockoutLockPeriod:                              pulumi.Int(1),\n\t\t\tIncludePasswordInWelcomeEmail:                      pulumi.Bool(false),\n\t\t\tAllowedCountries:                                   pulumi.String(\"US,DE\"),\n\t\t\tAllowedIps:                                         pulumi.String(\"example\"),\n\t\t\tAllowUserLevel2faOverride:                          pulumi.Bool(false),\n\t\t\tAllowUserLevelAllowedIpOverride:                    pulumi.Bool(false),\n\t\t\tAllowUserLevelSslOverride:                          pulumi.Bool(false),\n\t\t\tDisallowedCountries:                                pulumi.String(\"US,DE\"),\n\t\t\tDaysToRetainBackups:                                pulumi.Int(1),\n\t\t\tMaxPriorPasswords:                                  pulumi.Int(1),\n\t\t\tPasswordValidityDays:                               pulumi.Int(1),\n\t\t\tPasswordMinLength:                                  pulumi.Int(1),\n\t\t\tPasswordRequireLetter:                              pulumi.Bool(false),\n\t\t\tPasswordRequireMixed:                               pulumi.Bool(false),\n\t\t\tPasswordRequireSpecial:                             pulumi.Bool(false),\n\t\t\tPasswordRequireNumber:                              pulumi.Bool(false),\n\t\t\tPasswordRequireUnbreached:                          pulumi.Bool(false),\n\t\t\tRequireLogoutFromBundlesAndInboxes:                 pulumi.Bool(false),\n\t\t\tDavUserRootEnabled:                                 pulumi.Bool(false),\n\t\t\tSftpUserRootEnabled:                                pulumi.Bool(false),\n\t\t\tDisablePasswordReset:                               pulumi.Bool(false),\n\t\t\tImmutableFiles:                                     false,\n\t\t\tBundleNotFoundMessage:                              pulumi.String(\"example\"),\n\t\t\tBundlePasswordRequired:                             pulumi.Bool(false),\n\t\t\tBundleRequireRegistration:                          pulumi.Bool(false),\n\t\t\tBundleRequireShareRecipient:                        pulumi.Bool(false),\n\t\t\tBundleSendOneTimePasswordToRecipientAtRegistration: pulumi.Bool(false),\n\t\t\tBundleRegistrationNotifications:                    pulumi.String(\"never\"),\n\t\t\tBundleActivityNotifications:                        pulumi.String(\"never\"),\n\t\t\tBundleUploadReceiptNotifications:                   pulumi.String(\"never\"),\n\t\t\tDocumentEditsInBundleAllowed:                       pulumi.Bool(false),\n\t\t\tPasswordRequirementsApplyToBundles:                 pulumi.Bool(false),\n\t\t\tPreventRootPermissionsForNonSiteAdmins:             pulumi.Bool(false),\n\t\t\tRestrictRootFolderBehaviorsToSiteAdmins:            pulumi.Bool(false),\n\t\t\tRootFolderBehaviorsApplyToWorkspaces:               pulumi.Bool(false),\n\t\t\tOptOutGlobal:                                       pulumi.Bool(false),\n\t\t\tUseProvidedModifiedAt:                              pulumi.Bool(false),\n\t\t\tCustomNamespace:                                    pulumi.Bool(false),\n\t\t\tNonSsoGroupsAllowed:                                pulumi.Bool(false),\n\t\t\tNonSsoUsersAllowed:                                 pulumi.Bool(false),\n\t\t\tSharingEnabled:                                     pulumi.Bool(false),\n\t\t\tSnapshotSharingEnabled:                             pulumi.Bool(false),\n\t\t\tUserRequestsEnabled:                                pulumi.Bool(false),\n\t\t\tUserRequestsNotifyAdmins:                           pulumi.Bool(false),\n\t\t\tDavEnabled:                                         pulumi.Bool(false),\n\t\t\tFtpEnabled:                                         pulumi.Bool(false),\n\t\t\tSftpEnabled:                                        pulumi.Bool(false),\n\t\t\tSftpFinalizePartialUploads:                         pulumi.Bool(false),\n\t\t\tUsersCanCreateApiKeys:                              pulumi.Bool(false),\n\t\t\tUsersCanCreateSshKeys:                              pulumi.Bool(false),\n\t\t\tShowUserNotificationsLogInLink:                     pulumi.Bool(false),\n\t\t\tSftpHostKeyType:                                    pulumi.String(\"default\"),\n\t\t\tActiveSftpHostKeyId:                                pulumi.Int(1),\n\t\t\tProtocolAccessGroupsOnly:                           pulumi.Bool(false),\n\t\t\tRevokeBundleAccessOnDisableOrDelete:                pulumi.Bool(false),\n\t\t\tBundleWatermarkValue: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"key\": \"example value\",\n\t\t\t}),\n\t\t\tGroupAdminsCanAddUsers:                   pulumi.Bool(false),\n\t\t\tGroupAdminsCanManageGroupMemberships:     pulumi.Bool(false),\n\t\t\tGroupAdminsCanDeleteUsers:                pulumi.Bool(false),\n\t\t\tGroupAdminsCanEnableDisableUsers:         pulumi.Bool(false),\n\t\t\tGroupAdminsCanModifyUsers:                pulumi.Bool(false),\n\t\t\tGroupAdminsCanBypassUserLifecycleRules:   pulumi.Bool(false),\n\t\t\tGroupAdminsCanResetPasswords:             pulumi.Bool(false),\n\t\t\tGroupAdminsCanSetUserPassword:            pulumi.Bool(false),\n\t\t\tBundleRecipientBlacklistFreeEmailDomains: pulumi.Bool(false),\n\t\t\tBundleRecipientBlacklistDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example\"),\n\t\t\t},\n\t\t\tAdminsBypassLockedSubfolders:        pulumi.Bool(false),\n\t\t\tAllowed2faMethodSms:                 pulumi.Bool(false),\n\t\t\tAllowed2faMethodTotp:                pulumi.Bool(false),\n\t\t\tAllowed2faMethodWebauthn:            pulumi.Bool(false),\n\t\t\tAllowed2faMethodYubi:                pulumi.Bool(false),\n\t\t\tAllowed2faMethodEmail:               pulumi.Bool(false),\n\t\t\tAllowed2faMethodStatic:              pulumi.Bool(false),\n\t\t\tAllowed2faMethodBypassForFtpSftpDav: pulumi.Bool(false),\n\t\t\tRequire2fa:                          pulumi.Bool(false),\n\t\t\tRequire2faExemptAllSsoUsers:         pulumi.Bool(false),\n\t\t\tRequire2faUserType:                  pulumi.String(\"`site_admins`\"),\n\t\t\tColor2Top:                           pulumi.String(\"#000000\"),\n\t\t\tColor2Left:                          pulumi.String(\"#0066a7\"),\n\t\t\tColor2Link:                          pulumi.String(\"#d34f5d\"),\n\t\t\tColor2Text:                          pulumi.String(\"#0066a7\"),\n\t\t\tColor2TopText:                       pulumi.String(\"#ffffff\"),\n\t\t\tSiteHeader:                          pulumi.String(\"example\"),\n\t\t\tSiteFooter:                          pulumi.String(\"example\"),\n\t\t\tSitePublicHeader:                    pulumi.String(\"example\"),\n\t\t\tSitePublicFooter:                    pulumi.String(\"example\"),\n\t\t\tLoginHelpText:                       pulumi.String(\"Login page help text.\"),\n\t\t\tUseDedicatedIpsForSmtp:              pulumi.Bool(false),\n\t\t\tEmailFooterCustomText:               pulumi.String(\"Copyright © %Y MyCompany Inc.\"),\n\t\t\tSmtpAddress:                         pulumi.String(\"smtp.my-mail-server.com\"),\n\t\t\tSmtpAuthentication:                  pulumi.String(\"plain\"),\n\t\t\tSmtpFrom:                            pulumi.String(\"me@my-mail-server.com\"),\n\t\t\tSmtpUsername:                        pulumi.String(\"mail\"),\n\t\t\tSmtpPort:                            pulumi.Int(1),\n\t\t\tLdapEnabled:                         pulumi.Bool(false),\n\t\t\tLdapType:                            pulumi.String(\"open_ldap\"),\n\t\t\tLdapHost:                            pulumi.String(\"ldap.site.com\"),\n\t\t\tLdapHost2:                           pulumi.String(\"ldap2.site.com\"),\n\t\t\tLdapHost3:                           pulumi.String(\"ldap3.site.com\"),\n\t\t\tLdapPort:                            pulumi.Int(1),\n\t\t\tLdapSecure:                          pulumi.Bool(false),\n\t\t\tLdapUsername:                        pulumi.String(\"[ldap username]\"),\n\t\t\tLdapUsernameField:                   pulumi.String(\"sAMAccountName\"),\n\t\t\tLdapDomain:                          pulumi.String(\"mysite.com\"),\n\t\t\tLdapUserAction:                      pulumi.String(\"disabled\"),\n\t\t\tLdapGroupAction:                     pulumi.String(\"disabled\"),\n\t\t\tLdapUserIncludeGroups:               pulumi.String(\"example\"),\n\t\t\tLdapGroupExclusion:                  pulumi.String(\"example\"),\n\t\t\tLdapGroupInclusion:                  pulumi.String(\"example\"),\n\t\t\tLdapBaseDn:                          pulumi.String(\"example\"),\n\t\t\tUploadsViaEmailAuthentication:       pulumi.Bool(false),\n\t\t\tIcon16Delete:                        false,\n\t\t\tIcon32Delete:                        false,\n\t\t\tIcon48Delete:                        false,\n\t\t\tIcon128Delete:                       false,\n\t\t\tLogoDelete:                          false,\n\t\t\tBundleWatermarkAttachmentDelete:     false,\n\t\t\tLoginPageBackgroundImageDelete:      false,\n\t\t\tDisable2faWithDelay:                 false,\n\t\t\tRedirectOldSubdomain:                false,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_site\" \"example_site\" {\n  name                                  = \"My Site\"\n  subdomain                             = \"mysite\"\n  domain                                = \"my-custom-domain.com\"\n  domain_hsts_header                    = false\n  domain_letsencrypt_chain              = \"example\"\n  email                                 = \"john.doe@files.com\"\n  reply_to_email                        = \"jane.doe@files.com\"\n  allow_bundle_names                    = false\n  bundle_expiration                     = 1\n  welcome_email_enabled                 = false\n  ask_about_overwrites                  = false\n  show_request_access_link              = false\n  always_mkdir_parents                  = false\n  welcome_email_cc                      = \"example\"\n  welcome_email_subject                 = \"example\"\n  welcome_custom_text                   = \"Welcome to my site!\"\n  language                              = \"en\"\n  windows_mode_ftp                      = false\n  default_time_zone                     = \"Pacific Time (US \u0026 Canada)\"\n  desktop_app                           = false\n  desktop_app_session_ip_pinning        = false\n  desktop_app_session_lifetime          = 1\n  mobile_app                            = false\n  mobile_app_session_ip_pinning         = false\n  mobile_app_session_lifetime           = 1\n  folder_permissions_groups_only        = false\n  welcome_screen                        = \"user_controlled\"\n  office_integration_available          = false\n  office_integration_type               = \"example\"\n  pin_all_remote_servers_to_site_region = false\n  motd_text                             = \"example\"\n  motd_use_for_ftp                      = false\n  motd_use_for_sftp                     = false\n  disable_all_ai_features               = false\n  ai_feature_availability = {\n    \"inAppAiAssistant\" = {\n      \"siteAdmins\"      = true\n      \"workspaceAdmins\" = true\n      \"folderAdmins\"    = true\n      \"allUsers\"        = true\n    }\n  }\n  mcp_dcr_enabled                                            = false\n  additional_text_file_types                                 = [\"example\"]\n  bundle_require_note                                        = false\n  bundle_send_shared_receipts                                = false\n  bundles_default_owned_by_primary_group                     = false\n  calculate_file_checksums_crc32                             = false\n  calculate_file_checksums_md5                               = false\n  calculate_file_checksums_sha1                              = false\n  calculate_file_checksums_sha256                            = false\n  legacy_checksums_mode                                      = false\n  migrate_remote_server_sync_to_sync                         = false\n  as2_message_retention_days                                 = 1\n  username_display                                           = \"username_only\"\n  session_expiry_minutes                                     = 1\n  ssl_required                                               = false\n  sftp_insecure_ciphers                                      = false\n  sftp_insecure_diffie_hellman                               = false\n  disable_files_certificate_generation                       = false\n  fedramp                                                    = false\n  user_lockout                                               = false\n  user_lockout_tries                                         = 1\n  user_lockout_within                                        = 1\n  user_lockout_lock_period                                   = 1\n  include_password_in_welcome_email                          = false\n  allowed_countries                                          = \"US,DE\"\n  allowed_ips                                                = \"example\"\n  allow_user_level2fa_override                               = false\n  allow_user_level_allowed_ip_override                       = false\n  allow_user_level_ssl_override                              = false\n  disallowed_countries                                       = \"US,DE\"\n  days_to_retain_backups                                     = 1\n  max_prior_passwords                                        = 1\n  password_validity_days                                     = 1\n  password_min_length                                        = 1\n  password_require_letter                                    = false\n  password_require_mixed                                     = false\n  password_require_special                                   = false\n  password_require_number                                    = false\n  password_require_unbreached                                = false\n  require_logout_from_bundles_and_inboxes                    = false\n  dav_user_root_enabled                                      = false\n  sftp_user_root_enabled                                     = false\n  disable_password_reset                                     = false\n  immutable_files                                            = false\n  bundle_not_found_message                                   = \"example\"\n  bundle_password_required                                   = false\n  bundle_require_registration                                = false\n  bundle_require_share_recipient                             = false\n  bundle_send_one_time_password_to_recipient_at_registration = false\n  bundle_registration_notifications                          = \"never\"\n  bundle_activity_notifications                              = \"never\"\n  bundle_upload_receipt_notifications                        = \"never\"\n  document_edits_in_bundle_allowed                           = false\n  password_requirements_apply_to_bundles                     = false\n  prevent_root_permissions_for_non_site_admins               = false\n  restrict_root_folder_behaviors_to_site_admins              = false\n  root_folder_behaviors_apply_to_workspaces                  = false\n  opt_out_global                                             = false\n  use_provided_modified_at                                   = false\n  custom_namespace                                           = false\n  non_sso_groups_allowed                                     = false\n  non_sso_users_allowed                                      = false\n  sharing_enabled                                            = false\n  snapshot_sharing_enabled                                   = false\n  user_requests_enabled                                      = false\n  user_requests_notify_admins                                = false\n  dav_enabled                                                = false\n  ftp_enabled                                                = false\n  sftp_enabled                                               = false\n  sftp_finalize_partial_uploads                              = false\n  users_can_create_api_keys                                  = false\n  users_can_create_ssh_keys                                  = false\n  show_user_notifications_log_in_link                        = false\n  sftp_host_key_type                                         = \"default\"\n  active_sftp_host_key_id                                    = 1\n  protocol_access_groups_only                                = false\n  revoke_bundle_access_on_disable_or_delete                  = false\n  bundle_watermark_value = {\n    \"key\" = \"example value\"\n  }\n  group_admins_can_add_users                    = false\n  group_admins_can_manage_group_memberships     = false\n  group_admins_can_delete_users                 = false\n  group_admins_can_enable_disable_users         = false\n  group_admins_can_modify_users                 = false\n  group_admins_can_bypass_user_lifecycle_rules  = false\n  group_admins_can_reset_passwords              = false\n  group_admins_can_set_user_password            = false\n  bundle_recipient_blacklist_free_email_domains = false\n  bundle_recipient_blacklist_domains            = [\"example\"]\n  admins_bypass_locked_subfolders               = false\n  allowed2fa_method_sms                         = false\n  allowed2fa_method_totp                        = false\n  allowed2fa_method_webauthn                    = false\n  allowed2fa_method_yubi                        = false\n  allowed2fa_method_email                       = false\n  allowed2fa_method_static                      = false\n  allowed2fa_method_bypass_for_ftp_sftp_dav     = false\n  require2fa                                    = false\n  require2fa_exempt_all_sso_users               = false\n  require2fa_user_type                          = \"`site_admins`\"\n  color2_top                                    = \"#000000\"\n  color2_left                                   = \"#0066a7\"\n  color2_link                                   = \"#d34f5d\"\n  color2_text                                   = \"#0066a7\"\n  color2_top_text                               = \"#ffffff\"\n  site_header                                   = \"example\"\n  site_footer                                   = \"example\"\n  site_public_header                            = \"example\"\n  site_public_footer                            = \"example\"\n  login_help_text                               = \"Login page help text.\"\n  use_dedicated_ips_for_smtp                    = false\n  email_footer_custom_text                      = \"Copyright © %Y MyCompany Inc.\"\n  smtp_address                                  = \"smtp.my-mail-server.com\"\n  smtp_authentication                           = \"plain\"\n  smtp_from                                     = \"me@my-mail-server.com\"\n  smtp_username                                 = \"mail\"\n  smtp_port                                     = 1\n  ldap_enabled                                  = false\n  ldap_type                                     = \"open_ldap\"\n  ldap_host                                     = \"ldap.site.com\"\n  ldap_host2                                    = \"ldap2.site.com\"\n  ldap_host3                                    = \"ldap3.site.com\"\n  ldap_port                                     = 1\n  ldap_secure                                   = false\n  ldap_username                                 = \"[ldap username]\"\n  ldap_username_field                           = \"sAMAccountName\"\n  ldap_domain                                   = \"mysite.com\"\n  ldap_user_action                              = \"disabled\"\n  ldap_group_action                             = \"disabled\"\n  ldap_user_include_groups                      = \"example\"\n  ldap_group_exclusion                          = \"example\"\n  ldap_group_inclusion                          = \"example\"\n  ldap_base_dn                                  = \"example\"\n  uploads_via_email_authentication              = false\n  icon16_delete                                 = false\n  icon32_delete                                 = false\n  icon48_delete                                 = false\n  icon128_delete                                = false\n  logo_delete                                   = false\n  bundle_watermark_attachment_delete            = false\n  login_page_background_image_delete            = false\n  disable2fa_with_delay                         = false\n  redirect_old_subdomain                        = false\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.Site;\nimport com.pulumi.filescom.SiteArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleSite = new Site(\"exampleSite\", SiteArgs.builder()\n            .name(\"My Site\")\n            .subdomain(\"mysite\")\n            .domain(\"my-custom-domain.com\")\n            .domainHstsHeader(false)\n            .domainLetsencryptChain(\"example\")\n            .email(\"john.doe@files.com\")\n            .replyToEmail(\"jane.doe@files.com\")\n            .allowBundleNames(false)\n            .bundleExpiration(1)\n            .welcomeEmailEnabled(false)\n            .askAboutOverwrites(false)\n            .showRequestAccessLink(false)\n            .alwaysMkdirParents(false)\n            .welcomeEmailCc(\"example\")\n            .welcomeEmailSubject(\"example\")\n            .welcomeCustomText(\"Welcome to my site!\")\n            .language(\"en\")\n            .windowsModeFtp(false)\n            .defaultTimeZone(\"Pacific Time (US \u0026 Canada)\")\n            .desktopApp(false)\n            .desktopAppSessionIpPinning(false)\n            .desktopAppSessionLifetime(1)\n            .mobileApp(false)\n            .mobileAppSessionIpPinning(false)\n            .mobileAppSessionLifetime(1)\n            .folderPermissionsGroupsOnly(false)\n            .welcomeScreen(\"user_controlled\")\n            .officeIntegrationAvailable(false)\n            .officeIntegrationType(\"example\")\n            .pinAllRemoteServersToSiteRegion(false)\n            .motdText(\"example\")\n            .motdUseForFtp(false)\n            .motdUseForSftp(false)\n            .disableAllAiFeatures(false)\n            .aiFeatureAvailability(Map.of(\"inAppAiAssistant\", Map.ofEntries(\n                Map.entry(\"siteAdmins\", true),\n                Map.entry(\"workspaceAdmins\", true),\n                Map.entry(\"folderAdmins\", true),\n                Map.entry(\"allUsers\", true)\n            )))\n            .mcpDcrEnabled(false)\n            .additionalTextFileTypes(\"example\")\n            .bundleRequireNote(false)\n            .bundleSendSharedReceipts(false)\n            .bundlesDefaultOwnedByPrimaryGroup(false)\n            .calculateFileChecksumsCrc32(false)\n            .calculateFileChecksumsMd5(false)\n            .calculateFileChecksumsSha1(false)\n            .calculateFileChecksumsSha256(false)\n            .legacyChecksumsMode(false)\n            .migrateRemoteServerSyncToSync(false)\n            .as2MessageRetentionDays(1)\n            .usernameDisplay(\"username_only\")\n            .sessionExpiryMinutes(1)\n            .sslRequired(false)\n            .sftpInsecureCiphers(false)\n            .sftpInsecureDiffieHellman(false)\n            .disableFilesCertificateGeneration(false)\n            .fedramp(false)\n            .userLockout(false)\n            .userLockoutTries(1)\n            .userLockoutWithin(1)\n            .userLockoutLockPeriod(1)\n            .includePasswordInWelcomeEmail(false)\n            .allowedCountries(\"US,DE\")\n            .allowedIps(\"example\")\n            .allowUserLevel2faOverride(false)\n            .allowUserLevelAllowedIpOverride(false)\n            .allowUserLevelSslOverride(false)\n            .disallowedCountries(\"US,DE\")\n            .daysToRetainBackups(1)\n            .maxPriorPasswords(1)\n            .passwordValidityDays(1)\n            .passwordMinLength(1)\n            .passwordRequireLetter(false)\n            .passwordRequireMixed(false)\n            .passwordRequireSpecial(false)\n            .passwordRequireNumber(false)\n            .passwordRequireUnbreached(false)\n            .requireLogoutFromBundlesAndInboxes(false)\n            .davUserRootEnabled(false)\n            .sftpUserRootEnabled(false)\n            .disablePasswordReset(false)\n            .immutableFiles(false)\n            .bundleNotFoundMessage(\"example\")\n            .bundlePasswordRequired(false)\n            .bundleRequireRegistration(false)\n            .bundleRequireShareRecipient(false)\n            .bundleSendOneTimePasswordToRecipientAtRegistration(false)\n            .bundleRegistrationNotifications(\"never\")\n            .bundleActivityNotifications(\"never\")\n            .bundleUploadReceiptNotifications(\"never\")\n            .documentEditsInBundleAllowed(false)\n            .passwordRequirementsApplyToBundles(false)\n            .preventRootPermissionsForNonSiteAdmins(false)\n            .restrictRootFolderBehaviorsToSiteAdmins(false)\n            .rootFolderBehaviorsApplyToWorkspaces(false)\n            .optOutGlobal(false)\n            .useProvidedModifiedAt(false)\n            .customNamespace(false)\n            .nonSsoGroupsAllowed(false)\n            .nonSsoUsersAllowed(false)\n            .sharingEnabled(false)\n            .snapshotSharingEnabled(false)\n            .userRequestsEnabled(false)\n            .userRequestsNotifyAdmins(false)\n            .davEnabled(false)\n            .ftpEnabled(false)\n            .sftpEnabled(false)\n            .sftpFinalizePartialUploads(false)\n            .usersCanCreateApiKeys(false)\n            .usersCanCreateSshKeys(false)\n            .showUserNotificationsLogInLink(false)\n            .sftpHostKeyType(\"default\")\n            .activeSftpHostKeyId(1)\n            .protocolAccessGroupsOnly(false)\n            .revokeBundleAccessOnDisableOrDelete(false)\n            .bundleWatermarkValue(Map.of(\"key\", \"example value\"))\n            .groupAdminsCanAddUsers(false)\n            .groupAdminsCanManageGroupMemberships(false)\n            .groupAdminsCanDeleteUsers(false)\n            .groupAdminsCanEnableDisableUsers(false)\n            .groupAdminsCanModifyUsers(false)\n            .groupAdminsCanBypassUserLifecycleRules(false)\n            .groupAdminsCanResetPasswords(false)\n            .groupAdminsCanSetUserPassword(false)\n            .bundleRecipientBlacklistFreeEmailDomains(false)\n            .bundleRecipientBlacklistDomains(\"example\")\n            .adminsBypassLockedSubfolders(false)\n            .allowed2faMethodSms(false)\n            .allowed2faMethodTotp(false)\n            .allowed2faMethodWebauthn(false)\n            .allowed2faMethodYubi(false)\n            .allowed2faMethodEmail(false)\n            .allowed2faMethodStatic(false)\n            .allowed2faMethodBypassForFtpSftpDav(false)\n            .require2fa(false)\n            .require2faExemptAllSsoUsers(false)\n            .require2faUserType(\"`site_admins`\")\n            .color2Top(\"#000000\")\n            .color2Left(\"#0066a7\")\n            .color2Link(\"#d34f5d\")\n            .color2Text(\"#0066a7\")\n            .color2TopText(\"#ffffff\")\n            .siteHeader(\"example\")\n            .siteFooter(\"example\")\n            .sitePublicHeader(\"example\")\n            .sitePublicFooter(\"example\")\n            .loginHelpText(\"Login page help text.\")\n            .useDedicatedIpsForSmtp(false)\n            .emailFooterCustomText(\"Copyright © %Y MyCompany Inc.\")\n            .smtpAddress(\"smtp.my-mail-server.com\")\n            .smtpAuthentication(\"plain\")\n            .smtpFrom(\"me@my-mail-server.com\")\n            .smtpUsername(\"mail\")\n            .smtpPort(1)\n            .ldapEnabled(false)\n            .ldapType(\"open_ldap\")\n            .ldapHost(\"ldap.site.com\")\n            .ldapHost2(\"ldap2.site.com\")\n            .ldapHost3(\"ldap3.site.com\")\n            .ldapPort(1)\n            .ldapSecure(false)\n            .ldapUsername(\"[ldap username]\")\n            .ldapUsernameField(\"sAMAccountName\")\n            .ldapDomain(\"mysite.com\")\n            .ldapUserAction(\"disabled\")\n            .ldapGroupAction(\"disabled\")\n            .ldapUserIncludeGroups(\"example\")\n            .ldapGroupExclusion(\"example\")\n            .ldapGroupInclusion(\"example\")\n            .ldapBaseDn(\"example\")\n            .uploadsViaEmailAuthentication(false)\n            .icon16Delete(false)\n            .icon32Delete(false)\n            .icon48Delete(false)\n            .icon128Delete(false)\n            .logoDelete(false)\n            .bundleWatermarkAttachmentDelete(false)\n            .loginPageBackgroundImageDelete(false)\n            .disable2faWithDelay(false)\n            .redirectOldSubdomain(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleSite:\n    type: filescom:Site\n    name: example_site\n    properties:\n      name: My Site\n      subdomain: mysite\n      domain: my-custom-domain.com\n      domainHstsHeader: false\n      domainLetsencryptChain: example\n      email: john.doe@files.com\n      replyToEmail: jane.doe@files.com\n      allowBundleNames: false\n      bundleExpiration: 1\n      welcomeEmailEnabled: false\n      askAboutOverwrites: false\n      showRequestAccessLink: false\n      alwaysMkdirParents: false\n      welcomeEmailCc: example\n      welcomeEmailSubject: example\n      welcomeCustomText: Welcome to my site!\n      language: en\n      windowsModeFtp: false\n      defaultTimeZone: Pacific Time (US \u0026 Canada)\n      desktopApp: false\n      desktopAppSessionIpPinning: false\n      desktopAppSessionLifetime: 1\n      mobileApp: false\n      mobileAppSessionIpPinning: false\n      mobileAppSessionLifetime: 1\n      folderPermissionsGroupsOnly: false\n      welcomeScreen: user_controlled\n      officeIntegrationAvailable: false\n      officeIntegrationType: example\n      pinAllRemoteServersToSiteRegion: false\n      motdText: example\n      motdUseForFtp: false\n      motdUseForSftp: false\n      disableAllAiFeatures: false\n      aiFeatureAvailability:\n        inAppAiAssistant:\n          siteAdmins: true\n          workspaceAdmins: true\n          folderAdmins: true\n          allUsers: true\n      mcpDcrEnabled: false\n      additionalTextFileTypes:\n        - example\n      bundleRequireNote: false\n      bundleSendSharedReceipts: false\n      bundlesDefaultOwnedByPrimaryGroup: false\n      calculateFileChecksumsCrc32: false\n      calculateFileChecksumsMd5: false\n      calculateFileChecksumsSha1: false\n      calculateFileChecksumsSha256: false\n      legacyChecksumsMode: false\n      migrateRemoteServerSyncToSync: false\n      as2MessageRetentionDays: 1\n      usernameDisplay: username_only\n      sessionExpiryMinutes: 1\n      sslRequired: false\n      sftpInsecureCiphers: false\n      sftpInsecureDiffieHellman: false\n      disableFilesCertificateGeneration: false\n      fedramp: false\n      userLockout: false\n      userLockoutTries: 1\n      userLockoutWithin: 1\n      userLockoutLockPeriod: 1\n      includePasswordInWelcomeEmail: false\n      allowedCountries: US,DE\n      allowedIps: example\n      allowUserLevel2faOverride: false\n      allowUserLevelAllowedIpOverride: false\n      allowUserLevelSslOverride: false\n      disallowedCountries: US,DE\n      daysToRetainBackups: 1\n      maxPriorPasswords: 1\n      passwordValidityDays: 1\n      passwordMinLength: 1\n      passwordRequireLetter: false\n      passwordRequireMixed: false\n      passwordRequireSpecial: false\n      passwordRequireNumber: false\n      passwordRequireUnbreached: false\n      requireLogoutFromBundlesAndInboxes: false\n      davUserRootEnabled: false\n      sftpUserRootEnabled: false\n      disablePasswordReset: false\n      immutableFiles: false\n      bundleNotFoundMessage: example\n      bundlePasswordRequired: false\n      bundleRequireRegistration: false\n      bundleRequireShareRecipient: false\n      bundleSendOneTimePasswordToRecipientAtRegistration: false\n      bundleRegistrationNotifications: never\n      bundleActivityNotifications: never\n      bundleUploadReceiptNotifications: never\n      documentEditsInBundleAllowed: false\n      passwordRequirementsApplyToBundles: false\n      preventRootPermissionsForNonSiteAdmins: false\n      restrictRootFolderBehaviorsToSiteAdmins: false\n      rootFolderBehaviorsApplyToWorkspaces: false\n      optOutGlobal: false\n      useProvidedModifiedAt: false\n      customNamespace: false\n      nonSsoGroupsAllowed: false\n      nonSsoUsersAllowed: false\n      sharingEnabled: false\n      snapshotSharingEnabled: false\n      userRequestsEnabled: false\n      userRequestsNotifyAdmins: false\n      davEnabled: false\n      ftpEnabled: false\n      sftpEnabled: false\n      sftpFinalizePartialUploads: false\n      usersCanCreateApiKeys: false\n      usersCanCreateSshKeys: false\n      showUserNotificationsLogInLink: false\n      sftpHostKeyType: default\n      activeSftpHostKeyId: 1\n      protocolAccessGroupsOnly: false\n      revokeBundleAccessOnDisableOrDelete: false\n      bundleWatermarkValue:\n        key: example value\n      groupAdminsCanAddUsers: false\n      groupAdminsCanManageGroupMemberships: false\n      groupAdminsCanDeleteUsers: false\n      groupAdminsCanEnableDisableUsers: false\n      groupAdminsCanModifyUsers: false\n      groupAdminsCanBypassUserLifecycleRules: false\n      groupAdminsCanResetPasswords: false\n      groupAdminsCanSetUserPassword: false\n      bundleRecipientBlacklistFreeEmailDomains: false\n      bundleRecipientBlacklistDomains:\n        - example\n      adminsBypassLockedSubfolders: false\n      allowed2faMethodSms: false\n      allowed2faMethodTotp: false\n      allowed2faMethodWebauthn: false\n      allowed2faMethodYubi: false\n      allowed2faMethodEmail: false\n      allowed2faMethodStatic: false\n      allowed2faMethodBypassForFtpSftpDav: false\n      require2fa: false\n      require2faExemptAllSsoUsers: false\n      require2faUserType: '`site_admins`'\n      color2Top: '#000000'\n      color2Left: '#0066a7'\n      color2Link: '#d34f5d'\n      color2Text: '#0066a7'\n      color2TopText: '#ffffff'\n      siteHeader: example\n      siteFooter: example\n      sitePublicHeader: example\n      sitePublicFooter: example\n      loginHelpText: Login page help text.\n      useDedicatedIpsForSmtp: false\n      emailFooterCustomText: Copyright © %Y MyCompany Inc.\n      smtpAddress: smtp.my-mail-server.com\n      smtpAuthentication: plain\n      smtpFrom: me@my-mail-server.com\n      smtpUsername: mail\n      smtpPort: 1\n      ldapEnabled: false\n      ldapType: open_ldap\n      ldapHost: ldap.site.com\n      ldapHost2: ldap2.site.com\n      ldapHost3: ldap3.site.com\n      ldapPort: 1\n      ldapSecure: false\n      ldapUsername: '[ldap username]'\n      ldapUsernameField: sAMAccountName\n      ldapDomain: mysite.com\n      ldapUserAction: disabled\n      ldapGroupAction: disabled\n      ldapUserIncludeGroups: example\n      ldapGroupExclusion: example\n      ldapGroupInclusion: example\n      ldapBaseDn: example\n      uploadsViaEmailAuthentication: false\n      icon16Delete: false\n      icon32Delete: false\n      icon48Delete: false\n      icon128Delete: false\n      logoDelete: false\n      bundleWatermarkAttachmentDelete: false\n      loginPageBackgroundImageDelete: false\n      disable2faWithDelay: false\n      redirectOldSubdomain: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nSites can be imported by specifying any ID.\n\n```sh\n$ pulumi import filescom:index/site:Site example_site 1\n```\n\n",
            "properties": {
                "activeSftpHostKeyId": {
                    "type": "integer",
                    "description": "Id of the currently selected custom SFTP Host Key\n"
                },
                "additionalTextFileTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional extensions that are considered text files\n"
                },
                "adminUserId": {
                    "type": "integer",
                    "description": "User ID for the main site administrator\n"
                },
                "adminsBypassLockedSubfolders": {
                    "type": "boolean",
                    "description": "Allow admins to bypass the locked subfolders setting.\n"
                },
                "aiFeatureAvailability": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Availability settings for AI features by user class\n"
                },
                "allowBundleNames": {
                    "type": "boolean",
                    "description": "Are manual Bundle names allowed?\n"
                },
                "allowUserLevel2faOverride": {
                    "type": "boolean",
                    "description": "Allow the site-wide two-factor authentication requirement to be overriden on a per-user-basis?\n"
                },
                "allowUserLevelAllowedIpOverride": {
                    "type": "boolean",
                    "description": "Allow the site-wide allowed IP restriction to be overriden on a per-user-basis?\n"
                },
                "allowUserLevelSslOverride": {
                    "type": "boolean",
                    "description": "Allow the site-wide FTP SSL requirement to be overriden on a per-user-basis?\n"
                },
                "allowed2faMethodBypassForFtpSftpDav": {
                    "type": "boolean",
                    "description": "Are users allowed to configure their two factor authentication to be bypassed for FTP/SFTP/WebDAV?\n"
                },
                "allowed2faMethodEmail": {
                    "type": "boolean",
                    "description": "Is OTP via email two factor authentication allowed?\n"
                },
                "allowed2faMethodSms": {
                    "type": "boolean",
                    "description": "Is SMS two factor authentication allowed?\n"
                },
                "allowed2faMethodStatic": {
                    "type": "boolean",
                    "description": "Is OTP via static codes for two factor authentication allowed?\n"
                },
                "allowed2faMethodTotp": {
                    "type": "boolean",
                    "description": "Is TOTP two factor authentication allowed?\n"
                },
                "allowed2faMethodWebauthn": {
                    "type": "boolean",
                    "description": "Is WebAuthn two factor authentication allowed?\n"
                },
                "allowed2faMethodYubi": {
                    "type": "boolean",
                    "description": "Is yubikey two factor authentication allowed?\n"
                },
                "allowedCountries": {
                    "type": "string",
                    "description": "Comma separated list of allowed Country codes\n"
                },
                "allowedIps": {
                    "type": "string",
                    "description": "List of allowed IP addresses\n"
                },
                "alwaysMkdirParents": {
                    "type": "boolean",
                    "description": "Create parent directories if they do not exist during uploads?  This is primarily used to work around broken upload clients that assume servers will perform this step.\n"
                },
                "as2MessageRetentionDays": {
                    "type": "integer",
                    "description": "Number of days to retain AS2 messages (incoming and outgoing).\n"
                },
                "askAboutOverwrites": {
                    "type": "boolean",
                    "description": "If false, rename conflicting files instead of asking for overwrite confirmation.  Only applies to web interface.\n"
                },
                "bundleActivityNotifications": {
                    "type": "string",
                    "description": "Do Bundle owners receive activity notifications?\n"
                },
                "bundleExpiration": {
                    "type": "integer",
                    "description": "Site-wide Bundle expiration in days\n"
                },
                "bundleNotFoundMessage": {
                    "type": "string",
                    "description": "Custom error message to show when bundle is not found.\n"
                },
                "bundlePasswordRequired": {
                    "type": "boolean",
                    "description": "Do Bundles require password protection?\n"
                },
                "bundleRecipientBlacklistDomains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of email domains to disallow when entering a Bundle/Inbox recipients\n"
                },
                "bundleRecipientBlacklistFreeEmailDomains": {
                    "type": "boolean",
                    "description": "Disallow free email domains for Bundle/Inbox recipients?\n"
                },
                "bundleRegistrationNotifications": {
                    "type": "string",
                    "description": "Do Bundle owners receive registration notification?\n"
                },
                "bundleRequireNote": {
                    "type": "boolean",
                    "description": "Do Bundles require internal notes?\n"
                },
                "bundleRequireRegistration": {
                    "type": "boolean",
                    "description": "Do Bundles require registration?\n"
                },
                "bundleRequireShareRecipient": {
                    "type": "boolean",
                    "description": "Do Bundles require recipients for sharing?\n"
                },
                "bundleSendOneTimePasswordToRecipientAtRegistration": {
                    "type": "boolean",
                    "description": "If true, new Share Links must send a one-time password to the recipient when they register. Requires bundle*require*share*recipient and cannot be enabled with bundle*password_required.\n"
                },
                "bundleSendSharedReceipts": {
                    "type": "boolean",
                    "description": "Do Bundle creators receive receipts of invitations?\n"
                },
                "bundleUploadReceiptNotifications": {
                    "type": "string",
                    "description": "Do Bundle uploaders receive upload confirmation notifications?\n"
                },
                "bundleWatermarkAttachment": {
                    "type": "string",
                    "description": "Preview watermark image applied to all bundle items.\n"
                },
                "bundleWatermarkValue": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Preview watermark settings applied to all bundle items. Uses the same keys as Behavior.value\n"
                },
                "bundlesDefaultOwnedByPrimaryGroup": {
                    "type": "boolean",
                    "description": "If true, new Share Links created by a user with a primary group will default to that group as owner.\n"
                },
                "calculateFileChecksumsCrc32": {
                    "type": "boolean",
                    "description": "Calculate CRC32 checksums for files?\n"
                },
                "calculateFileChecksumsMd5": {
                    "type": "boolean",
                    "description": "Calculate MD5 checksums for files?\n"
                },
                "calculateFileChecksumsSha1": {
                    "type": "boolean",
                    "description": "Calculate SHA1 checksums for files?\n"
                },
                "calculateFileChecksumsSha256": {
                    "type": "boolean",
                    "description": "Calculate SHA256 checksums for files?\n"
                },
                "color2Left": {
                    "type": "string",
                    "description": "Page link and button color\n"
                },
                "color2Link": {
                    "type": "string",
                    "description": "Top bar link color\n"
                },
                "color2Text": {
                    "type": "string",
                    "description": "Page link and button color\n"
                },
                "color2Top": {
                    "type": "string",
                    "description": "Top bar background color\n"
                },
                "color2TopText": {
                    "type": "string",
                    "description": "Top bar text color\n"
                },
                "contactName": {
                    "type": "string",
                    "description": "Site main contact name\n"
                },
                "createdAt": {
                    "type": "string",
                    "description": "Time this site was created\n"
                },
                "currency": {
                    "type": "string",
                    "description": "Preferred currency\n"
                },
                "customNamespace": {
                    "type": "boolean",
                    "description": "Is this site using a custom namespace for users?\n"
                },
                "davEnabled": {
                    "type": "boolean",
                    "description": "Is WebDAV enabled?\n"
                },
                "davUserRootEnabled": {
                    "type": "boolean",
                    "description": "Use user FTP roots also for WebDAV?\n"
                },
                "daysToRetainBackups": {
                    "type": "integer",
                    "description": "Number of days to keep deleted files\n"
                },
                "defaultTimeZone": {
                    "type": "string",
                    "description": "Site default time zone\n"
                },
                "desktopApp": {
                    "type": "boolean",
                    "description": "Is the desktop app enabled?\n"
                },
                "desktopAppSessionIpPinning": {
                    "type": "boolean",
                    "description": "Is desktop app session IP pinning enabled?\n"
                },
                "desktopAppSessionLifetime": {
                    "type": "integer",
                    "description": "Desktop app session lifetime (in hours)\n"
                },
                "disableAllAiFeatures": {
                    "type": "boolean",
                    "description": "If true, all AI features are disabled for this site.\n"
                },
                "disableFilesCertificateGeneration": {
                    "type": "boolean",
                    "description": "If set, Files.com will not set the CAA records required to generate future SSL certificates for this domain.\n"
                },
                "disableNotifications": {
                    "type": "boolean",
                    "description": "Are notifications disabled?\n"
                },
                "disablePasswordReset": {
                    "type": "boolean",
                    "description": "Is password reset disabled?\n"
                },
                "disallowedCountries": {
                    "type": "string",
                    "description": "Comma separated list of disallowed Country codes\n"
                },
                "documentEditsInBundleAllowed": {
                    "type": "boolean",
                    "description": "If true, allow public viewers of Bundles with full permissions to use document editing integrations.\n"
                },
                "domain": {
                    "type": "string",
                    "description": "Custom domain\n"
                },
                "domainHstsHeader": {
                    "type": "boolean",
                    "description": "Send HSTS (HTTP Strict Transport Security) header when visitors access the site via a custom domain?\n"
                },
                "domainLetsencryptChain": {
                    "type": "string",
                    "description": "Letsencrypt chain to use when registering SSL Certificate for domain. No longer used as of 2026.\n"
                },
                "email": {
                    "type": "string",
                    "description": "Main email for this site\n"
                },
                "emailFooterCustomText": {
                    "type": "string",
                    "description": "Custom footer text for system-generated emails. Supports standard strftime date/time patterns like %Y (4-digit year), %m (month), %d (day).\n"
                },
                "fedramp": {
                    "type": "boolean",
                    "description": "Are FedRAMP security restrictions enabled for this site?\n"
                },
                "folderPermissionsGroupsOnly": {
                    "type": "boolean",
                    "description": "If true, permissions for this site must be bound to a group (not a user).\n"
                },
                "ftpEnabled": {
                    "type": "boolean",
                    "description": "Is FTP enabled?\n"
                },
                "groupAdminsCanAddUsers": {
                    "type": "boolean",
                    "description": "Allow group admins to create users in their groups\n"
                },
                "groupAdminsCanBypassUserLifecycleRules": {
                    "type": "boolean",
                    "description": "Allow group admins to exempt users in their groups from lifecycle rules\n"
                },
                "groupAdminsCanDeleteUsers": {
                    "type": "boolean",
                    "description": "Allow group admins to delete users in their groups\n"
                },
                "groupAdminsCanEnableDisableUsers": {
                    "type": "boolean",
                    "description": "Allow group admins to enable or disable users in their groups\n"
                },
                "groupAdminsCanManageGroupMemberships": {
                    "type": "boolean",
                    "description": "Allow group admins to add or remove existing users in their groups\n"
                },
                "groupAdminsCanModifyUsers": {
                    "type": "boolean",
                    "description": "Allow group admins to modify users in their groups\n"
                },
                "groupAdminsCanResetPasswords": {
                    "type": "boolean",
                    "description": "Allow group admins to reset passwords for users in their groups\n"
                },
                "groupAdminsCanSetUserPassword": {
                    "type": "boolean",
                    "description": "Allow group admins to set password authentication method\n"
                },
                "hipaa": {
                    "type": "boolean",
                    "description": "Is there a signed HIPAA BAA between Files.com and this site?\n"
                },
                "icon128": {
                    "type": "string",
                    "description": "Branded icon 128x128\n"
                },
                "icon16": {
                    "type": "string",
                    "description": "Branded icon 16x16\n"
                },
                "icon32": {
                    "type": "string",
                    "description": "Branded icon 32x32\n"
                },
                "icon48": {
                    "type": "string",
                    "description": "Branded icon 48x48\n"
                },
                "immutableFilesSetAt": {
                    "type": "string",
                    "description": "Can files be modified?\n"
                },
                "includePasswordInWelcomeEmail": {
                    "type": "boolean",
                    "description": "Include password in emails to new users?\n"
                },
                "language": {
                    "type": "string",
                    "description": "Site default language\n"
                },
                "ldapBaseDn": {
                    "type": "string",
                    "description": "Base DN for looking up users in LDAP server\n"
                },
                "ldapDomain": {
                    "type": "string",
                    "description": "Domain name that will be appended to usernames\n"
                },
                "ldapEnabled": {
                    "type": "boolean",
                    "description": "Main LDAP setting: is LDAP enabled?\n"
                },
                "ldapGroupAction": {
                    "type": "string",
                    "description": "Should we sync groups from LDAP server?\n"
                },
                "ldapGroupExclusion": {
                    "type": "string",
                    "description": "Comma or newline separated list of group names (with optional wildcards) to exclude when syncing.\n"
                },
                "ldapGroupInclusion": {
                    "type": "string",
                    "description": "Comma or newline separated list of group names (with optional wildcards) to include when syncing.\n"
                },
                "ldapHost": {
                    "type": "string",
                    "description": "LDAP host\n"
                },
                "ldapHost2": {
                    "type": "string",
                    "description": "LDAP backup host\n"
                },
                "ldapHost3": {
                    "type": "string",
                    "description": "LDAP backup host\n"
                },
                "ldapPort": {
                    "type": "integer",
                    "description": "LDAP port\n"
                },
                "ldapSecure": {
                    "type": "boolean",
                    "description": "Use secure LDAP?\n"
                },
                "ldapType": {
                    "type": "string",
                    "description": "LDAP type\n"
                },
                "ldapUserAction": {
                    "type": "string",
                    "description": "Should we sync users from LDAP server?\n"
                },
                "ldapUserIncludeGroups": {
                    "type": "string",
                    "description": "Comma or newline separated list of group names (with optional wildcards) - if provided, only users in these groups will be added or synced.\n"
                },
                "ldapUsername": {
                    "type": "string",
                    "description": "Username for signing in to LDAP server.\n"
                },
                "ldapUsernameField": {
                    "type": "string",
                    "description": "LDAP username field\n"
                },
                "legacyChecksumsMode": {
                    "type": "boolean",
                    "description": "Use legacy checksums mode?\n"
                },
                "loginHelpText": {
                    "type": "string",
                    "description": "Login help text\n"
                },
                "loginPageBackgroundImage": {
                    "type": "string",
                    "description": "Branded login page background\n"
                },
                "logo": {
                    "type": "string",
                    "description": "Branded logo\n"
                },
                "managedSiteSettings": {
                    "$ref": "pulumi.json#/Any",
                    "description": "List of site settings managed by the parent site\n"
                },
                "maxPriorPasswords": {
                    "type": "integer",
                    "description": "Number of prior passwords to disallow\n"
                },
                "mcpDcrEnabled": {
                    "type": "boolean",
                    "description": "Is OAuth DCR (dynamic client registration) for MCP enabled?\n"
                },
                "migrateRemoteServerSyncToSync": {
                    "type": "boolean",
                    "description": "If true, we will migrate all remote server syncs to the new Sync model.\n"
                },
                "mobileApp": {
                    "type": "boolean",
                    "description": "Is the mobile app enabled?\n"
                },
                "mobileAppSessionIpPinning": {
                    "type": "boolean",
                    "description": "Is mobile app session IP pinning enabled?\n"
                },
                "mobileAppSessionLifetime": {
                    "type": "integer",
                    "description": "Mobile app session lifetime (in hours)\n"
                },
                "motdText": {
                    "type": "string",
                    "description": "A message to show users when they connect via FTP or SFTP.\n"
                },
                "motdUseForFtp": {
                    "type": "boolean",
                    "description": "Show message to users connecting via FTP\n"
                },
                "motdUseForSftp": {
                    "type": "boolean",
                    "description": "Show message to users connecting via SFTP\n"
                },
                "name": {
                    "type": "string",
                    "description": "Site name\n"
                },
                "nextBillingAmount": {
                    "type": "string",
                    "description": "Next billing amount\n"
                },
                "nextBillingDate": {
                    "type": "string",
                    "description": "Next billing date\n"
                },
                "nonSsoGroupsAllowed": {
                    "type": "boolean",
                    "description": "If true, groups can be manually created / modified / deleted by Site Admins. Otherwise, groups can only be managed via your SSO provider.\n"
                },
                "nonSsoUsersAllowed": {
                    "type": "boolean",
                    "description": "If true, users can be manually created / modified / deleted by Site Admins. Otherwise, users can only be managed via your SSO provider.\n"
                },
                "officeIntegrationAvailable": {
                    "type": "boolean",
                    "description": "If true, allows users to use a document editing integration.\n"
                },
                "officeIntegrationType": {
                    "type": "string",
                    "description": "Which document editing integration to support. Files.com Editor or Microsoft Office for the Web.\n"
                },
                "oncehubLink": {
                    "type": "string",
                    "description": "Link to scheduling a meeting with our Sales team\n"
                },
                "optOutGlobal": {
                    "type": "boolean",
                    "description": "Use servers in the USA only?\n"
                },
                "overdue": {
                    "type": "boolean",
                    "description": "Is this site's billing overdue?\n"
                },
                "passwordMinLength": {
                    "type": "integer",
                    "description": "Shortest password length for users\n"
                },
                "passwordRequireLetter": {
                    "type": "boolean",
                    "description": "Require a letter in passwords?\n"
                },
                "passwordRequireMixed": {
                    "type": "boolean",
                    "description": "Require lower and upper case letters in passwords?\n"
                },
                "passwordRequireNumber": {
                    "type": "boolean",
                    "description": "Require a number in passwords?\n"
                },
                "passwordRequireSpecial": {
                    "type": "boolean",
                    "description": "Require special characters in password?\n"
                },
                "passwordRequireUnbreached": {
                    "type": "boolean",
                    "description": "Require passwords that have not been previously breached? (see https://haveibeenpwned.com/)\n"
                },
                "passwordRequirementsApplyToBundles": {
                    "type": "boolean",
                    "description": "Require bundles' passwords, and passwords for other items (inboxes, public shares, etc.) to conform to the same requirements as users' passwords?\n"
                },
                "passwordValidityDays": {
                    "type": "integer",
                    "description": "Number of days password is valid\n"
                },
                "phone": {
                    "type": "string",
                    "description": "Site phone number\n"
                },
                "pinAllRemoteServersToSiteRegion": {
                    "type": "boolean",
                    "description": "If true, we will ensure that all internal communications with any remote server are made through the primary region of the site. This setting overrides individual remote server settings.\n"
                },
                "preventRootPermissionsForNonSiteAdmins": {
                    "type": "boolean",
                    "description": "If true, we will prevent non-administrators from receiving any permissions directly on the root folder.  This is commonly used to prevent the accidental application of permissions.\n"
                },
                "protocolAccessGroupsOnly": {
                    "type": "boolean",
                    "description": "If true, protocol access permissions on users will be ignored, and only protocol access permissions set on Groups will be honored.  Make sure that your current user is a member of a group with API permission when changing this value to avoid locking yourself out of your site.\n"
                },
                "replyToEmail": {
                    "type": "string",
                    "description": "Reply-to email for this site\n"
                },
                "require2fa": {
                    "type": "boolean",
                    "description": "Require two-factor authentication for all users?\n"
                },
                "require2faExemptAllSsoUsers": {
                    "type": "boolean",
                    "description": "If true, SSO users using the default user-level two-factor authentication setting are exempt from the site-wide two-factor authentication requirement.\n"
                },
                "require2faStopTime": {
                    "type": "string",
                    "description": "If set, requirement for two-factor authentication has been scheduled to end on this date-time.\n"
                },
                "require2faUserType": {
                    "type": "string",
                    "description": "What type of user is required to use two-factor authentication (when\u003cspan pulumi-lang-nodejs=\" require2fa \" pulumi-lang-dotnet=\" Require2fa \" pulumi-lang-go=\" require2fa \" pulumi-lang-python=\" require_2fa \" pulumi-lang-yaml=\" require2fa \" pulumi-lang-java=\" require2fa \" pulumi-lang-hcl=\" require_2fa \"\u003e require2fa \u003c/span\u003eis set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e for this site)?\n"
                },
                "requireLogoutFromBundlesAndInboxes": {
                    "type": "boolean",
                    "description": "If true, we will hide the 'Remember Me' box on Inbox and Bundle registration pages, requiring that the user logout and log back in every time they visit the page.\n"
                },
                "restrictRootFolderBehaviorsToSiteAdmins": {
                    "type": "boolean",
                    "description": "If true, only site admins may create, modify, or delete any behavior at the site root, or a skip that would disable one.\n"
                },
                "revokeBundleAccessOnDisableOrDelete": {
                    "type": "boolean",
                    "description": "Auto-removes bundles for disabled/deleted users and enforces bundle expiry within user access period.\n"
                },
                "rootFolderBehaviorsApplyToWorkspaces": {
                    "type": "boolean",
                    "description": "If true, supported protective behaviors at the site root also apply within named workspaces. Requires restrict*root*folder*behaviors*to*site*admins to be enabled.\n"
                },
                "session": {
                    "type": "string",
                    "description": "Current session\n"
                },
                "sessionExpiryMinutes": {
                    "type": "integer",
                    "description": "Session expiry in minutes\n"
                },
                "sftpEnabled": {
                    "type": "boolean",
                    "description": "Is SFTP enabled?\n"
                },
                "sftpFinalizePartialUploads": {
                    "type": "boolean",
                    "description": "Finalize partial SFTP uploads from interrupted connections? Default: true.\n"
                },
                "sftpHostKeyType": {
                    "type": "string",
                    "description": "Sftp Host Key Type\n"
                },
                "sftpInsecureCiphers": {
                    "type": "boolean",
                    "description": "If true, we will allow weak and known insecure ciphers to be used for SFTP connections.  Enabling this setting severely weakens the security of your site and it is not recommend, except as a last resort for compatibility.\n"
                },
                "sftpInsecureDiffieHellman": {
                    "type": "boolean",
                    "description": "If true, we will allow weak Diffie Hellman parameters to be used within ciphers for SFTP that are otherwise on our secure list.  This has the effect of making the cipher weaker than our normal threshold for security, but is required to support certain legacy or broken SSH and MFT clients.  Enabling this weakens security, but not nearly as much as enabling the full \u003cspan pulumi-lang-nodejs=\"`sftpInsecureCiphers`\" pulumi-lang-dotnet=\"`SftpInsecureCiphers`\" pulumi-lang-go=\"`sftpInsecureCiphers`\" pulumi-lang-python=\"`sftp_insecure_ciphers`\" pulumi-lang-yaml=\"`sftpInsecureCiphers`\" pulumi-lang-java=\"`sftpInsecureCiphers`\" pulumi-lang-hcl=\"`sftp_insecure_ciphers`\"\u003e`sftpInsecureCiphers`\u003c/span\u003e option.\n"
                },
                "sftpUserRootEnabled": {
                    "type": "boolean",
                    "description": "Use user FTP roots also for SFTP?\n"
                },
                "sharingEnabled": {
                    "type": "boolean",
                    "description": "Allow bundle creation\n"
                },
                "showRequestAccessLink": {
                    "type": "boolean",
                    "description": "Show request access link for users without access?  Currently unused.\n"
                },
                "showUserNotificationsLogInLink": {
                    "type": "boolean",
                    "description": "Show log in link in user notifications?\n"
                },
                "siteFooter": {
                    "type": "string",
                    "description": "Custom site footer text for authenticated pages\n"
                },
                "siteHeader": {
                    "type": "string",
                    "description": "Custom site header text for authenticated pages\n"
                },
                "sitePublicFooter": {
                    "type": "string",
                    "description": "Custom site footer text for public pages\n"
                },
                "sitePublicHeader": {
                    "type": "string",
                    "description": "Custom site header text for public pages\n"
                },
                "smtpAddress": {
                    "type": "string",
                    "description": "SMTP server hostname or IP\n"
                },
                "smtpAuthentication": {
                    "type": "string",
                    "description": "SMTP server authentication type\n"
                },
                "smtpFrom": {
                    "type": "string",
                    "description": "From address to use when mailing through custom SMTP\n"
                },
                "smtpPort": {
                    "type": "integer",
                    "description": "SMTP server port\n"
                },
                "smtpUsername": {
                    "type": "string",
                    "description": "SMTP server username\n"
                },
                "snapshotSharingEnabled": {
                    "type": "boolean",
                    "description": "Allow snapshot share links creation\n"
                },
                "sslRequired": {
                    "type": "boolean",
                    "description": "Is SSL required?  Disabling this is insecure.\n"
                },
                "subdomain": {
                    "type": "string",
                    "description": "Site subdomain\n"
                },
                "switchToPlanDate": {
                    "type": "string",
                    "description": "If switching plans, when does the new plan take effect?\n"
                },
                "trialDaysLeft": {
                    "type": "integer",
                    "description": "Number of days left in trial\n"
                },
                "trialUntil": {
                    "type": "string",
                    "description": "When does this Site trial expire?\n"
                },
                "uploadsViaEmailAuthentication": {
                    "type": "boolean",
                    "description": "Do incoming emails in the Inboxes require checking for SPF/DKIM/DMARC?\n"
                },
                "useDedicatedIpsForSmtp": {
                    "type": "boolean",
                    "description": "If using custom SMTP, should we use dedicated IPs to deliver emails?\n"
                },
                "useProvidedModifiedAt": {
                    "type": "boolean",
                    "description": "Allow uploaders to set \u003cspan pulumi-lang-nodejs=\"`providedModifiedAt`\" pulumi-lang-dotnet=\"`ProvidedModifiedAt`\" pulumi-lang-go=\"`providedModifiedAt`\" pulumi-lang-python=\"`provided_modified_at`\" pulumi-lang-yaml=\"`providedModifiedAt`\" pulumi-lang-java=\"`providedModifiedAt`\" pulumi-lang-hcl=\"`provided_modified_at`\"\u003e`providedModifiedAt`\u003c/span\u003e for uploaded files?\n"
                },
                "user": {
                    "type": "string",
                    "description": "User of current session\n"
                },
                "userLockout": {
                    "type": "boolean",
                    "description": "Will users be locked out after incorrect login attempts?\n"
                },
                "userLockoutLockPeriod": {
                    "type": "integer",
                    "description": "How many hours to lock user out for failed password?\n"
                },
                "userLockoutTries": {
                    "type": "integer",
                    "description": "Number of login tries within \u003cspan pulumi-lang-nodejs=\"`userLockoutWithin`\" pulumi-lang-dotnet=\"`UserLockoutWithin`\" pulumi-lang-go=\"`userLockoutWithin`\" pulumi-lang-python=\"`user_lockout_within`\" pulumi-lang-yaml=\"`userLockoutWithin`\" pulumi-lang-java=\"`userLockoutWithin`\" pulumi-lang-hcl=\"`user_lockout_within`\"\u003e`userLockoutWithin`\u003c/span\u003e hours before users are locked out\n"
                },
                "userLockoutWithin": {
                    "type": "integer",
                    "description": "Number of hours for user lockout window\n"
                },
                "userRequestsEnabled": {
                    "type": "boolean",
                    "description": "Enable User Requests feature\n"
                },
                "userRequestsNotifyAdmins": {
                    "type": "boolean",
                    "description": "Send email to site admins when a user request is received?\n"
                },
                "usernameDisplay": {
                    "type": "string",
                    "description": "How usernames are displayed in the web UI. Can be \u003cspan pulumi-lang-nodejs=\"`usernameOnly`\" pulumi-lang-dotnet=\"`UsernameOnly`\" pulumi-lang-go=\"`usernameOnly`\" pulumi-lang-python=\"`username_only`\" pulumi-lang-yaml=\"`usernameOnly`\" pulumi-lang-java=\"`usernameOnly`\" pulumi-lang-hcl=\"`username_only`\"\u003e`usernameOnly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`fullNameOnly`\" pulumi-lang-dotnet=\"`FullNameOnly`\" pulumi-lang-go=\"`fullNameOnly`\" pulumi-lang-python=\"`full_name_only`\" pulumi-lang-yaml=\"`fullNameOnly`\" pulumi-lang-java=\"`fullNameOnly`\" pulumi-lang-hcl=\"`full_name_only`\"\u003e`fullNameOnly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`fullNameUsername`\" pulumi-lang-dotnet=\"`FullNameUsername`\" pulumi-lang-go=\"`fullNameUsername`\" pulumi-lang-python=\"`full_name_username`\" pulumi-lang-yaml=\"`fullNameUsername`\" pulumi-lang-java=\"`fullNameUsername`\" pulumi-lang-hcl=\"`full_name_username`\"\u003e`fullNameUsername`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`fullNameCompany`\" pulumi-lang-dotnet=\"`FullNameCompany`\" pulumi-lang-go=\"`fullNameCompany`\" pulumi-lang-python=\"`full_name_company`\" pulumi-lang-yaml=\"`fullNameCompany`\" pulumi-lang-java=\"`fullNameCompany`\" pulumi-lang-hcl=\"`full_name_company`\"\u003e`fullNameCompany`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`fullNameUsernameCompany`\" pulumi-lang-dotnet=\"`FullNameUsernameCompany`\" pulumi-lang-go=\"`fullNameUsernameCompany`\" pulumi-lang-python=\"`full_name_username_company`\" pulumi-lang-yaml=\"`fullNameUsernameCompany`\" pulumi-lang-java=\"`fullNameUsernameCompany`\" pulumi-lang-hcl=\"`full_name_username_company`\"\u003e`fullNameUsernameCompany`\u003c/span\u003e.\n"
                },
                "usersCanCreateApiKeys": {
                    "type": "boolean",
                    "description": "Allow users to create their own API keys?\n"
                },
                "usersCanCreateSshKeys": {
                    "type": "boolean",
                    "description": "Allow users to create their own SSH keys?\n"
                },
                "welcomeCustomText": {
                    "type": "string",
                    "description": "Custom text send in user welcome email\n"
                },
                "welcomeEmailCc": {
                    "type": "string",
                    "description": "Include this email in welcome emails if enabled\n"
                },
                "welcomeEmailEnabled": {
                    "type": "boolean",
                    "description": "Will the welcome email be sent to new users?\n"
                },
                "welcomeEmailSubject": {
                    "type": "string",
                    "description": "Include this email subject in welcome emails if enabled\n"
                },
                "welcomeScreen": {
                    "type": "string",
                    "description": "Does the welcome screen appear?\n"
                },
                "windowsModeFtp": {
                    "type": "boolean",
                    "description": "Does FTP user Windows emulation mode?\n"
                }
            },
            "required": [
                "activeSftpHostKeyId",
                "additionalTextFileTypes",
                "adminUserId",
                "adminsBypassLockedSubfolders",
                "aiFeatureAvailability",
                "allowBundleNames",
                "allowUserLevel2faOverride",
                "allowUserLevelAllowedIpOverride",
                "allowUserLevelSslOverride",
                "allowed2faMethodBypassForFtpSftpDav",
                "allowed2faMethodEmail",
                "allowed2faMethodSms",
                "allowed2faMethodStatic",
                "allowed2faMethodTotp",
                "allowed2faMethodWebauthn",
                "allowed2faMethodYubi",
                "allowedCountries",
                "allowedIps",
                "alwaysMkdirParents",
                "as2MessageRetentionDays",
                "askAboutOverwrites",
                "bundleActivityNotifications",
                "bundleExpiration",
                "bundleNotFoundMessage",
                "bundlePasswordRequired",
                "bundleRecipientBlacklistDomains",
                "bundleRecipientBlacklistFreeEmailDomains",
                "bundleRegistrationNotifications",
                "bundleRequireNote",
                "bundleRequireRegistration",
                "bundleRequireShareRecipient",
                "bundleSendOneTimePasswordToRecipientAtRegistration",
                "bundleSendSharedReceipts",
                "bundleUploadReceiptNotifications",
                "bundleWatermarkAttachment",
                "bundleWatermarkValue",
                "bundlesDefaultOwnedByPrimaryGroup",
                "calculateFileChecksumsCrc32",
                "calculateFileChecksumsMd5",
                "calculateFileChecksumsSha1",
                "calculateFileChecksumsSha256",
                "color2Left",
                "color2Link",
                "color2Text",
                "color2Top",
                "color2TopText",
                "contactName",
                "createdAt",
                "currency",
                "customNamespace",
                "davEnabled",
                "davUserRootEnabled",
                "daysToRetainBackups",
                "defaultTimeZone",
                "desktopApp",
                "desktopAppSessionIpPinning",
                "desktopAppSessionLifetime",
                "disableAllAiFeatures",
                "disableFilesCertificateGeneration",
                "disableNotifications",
                "disablePasswordReset",
                "disallowedCountries",
                "documentEditsInBundleAllowed",
                "domain",
                "domainHstsHeader",
                "domainLetsencryptChain",
                "email",
                "emailFooterCustomText",
                "fedramp",
                "folderPermissionsGroupsOnly",
                "ftpEnabled",
                "groupAdminsCanAddUsers",
                "groupAdminsCanBypassUserLifecycleRules",
                "groupAdminsCanDeleteUsers",
                "groupAdminsCanEnableDisableUsers",
                "groupAdminsCanManageGroupMemberships",
                "groupAdminsCanModifyUsers",
                "groupAdminsCanResetPasswords",
                "groupAdminsCanSetUserPassword",
                "hipaa",
                "icon128",
                "icon16",
                "icon32",
                "icon48",
                "immutableFilesSetAt",
                "includePasswordInWelcomeEmail",
                "language",
                "ldapBaseDn",
                "ldapDomain",
                "ldapEnabled",
                "ldapGroupAction",
                "ldapGroupExclusion",
                "ldapGroupInclusion",
                "ldapHost",
                "ldapHost2",
                "ldapHost3",
                "ldapPort",
                "ldapSecure",
                "ldapType",
                "ldapUserAction",
                "ldapUserIncludeGroups",
                "ldapUsername",
                "ldapUsernameField",
                "legacyChecksumsMode",
                "loginHelpText",
                "loginPageBackgroundImage",
                "logo",
                "managedSiteSettings",
                "maxPriorPasswords",
                "mcpDcrEnabled",
                "migrateRemoteServerSyncToSync",
                "mobileApp",
                "mobileAppSessionIpPinning",
                "mobileAppSessionLifetime",
                "motdText",
                "motdUseForFtp",
                "motdUseForSftp",
                "name",
                "nextBillingAmount",
                "nextBillingDate",
                "nonSsoGroupsAllowed",
                "nonSsoUsersAllowed",
                "officeIntegrationAvailable",
                "officeIntegrationType",
                "oncehubLink",
                "optOutGlobal",
                "overdue",
                "passwordMinLength",
                "passwordRequireLetter",
                "passwordRequireMixed",
                "passwordRequireNumber",
                "passwordRequireSpecial",
                "passwordRequireUnbreached",
                "passwordRequirementsApplyToBundles",
                "passwordValidityDays",
                "phone",
                "pinAllRemoteServersToSiteRegion",
                "preventRootPermissionsForNonSiteAdmins",
                "protocolAccessGroupsOnly",
                "replyToEmail",
                "require2fa",
                "require2faExemptAllSsoUsers",
                "require2faStopTime",
                "require2faUserType",
                "requireLogoutFromBundlesAndInboxes",
                "restrictRootFolderBehaviorsToSiteAdmins",
                "revokeBundleAccessOnDisableOrDelete",
                "rootFolderBehaviorsApplyToWorkspaces",
                "session",
                "sessionExpiryMinutes",
                "sftpEnabled",
                "sftpFinalizePartialUploads",
                "sftpHostKeyType",
                "sftpInsecureCiphers",
                "sftpInsecureDiffieHellman",
                "sftpUserRootEnabled",
                "sharingEnabled",
                "showRequestAccessLink",
                "showUserNotificationsLogInLink",
                "siteFooter",
                "siteHeader",
                "sitePublicFooter",
                "sitePublicHeader",
                "smtpAddress",
                "smtpAuthentication",
                "smtpFrom",
                "smtpPort",
                "smtpUsername",
                "snapshotSharingEnabled",
                "sslRequired",
                "subdomain",
                "switchToPlanDate",
                "trialDaysLeft",
                "trialUntil",
                "uploadsViaEmailAuthentication",
                "useDedicatedIpsForSmtp",
                "useProvidedModifiedAt",
                "user",
                "userLockout",
                "userLockoutLockPeriod",
                "userLockoutTries",
                "userLockoutWithin",
                "userRequestsEnabled",
                "userRequestsNotifyAdmins",
                "usernameDisplay",
                "usersCanCreateApiKeys",
                "usersCanCreateSshKeys",
                "welcomeCustomText",
                "welcomeEmailCc",
                "welcomeEmailEnabled",
                "welcomeEmailSubject",
                "welcomeScreen",
                "windowsModeFtp"
            ],
            "inputProperties": {
                "activeSftpHostKeyId": {
                    "type": "integer",
                    "description": "Id of the currently selected custom SFTP Host Key\n"
                },
                "additionalTextFileTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional extensions that are considered text files\n"
                },
                "adminsBypassLockedSubfolders": {
                    "type": "boolean",
                    "description": "Allow admins to bypass the locked subfolders setting.\n"
                },
                "aiFeatureAvailability": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Availability settings for AI features by user class\n"
                },
                "allowBundleNames": {
                    "type": "boolean",
                    "description": "Are manual Bundle names allowed?\n"
                },
                "allowUserLevel2faOverride": {
                    "type": "boolean",
                    "description": "Allow the site-wide two-factor authentication requirement to be overriden on a per-user-basis?\n"
                },
                "allowUserLevelAllowedIpOverride": {
                    "type": "boolean",
                    "description": "Allow the site-wide allowed IP restriction to be overriden on a per-user-basis?\n"
                },
                "allowUserLevelSslOverride": {
                    "type": "boolean",
                    "description": "Allow the site-wide FTP SSL requirement to be overriden on a per-user-basis?\n"
                },
                "allowed2faMethodBypassForFtpSftpDav": {
                    "type": "boolean",
                    "description": "Are users allowed to configure their two factor authentication to be bypassed for FTP/SFTP/WebDAV?\n"
                },
                "allowed2faMethodEmail": {
                    "type": "boolean",
                    "description": "Is OTP via email two factor authentication allowed?\n"
                },
                "allowed2faMethodSms": {
                    "type": "boolean",
                    "description": "Is SMS two factor authentication allowed?\n"
                },
                "allowed2faMethodStatic": {
                    "type": "boolean",
                    "description": "Is OTP via static codes for two factor authentication allowed?\n"
                },
                "allowed2faMethodTotp": {
                    "type": "boolean",
                    "description": "Is TOTP two factor authentication allowed?\n"
                },
                "allowed2faMethodWebauthn": {
                    "type": "boolean",
                    "description": "Is WebAuthn two factor authentication allowed?\n"
                },
                "allowed2faMethodYubi": {
                    "type": "boolean",
                    "description": "Is yubikey two factor authentication allowed?\n"
                },
                "allowedCountries": {
                    "type": "string",
                    "description": "Comma separated list of allowed Country codes\n"
                },
                "allowedIps": {
                    "type": "string",
                    "description": "List of allowed IP addresses\n"
                },
                "alwaysMkdirParents": {
                    "type": "boolean",
                    "description": "Create parent directories if they do not exist during uploads?  This is primarily used to work around broken upload clients that assume servers will perform this step.\n"
                },
                "as2MessageRetentionDays": {
                    "type": "integer",
                    "description": "Number of days to retain AS2 messages (incoming and outgoing).\n"
                },
                "askAboutOverwrites": {
                    "type": "boolean",
                    "description": "If false, rename conflicting files instead of asking for overwrite confirmation.  Only applies to web interface.\n"
                },
                "bundleActivityNotifications": {
                    "type": "string",
                    "description": "Do Bundle owners receive activity notifications?\n"
                },
                "bundleExpiration": {
                    "type": "integer",
                    "description": "Site-wide Bundle expiration in days\n"
                },
                "bundleNotFoundMessage": {
                    "type": "string",
                    "description": "Custom error message to show when bundle is not found.\n"
                },
                "bundlePasswordRequired": {
                    "type": "boolean",
                    "description": "Do Bundles require password protection?\n"
                },
                "bundleRecipientBlacklistDomains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of email domains to disallow when entering a Bundle/Inbox recipients\n"
                },
                "bundleRecipientBlacklistFreeEmailDomains": {
                    "type": "boolean",
                    "description": "Disallow free email domains for Bundle/Inbox recipients?\n"
                },
                "bundleRegistrationNotifications": {
                    "type": "string",
                    "description": "Do Bundle owners receive registration notification?\n"
                },
                "bundleRequireNote": {
                    "type": "boolean",
                    "description": "Do Bundles require internal notes?\n"
                },
                "bundleRequireRegistration": {
                    "type": "boolean",
                    "description": "Do Bundles require registration?\n"
                },
                "bundleRequireShareRecipient": {
                    "type": "boolean",
                    "description": "Do Bundles require recipients for sharing?\n"
                },
                "bundleSendOneTimePasswordToRecipientAtRegistration": {
                    "type": "boolean",
                    "description": "If true, new Share Links must send a one-time password to the recipient when they register. Requires bundle*require*share*recipient and cannot be enabled with bundle*password_required.\n"
                },
                "bundleSendSharedReceipts": {
                    "type": "boolean",
                    "description": "Do Bundle creators receive receipts of invitations?\n"
                },
                "bundleUploadReceiptNotifications": {
                    "type": "string",
                    "description": "Do Bundle uploaders receive upload confirmation notifications?\n"
                },
                "bundleWatermarkValue": {
                    "$ref": "pulumi.json#/Any",
                    "description": "Preview watermark settings applied to all bundle items. Uses the same keys as Behavior.value\n"
                },
                "bundlesDefaultOwnedByPrimaryGroup": {
                    "type": "boolean",
                    "description": "If true, new Share Links created by a user with a primary group will default to that group as owner.\n"
                },
                "calculateFileChecksumsCrc32": {
                    "type": "boolean",
                    "description": "Calculate CRC32 checksums for files?\n"
                },
                "calculateFileChecksumsMd5": {
                    "type": "boolean",
                    "description": "Calculate MD5 checksums for files?\n"
                },
                "calculateFileChecksumsSha1": {
                    "type": "boolean",
                    "description": "Calculate SHA1 checksums for files?\n"
                },
                "calculateFileChecksumsSha256": {
                    "type": "boolean",
                    "description": "Calculate SHA256 checksums for files?\n"
                },
                "color2Left": {
                    "type": "string",
                    "description": "Page link and button color\n"
                },
                "color2Link": {
                    "type": "string",
                    "description": "Top bar link color\n"
                },
                "color2Text": {
                    "type": "string",
                    "description": "Page link and button color\n"
                },
                "color2Top": {
                    "type": "string",
                    "description": "Top bar background color\n"
                },
                "color2TopText": {
                    "type": "string",
                    "description": "Top bar text color\n"
                },
                "customNamespace": {
                    "type": "boolean",
                    "description": "Is this site using a custom namespace for users?\n"
                },
                "davEnabled": {
                    "type": "boolean",
                    "description": "Is WebDAV enabled?\n"
                },
                "davUserRootEnabled": {
                    "type": "boolean",
                    "description": "Use user FTP roots also for WebDAV?\n"
                },
                "daysToRetainBackups": {
                    "type": "integer",
                    "description": "Number of days to keep deleted files\n"
                },
                "defaultTimeZone": {
                    "type": "string",
                    "description": "Site default time zone\n"
                },
                "desktopApp": {
                    "type": "boolean",
                    "description": "Is the desktop app enabled?\n"
                },
                "desktopAppSessionIpPinning": {
                    "type": "boolean",
                    "description": "Is desktop app session IP pinning enabled?\n"
                },
                "desktopAppSessionLifetime": {
                    "type": "integer",
                    "description": "Desktop app session lifetime (in hours)\n"
                },
                "disableAllAiFeatures": {
                    "type": "boolean",
                    "description": "If true, all AI features are disabled for this site.\n"
                },
                "disableFilesCertificateGeneration": {
                    "type": "boolean",
                    "description": "If set, Files.com will not set the CAA records required to generate future SSL certificates for this domain.\n"
                },
                "disablePasswordReset": {
                    "type": "boolean",
                    "description": "Is password reset disabled?\n"
                },
                "disallowedCountries": {
                    "type": "string",
                    "description": "Comma separated list of disallowed Country codes\n"
                },
                "documentEditsInBundleAllowed": {
                    "type": "boolean",
                    "description": "If true, allow public viewers of Bundles with full permissions to use document editing integrations.\n"
                },
                "domain": {
                    "type": "string",
                    "description": "Custom domain\n"
                },
                "domainHstsHeader": {
                    "type": "boolean",
                    "description": "Send HSTS (HTTP Strict Transport Security) header when visitors access the site via a custom domain?\n"
                },
                "domainLetsencryptChain": {
                    "type": "string",
                    "description": "Letsencrypt chain to use when registering SSL Certificate for domain. No longer used as of 2026.\n"
                },
                "email": {
                    "type": "string",
                    "description": "Main email for this site\n"
                },
                "emailFooterCustomText": {
                    "type": "string",
                    "description": "Custom footer text for system-generated emails. Supports standard strftime date/time patterns like %Y (4-digit year), %m (month), %d (day).\n"
                },
                "fedramp": {
                    "type": "boolean",
                    "description": "Are FedRAMP security restrictions enabled for this site?\n"
                },
                "folderPermissionsGroupsOnly": {
                    "type": "boolean",
                    "description": "If true, permissions for this site must be bound to a group (not a user).\n"
                },
                "ftpEnabled": {
                    "type": "boolean",
                    "description": "Is FTP enabled?\n"
                },
                "groupAdminsCanAddUsers": {
                    "type": "boolean",
                    "description": "Allow group admins to create users in their groups\n"
                },
                "groupAdminsCanBypassUserLifecycleRules": {
                    "type": "boolean",
                    "description": "Allow group admins to exempt users in their groups from lifecycle rules\n"
                },
                "groupAdminsCanDeleteUsers": {
                    "type": "boolean",
                    "description": "Allow group admins to delete users in their groups\n"
                },
                "groupAdminsCanEnableDisableUsers": {
                    "type": "boolean",
                    "description": "Allow group admins to enable or disable users in their groups\n"
                },
                "groupAdminsCanManageGroupMemberships": {
                    "type": "boolean",
                    "description": "Allow group admins to add or remove existing users in their groups\n"
                },
                "groupAdminsCanModifyUsers": {
                    "type": "boolean",
                    "description": "Allow group admins to modify users in their groups\n"
                },
                "groupAdminsCanResetPasswords": {
                    "type": "boolean",
                    "description": "Allow group admins to reset passwords for users in their groups\n"
                },
                "groupAdminsCanSetUserPassword": {
                    "type": "boolean",
                    "description": "Allow group admins to set password authentication method\n"
                },
                "includePasswordInWelcomeEmail": {
                    "type": "boolean",
                    "description": "Include password in emails to new users?\n"
                },
                "language": {
                    "type": "string",
                    "description": "Site default language\n"
                },
                "ldapBaseDn": {
                    "type": "string",
                    "description": "Base DN for looking up users in LDAP server\n"
                },
                "ldapDomain": {
                    "type": "string",
                    "description": "Domain name that will be appended to usernames\n"
                },
                "ldapEnabled": {
                    "type": "boolean",
                    "description": "Main LDAP setting: is LDAP enabled?\n"
                },
                "ldapGroupAction": {
                    "type": "string",
                    "description": "Should we sync groups from LDAP server?\n"
                },
                "ldapGroupExclusion": {
                    "type": "string",
                    "description": "Comma or newline separated list of group names (with optional wildcards) to exclude when syncing.\n"
                },
                "ldapGroupInclusion": {
                    "type": "string",
                    "description": "Comma or newline separated list of group names (with optional wildcards) to include when syncing.\n"
                },
                "ldapHost": {
                    "type": "string",
                    "description": "LDAP host\n"
                },
                "ldapHost2": {
                    "type": "string",
                    "description": "LDAP backup host\n"
                },
                "ldapHost3": {
                    "type": "string",
                    "description": "LDAP backup host\n"
                },
                "ldapPort": {
                    "type": "integer",
                    "description": "LDAP port\n"
                },
                "ldapSecure": {
                    "type": "boolean",
                    "description": "Use secure LDAP?\n"
                },
                "ldapType": {
                    "type": "string",
                    "description": "LDAP type\n"
                },
                "ldapUserAction": {
                    "type": "string",
                    "description": "Should we sync users from LDAP server?\n"
                },
                "ldapUserIncludeGroups": {
                    "type": "string",
                    "description": "Comma or newline separated list of group names (with optional wildcards) - if provided, only users in these groups will be added or synced.\n"
                },
                "ldapUsername": {
                    "type": "string",
                    "description": "Username for signing in to LDAP server.\n"
                },
                "ldapUsernameField": {
                    "type": "string",
                    "description": "LDAP username field\n"
                },
                "legacyChecksumsMode": {
                    "type": "boolean",
                    "description": "Use legacy checksums mode?\n"
                },
                "loginHelpText": {
                    "type": "string",
                    "description": "Login help text\n"
                },
                "maxPriorPasswords": {
                    "type": "integer",
                    "description": "Number of prior passwords to disallow\n"
                },
                "mcpDcrEnabled": {
                    "type": "boolean",
                    "description": "Is OAuth DCR (dynamic client registration) for MCP enabled?\n"
                },
                "migrateRemoteServerSyncToSync": {
                    "type": "boolean",
                    "description": "If true, we will migrate all remote server syncs to the new Sync model.\n"
                },
                "mobileApp": {
                    "type": "boolean",
                    "description": "Is the mobile app enabled?\n"
                },
                "mobileAppSessionIpPinning": {
                    "type": "boolean",
                    "description": "Is mobile app session IP pinning enabled?\n"
                },
                "mobileAppSessionLifetime": {
                    "type": "integer",
                    "description": "Mobile app session lifetime (in hours)\n"
                },
                "motdText": {
                    "type": "string",
                    "description": "A message to show users when they connect via FTP or SFTP.\n"
                },
                "motdUseForFtp": {
                    "type": "boolean",
                    "description": "Show message to users connecting via FTP\n"
                },
                "motdUseForSftp": {
                    "type": "boolean",
                    "description": "Show message to users connecting via SFTP\n"
                },
                "name": {
                    "type": "string",
                    "description": "Site name\n"
                },
                "nonSsoGroupsAllowed": {
                    "type": "boolean",
                    "description": "If true, groups can be manually created / modified / deleted by Site Admins. Otherwise, groups can only be managed via your SSO provider.\n"
                },
                "nonSsoUsersAllowed": {
                    "type": "boolean",
                    "description": "If true, users can be manually created / modified / deleted by Site Admins. Otherwise, users can only be managed via your SSO provider.\n"
                },
                "officeIntegrationAvailable": {
                    "type": "boolean",
                    "description": "If true, allows users to use a document editing integration.\n"
                },
                "officeIntegrationType": {
                    "type": "string",
                    "description": "Which document editing integration to support. Files.com Editor or Microsoft Office for the Web.\n"
                },
                "optOutGlobal": {
                    "type": "boolean",
                    "description": "Use servers in the USA only?\n"
                },
                "passwordMinLength": {
                    "type": "integer",
                    "description": "Shortest password length for users\n"
                },
                "passwordRequireLetter": {
                    "type": "boolean",
                    "description": "Require a letter in passwords?\n"
                },
                "passwordRequireMixed": {
                    "type": "boolean",
                    "description": "Require lower and upper case letters in passwords?\n"
                },
                "passwordRequireNumber": {
                    "type": "boolean",
                    "description": "Require a number in passwords?\n"
                },
                "passwordRequireSpecial": {
                    "type": "boolean",
                    "description": "Require special characters in password?\n"
                },
                "passwordRequireUnbreached": {
                    "type": "boolean",
                    "description": "Require passwords that have not been previously breached? (see https://haveibeenpwned.com/)\n"
                },
                "passwordRequirementsApplyToBundles": {
                    "type": "boolean",
                    "description": "Require bundles' passwords, and passwords for other items (inboxes, public shares, etc.) to conform to the same requirements as users' passwords?\n"
                },
                "passwordValidityDays": {
                    "type": "integer",
                    "description": "Number of days password is valid\n"
                },
                "pinAllRemoteServersToSiteRegion": {
                    "type": "boolean",
                    "description": "If true, we will ensure that all internal communications with any remote server are made through the primary region of the site. This setting overrides individual remote server settings.\n"
                },
                "preventRootPermissionsForNonSiteAdmins": {
                    "type": "boolean",
                    "description": "If true, we will prevent non-administrators from receiving any permissions directly on the root folder.  This is commonly used to prevent the accidental application of permissions.\n"
                },
                "protocolAccessGroupsOnly": {
                    "type": "boolean",
                    "description": "If true, protocol access permissions on users will be ignored, and only protocol access permissions set on Groups will be honored.  Make sure that your current user is a member of a group with API permission when changing this value to avoid locking yourself out of your site.\n"
                },
                "replyToEmail": {
                    "type": "string",
                    "description": "Reply-to email for this site\n"
                },
                "require2fa": {
                    "type": "boolean",
                    "description": "Require two-factor authentication for all users?\n"
                },
                "require2faExemptAllSsoUsers": {
                    "type": "boolean",
                    "description": "If true, SSO users using the default user-level two-factor authentication setting are exempt from the site-wide two-factor authentication requirement.\n"
                },
                "require2faUserType": {
                    "type": "string",
                    "description": "What type of user is required to use two-factor authentication (when\u003cspan pulumi-lang-nodejs=\" require2fa \" pulumi-lang-dotnet=\" Require2fa \" pulumi-lang-go=\" require2fa \" pulumi-lang-python=\" require_2fa \" pulumi-lang-yaml=\" require2fa \" pulumi-lang-java=\" require2fa \" pulumi-lang-hcl=\" require_2fa \"\u003e require2fa \u003c/span\u003eis set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e for this site)?\n"
                },
                "requireLogoutFromBundlesAndInboxes": {
                    "type": "boolean",
                    "description": "If true, we will hide the 'Remember Me' box on Inbox and Bundle registration pages, requiring that the user logout and log back in every time they visit the page.\n"
                },
                "restrictRootFolderBehaviorsToSiteAdmins": {
                    "type": "boolean",
                    "description": "If true, only site admins may create, modify, or delete any behavior at the site root, or a skip that would disable one.\n"
                },
                "revokeBundleAccessOnDisableOrDelete": {
                    "type": "boolean",
                    "description": "Auto-removes bundles for disabled/deleted users and enforces bundle expiry within user access period.\n"
                },
                "rootFolderBehaviorsApplyToWorkspaces": {
                    "type": "boolean",
                    "description": "If true, supported protective behaviors at the site root also apply within named workspaces. Requires restrict*root*folder*behaviors*to*site*admins to be enabled.\n"
                },
                "sessionExpiryMinutes": {
                    "type": "integer",
                    "description": "Session expiry in minutes\n"
                },
                "sftpEnabled": {
                    "type": "boolean",
                    "description": "Is SFTP enabled?\n"
                },
                "sftpFinalizePartialUploads": {
                    "type": "boolean",
                    "description": "Finalize partial SFTP uploads from interrupted connections? Default: true.\n"
                },
                "sftpHostKeyType": {
                    "type": "string",
                    "description": "Sftp Host Key Type\n"
                },
                "sftpInsecureCiphers": {
                    "type": "boolean",
                    "description": "If true, we will allow weak and known insecure ciphers to be used for SFTP connections.  Enabling this setting severely weakens the security of your site and it is not recommend, except as a last resort for compatibility.\n"
                },
                "sftpInsecureDiffieHellman": {
                    "type": "boolean",
                    "description": "If true, we will allow weak Diffie Hellman parameters to be used within ciphers for SFTP that are otherwise on our secure list.  This has the effect of making the cipher weaker than our normal threshold for security, but is required to support certain legacy or broken SSH and MFT clients.  Enabling this weakens security, but not nearly as much as enabling the full \u003cspan pulumi-lang-nodejs=\"`sftpInsecureCiphers`\" pulumi-lang-dotnet=\"`SftpInsecureCiphers`\" pulumi-lang-go=\"`sftpInsecureCiphers`\" pulumi-lang-python=\"`sftp_insecure_ciphers`\" pulumi-lang-yaml=\"`sftpInsecureCiphers`\" pulumi-lang-java=\"`sftpInsecureCiphers`\" pulumi-lang-hcl=\"`sftp_insecure_ciphers`\"\u003e`sftpInsecureCiphers`\u003c/span\u003e option.\n"
                },
                "sftpUserRootEnabled": {
                    "type": "boolean",
                    "description": "Use user FTP roots also for SFTP?\n"
                },
                "sharingEnabled": {
                    "type": "boolean",
                    "description": "Allow bundle creation\n"
                },
                "showRequestAccessLink": {
                    "type": "boolean",
                    "description": "Show request access link for users without access?  Currently unused.\n"
                },
                "showUserNotificationsLogInLink": {
                    "type": "boolean",
                    "description": "Show log in link in user notifications?\n"
                },
                "siteFooter": {
                    "type": "string",
                    "description": "Custom site footer text for authenticated pages\n"
                },
                "siteHeader": {
                    "type": "string",
                    "description": "Custom site header text for authenticated pages\n"
                },
                "sitePublicFooter": {
                    "type": "string",
                    "description": "Custom site footer text for public pages\n"
                },
                "sitePublicHeader": {
                    "type": "string",
                    "description": "Custom site header text for public pages\n"
                },
                "smtpAddress": {
                    "type": "string",
                    "description": "SMTP server hostname or IP\n"
                },
                "smtpAuthentication": {
                    "type": "string",
                    "description": "SMTP server authentication type\n"
                },
                "smtpFrom": {
                    "type": "string",
                    "description": "From address to use when mailing through custom SMTP\n"
                },
                "smtpPort": {
                    "type": "integer",
                    "description": "SMTP server port\n"
                },
                "smtpUsername": {
                    "type": "string",
                    "description": "SMTP server username\n"
                },
                "snapshotSharingEnabled": {
                    "type": "boolean",
                    "description": "Allow snapshot share links creation\n"
                },
                "sslRequired": {
                    "type": "boolean",
                    "description": "Is SSL required?  Disabling this is insecure.\n"
                },
                "subdomain": {
                    "type": "string",
                    "description": "Site subdomain\n"
                },
                "uploadsViaEmailAuthentication": {
                    "type": "boolean",
                    "description": "Do incoming emails in the Inboxes require checking for SPF/DKIM/DMARC?\n"
                },
                "useDedicatedIpsForSmtp": {
                    "type": "boolean",
                    "description": "If using custom SMTP, should we use dedicated IPs to deliver emails?\n"
                },
                "useProvidedModifiedAt": {
                    "type": "boolean",
                    "description": "Allow uploaders to set \u003cspan pulumi-lang-nodejs=\"`providedModifiedAt`\" pulumi-lang-dotnet=\"`ProvidedModifiedAt`\" pulumi-lang-go=\"`providedModifiedAt`\" pulumi-lang-python=\"`provided_modified_at`\" pulumi-lang-yaml=\"`providedModifiedAt`\" pulumi-lang-java=\"`providedModifiedAt`\" pulumi-lang-hcl=\"`provided_modified_at`\"\u003e`providedModifiedAt`\u003c/span\u003e for uploaded files?\n"
                },
                "userLockout": {
                    "type": "boolean",
                    "description": "Will users be locked out after incorrect login attempts?\n"
                },
                "userLockoutLockPeriod": {
                    "type": "integer",
                    "description": "How many hours to lock user out for failed password?\n"
                },
                "userLockoutTries": {
                    "type": "integer",
                    "description": "Number of login tries within \u003cspan pulumi-lang-nodejs=\"`userLockoutWithin`\" pulumi-lang-dotnet=\"`UserLockoutWithin`\" pulumi-lang-go=\"`userLockoutWithin`\" pulumi-lang-python=\"`user_lockout_within`\" pulumi-lang-yaml=\"`userLockoutWithin`\" pulumi-lang-java=\"`userLockoutWithin`\" pulumi-lang-hcl=\"`user_lockout_within`\"\u003e`userLockoutWithin`\u003c/span\u003e hours before users are locked out\n"
                },
                "userLockoutWithin": {
                    "type": "integer",
                    "description": "Number of hours for user lockout window\n"
                },
                "userRequestsEnabled": {
                    "type": "boolean",
                    "description": "Enable User Requests feature\n"
                },
                "userRequestsNotifyAdmins": {
                    "type": "boolean",
                    "description": "Send email to site admins when a user request is received?\n"
                },
                "usernameDisplay": {
                    "type": "string",
                    "description": "How usernames are displayed in the web UI. Can be \u003cspan pulumi-lang-nodejs=\"`usernameOnly`\" pulumi-lang-dotnet=\"`UsernameOnly`\" pulumi-lang-go=\"`usernameOnly`\" pulumi-lang-python=\"`username_only`\" pulumi-lang-yaml=\"`usernameOnly`\" pulumi-lang-java=\"`usernameOnly`\" pulumi-lang-hcl=\"`username_only`\"\u003e`usernameOnly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`fullNameOnly`\" pulumi-lang-dotnet=\"`FullNameOnly`\" pulumi-lang-go=\"`fullNameOnly`\" pulumi-lang-python=\"`full_name_only`\" pulumi-lang-yaml=\"`fullNameOnly`\" pulumi-lang-java=\"`fullNameOnly`\" pulumi-lang-hcl=\"`full_name_only`\"\u003e`fullNameOnly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`fullNameUsername`\" pulumi-lang-dotnet=\"`FullNameUsername`\" pulumi-lang-go=\"`fullNameUsername`\" pulumi-lang-python=\"`full_name_username`\" pulumi-lang-yaml=\"`fullNameUsername`\" pulumi-lang-java=\"`fullNameUsername`\" pulumi-lang-hcl=\"`full_name_username`\"\u003e`fullNameUsername`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`fullNameCompany`\" pulumi-lang-dotnet=\"`FullNameCompany`\" pulumi-lang-go=\"`fullNameCompany`\" pulumi-lang-python=\"`full_name_company`\" pulumi-lang-yaml=\"`fullNameCompany`\" pulumi-lang-java=\"`fullNameCompany`\" pulumi-lang-hcl=\"`full_name_company`\"\u003e`fullNameCompany`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`fullNameUsernameCompany`\" pulumi-lang-dotnet=\"`FullNameUsernameCompany`\" pulumi-lang-go=\"`fullNameUsernameCompany`\" pulumi-lang-python=\"`full_name_username_company`\" pulumi-lang-yaml=\"`fullNameUsernameCompany`\" pulumi-lang-java=\"`fullNameUsernameCompany`\" pulumi-lang-hcl=\"`full_name_username_company`\"\u003e`fullNameUsernameCompany`\u003c/span\u003e.\n"
                },
                "usersCanCreateApiKeys": {
                    "type": "boolean",
                    "description": "Allow users to create their own API keys?\n"
                },
                "usersCanCreateSshKeys": {
                    "type": "boolean",
                    "description": "Allow users to create their own SSH keys?\n"
                },
                "welcomeCustomText": {
                    "type": "string",
                    "description": "Custom text send in user welcome email\n"
                },
                "welcomeEmailCc": {
                    "type": "string",
                    "description": "Include this email in welcome emails if enabled\n"
                },
                "welcomeEmailEnabled": {
                    "type": "boolean",
                    "description": "Will the welcome email be sent to new users?\n"
                },
                "welcomeEmailSubject": {
                    "type": "string",
                    "description": "Include this email subject in welcome emails if enabled\n"
                },
                "welcomeScreen": {
                    "type": "string",
                    "description": "Does the welcome screen appear?\n"
                },
                "windowsModeFtp": {
                    "type": "boolean",
                    "description": "Does FTP user Windows emulation mode?\n"
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Site resources.\n",
                "properties": {
                    "activeSftpHostKeyId": {
                        "type": "integer",
                        "description": "Id of the currently selected custom SFTP Host Key\n"
                    },
                    "additionalTextFileTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Additional extensions that are considered text files\n"
                    },
                    "adminUserId": {
                        "type": "integer",
                        "description": "User ID for the main site administrator\n"
                    },
                    "adminsBypassLockedSubfolders": {
                        "type": "boolean",
                        "description": "Allow admins to bypass the locked subfolders setting.\n"
                    },
                    "aiFeatureAvailability": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Availability settings for AI features by user class\n"
                    },
                    "allowBundleNames": {
                        "type": "boolean",
                        "description": "Are manual Bundle names allowed?\n"
                    },
                    "allowUserLevel2faOverride": {
                        "type": "boolean",
                        "description": "Allow the site-wide two-factor authentication requirement to be overriden on a per-user-basis?\n"
                    },
                    "allowUserLevelAllowedIpOverride": {
                        "type": "boolean",
                        "description": "Allow the site-wide allowed IP restriction to be overriden on a per-user-basis?\n"
                    },
                    "allowUserLevelSslOverride": {
                        "type": "boolean",
                        "description": "Allow the site-wide FTP SSL requirement to be overriden on a per-user-basis?\n"
                    },
                    "allowed2faMethodBypassForFtpSftpDav": {
                        "type": "boolean",
                        "description": "Are users allowed to configure their two factor authentication to be bypassed for FTP/SFTP/WebDAV?\n"
                    },
                    "allowed2faMethodEmail": {
                        "type": "boolean",
                        "description": "Is OTP via email two factor authentication allowed?\n"
                    },
                    "allowed2faMethodSms": {
                        "type": "boolean",
                        "description": "Is SMS two factor authentication allowed?\n"
                    },
                    "allowed2faMethodStatic": {
                        "type": "boolean",
                        "description": "Is OTP via static codes for two factor authentication allowed?\n"
                    },
                    "allowed2faMethodTotp": {
                        "type": "boolean",
                        "description": "Is TOTP two factor authentication allowed?\n"
                    },
                    "allowed2faMethodWebauthn": {
                        "type": "boolean",
                        "description": "Is WebAuthn two factor authentication allowed?\n"
                    },
                    "allowed2faMethodYubi": {
                        "type": "boolean",
                        "description": "Is yubikey two factor authentication allowed?\n"
                    },
                    "allowedCountries": {
                        "type": "string",
                        "description": "Comma separated list of allowed Country codes\n"
                    },
                    "allowedIps": {
                        "type": "string",
                        "description": "List of allowed IP addresses\n"
                    },
                    "alwaysMkdirParents": {
                        "type": "boolean",
                        "description": "Create parent directories if they do not exist during uploads?  This is primarily used to work around broken upload clients that assume servers will perform this step.\n"
                    },
                    "as2MessageRetentionDays": {
                        "type": "integer",
                        "description": "Number of days to retain AS2 messages (incoming and outgoing).\n"
                    },
                    "askAboutOverwrites": {
                        "type": "boolean",
                        "description": "If false, rename conflicting files instead of asking for overwrite confirmation.  Only applies to web interface.\n"
                    },
                    "bundleActivityNotifications": {
                        "type": "string",
                        "description": "Do Bundle owners receive activity notifications?\n"
                    },
                    "bundleExpiration": {
                        "type": "integer",
                        "description": "Site-wide Bundle expiration in days\n"
                    },
                    "bundleNotFoundMessage": {
                        "type": "string",
                        "description": "Custom error message to show when bundle is not found.\n"
                    },
                    "bundlePasswordRequired": {
                        "type": "boolean",
                        "description": "Do Bundles require password protection?\n"
                    },
                    "bundleRecipientBlacklistDomains": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of email domains to disallow when entering a Bundle/Inbox recipients\n"
                    },
                    "bundleRecipientBlacklistFreeEmailDomains": {
                        "type": "boolean",
                        "description": "Disallow free email domains for Bundle/Inbox recipients?\n"
                    },
                    "bundleRegistrationNotifications": {
                        "type": "string",
                        "description": "Do Bundle owners receive registration notification?\n"
                    },
                    "bundleRequireNote": {
                        "type": "boolean",
                        "description": "Do Bundles require internal notes?\n"
                    },
                    "bundleRequireRegistration": {
                        "type": "boolean",
                        "description": "Do Bundles require registration?\n"
                    },
                    "bundleRequireShareRecipient": {
                        "type": "boolean",
                        "description": "Do Bundles require recipients for sharing?\n"
                    },
                    "bundleSendOneTimePasswordToRecipientAtRegistration": {
                        "type": "boolean",
                        "description": "If true, new Share Links must send a one-time password to the recipient when they register. Requires bundle*require*share*recipient and cannot be enabled with bundle*password_required.\n"
                    },
                    "bundleSendSharedReceipts": {
                        "type": "boolean",
                        "description": "Do Bundle creators receive receipts of invitations?\n"
                    },
                    "bundleUploadReceiptNotifications": {
                        "type": "string",
                        "description": "Do Bundle uploaders receive upload confirmation notifications?\n"
                    },
                    "bundleWatermarkAttachment": {
                        "type": "string",
                        "description": "Preview watermark image applied to all bundle items.\n"
                    },
                    "bundleWatermarkValue": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Preview watermark settings applied to all bundle items. Uses the same keys as Behavior.value\n"
                    },
                    "bundlesDefaultOwnedByPrimaryGroup": {
                        "type": "boolean",
                        "description": "If true, new Share Links created by a user with a primary group will default to that group as owner.\n"
                    },
                    "calculateFileChecksumsCrc32": {
                        "type": "boolean",
                        "description": "Calculate CRC32 checksums for files?\n"
                    },
                    "calculateFileChecksumsMd5": {
                        "type": "boolean",
                        "description": "Calculate MD5 checksums for files?\n"
                    },
                    "calculateFileChecksumsSha1": {
                        "type": "boolean",
                        "description": "Calculate SHA1 checksums for files?\n"
                    },
                    "calculateFileChecksumsSha256": {
                        "type": "boolean",
                        "description": "Calculate SHA256 checksums for files?\n"
                    },
                    "color2Left": {
                        "type": "string",
                        "description": "Page link and button color\n"
                    },
                    "color2Link": {
                        "type": "string",
                        "description": "Top bar link color\n"
                    },
                    "color2Text": {
                        "type": "string",
                        "description": "Page link and button color\n"
                    },
                    "color2Top": {
                        "type": "string",
                        "description": "Top bar background color\n"
                    },
                    "color2TopText": {
                        "type": "string",
                        "description": "Top bar text color\n"
                    },
                    "contactName": {
                        "type": "string",
                        "description": "Site main contact name\n"
                    },
                    "createdAt": {
                        "type": "string",
                        "description": "Time this site was created\n"
                    },
                    "currency": {
                        "type": "string",
                        "description": "Preferred currency\n"
                    },
                    "customNamespace": {
                        "type": "boolean",
                        "description": "Is this site using a custom namespace for users?\n"
                    },
                    "davEnabled": {
                        "type": "boolean",
                        "description": "Is WebDAV enabled?\n"
                    },
                    "davUserRootEnabled": {
                        "type": "boolean",
                        "description": "Use user FTP roots also for WebDAV?\n"
                    },
                    "daysToRetainBackups": {
                        "type": "integer",
                        "description": "Number of days to keep deleted files\n"
                    },
                    "defaultTimeZone": {
                        "type": "string",
                        "description": "Site default time zone\n"
                    },
                    "desktopApp": {
                        "type": "boolean",
                        "description": "Is the desktop app enabled?\n"
                    },
                    "desktopAppSessionIpPinning": {
                        "type": "boolean",
                        "description": "Is desktop app session IP pinning enabled?\n"
                    },
                    "desktopAppSessionLifetime": {
                        "type": "integer",
                        "description": "Desktop app session lifetime (in hours)\n"
                    },
                    "disableAllAiFeatures": {
                        "type": "boolean",
                        "description": "If true, all AI features are disabled for this site.\n"
                    },
                    "disableFilesCertificateGeneration": {
                        "type": "boolean",
                        "description": "If set, Files.com will not set the CAA records required to generate future SSL certificates for this domain.\n"
                    },
                    "disableNotifications": {
                        "type": "boolean",
                        "description": "Are notifications disabled?\n"
                    },
                    "disablePasswordReset": {
                        "type": "boolean",
                        "description": "Is password reset disabled?\n"
                    },
                    "disallowedCountries": {
                        "type": "string",
                        "description": "Comma separated list of disallowed Country codes\n"
                    },
                    "documentEditsInBundleAllowed": {
                        "type": "boolean",
                        "description": "If true, allow public viewers of Bundles with full permissions to use document editing integrations.\n"
                    },
                    "domain": {
                        "type": "string",
                        "description": "Custom domain\n"
                    },
                    "domainHstsHeader": {
                        "type": "boolean",
                        "description": "Send HSTS (HTTP Strict Transport Security) header when visitors access the site via a custom domain?\n"
                    },
                    "domainLetsencryptChain": {
                        "type": "string",
                        "description": "Letsencrypt chain to use when registering SSL Certificate for domain. No longer used as of 2026.\n"
                    },
                    "email": {
                        "type": "string",
                        "description": "Main email for this site\n"
                    },
                    "emailFooterCustomText": {
                        "type": "string",
                        "description": "Custom footer text for system-generated emails. Supports standard strftime date/time patterns like %Y (4-digit year), %m (month), %d (day).\n"
                    },
                    "fedramp": {
                        "type": "boolean",
                        "description": "Are FedRAMP security restrictions enabled for this site?\n"
                    },
                    "folderPermissionsGroupsOnly": {
                        "type": "boolean",
                        "description": "If true, permissions for this site must be bound to a group (not a user).\n"
                    },
                    "ftpEnabled": {
                        "type": "boolean",
                        "description": "Is FTP enabled?\n"
                    },
                    "groupAdminsCanAddUsers": {
                        "type": "boolean",
                        "description": "Allow group admins to create users in their groups\n"
                    },
                    "groupAdminsCanBypassUserLifecycleRules": {
                        "type": "boolean",
                        "description": "Allow group admins to exempt users in their groups from lifecycle rules\n"
                    },
                    "groupAdminsCanDeleteUsers": {
                        "type": "boolean",
                        "description": "Allow group admins to delete users in their groups\n"
                    },
                    "groupAdminsCanEnableDisableUsers": {
                        "type": "boolean",
                        "description": "Allow group admins to enable or disable users in their groups\n"
                    },
                    "groupAdminsCanManageGroupMemberships": {
                        "type": "boolean",
                        "description": "Allow group admins to add or remove existing users in their groups\n"
                    },
                    "groupAdminsCanModifyUsers": {
                        "type": "boolean",
                        "description": "Allow group admins to modify users in their groups\n"
                    },
                    "groupAdminsCanResetPasswords": {
                        "type": "boolean",
                        "description": "Allow group admins to reset passwords for users in their groups\n"
                    },
                    "groupAdminsCanSetUserPassword": {
                        "type": "boolean",
                        "description": "Allow group admins to set password authentication method\n"
                    },
                    "hipaa": {
                        "type": "boolean",
                        "description": "Is there a signed HIPAA BAA between Files.com and this site?\n"
                    },
                    "icon128": {
                        "type": "string",
                        "description": "Branded icon 128x128\n"
                    },
                    "icon16": {
                        "type": "string",
                        "description": "Branded icon 16x16\n"
                    },
                    "icon32": {
                        "type": "string",
                        "description": "Branded icon 32x32\n"
                    },
                    "icon48": {
                        "type": "string",
                        "description": "Branded icon 48x48\n"
                    },
                    "immutableFilesSetAt": {
                        "type": "string",
                        "description": "Can files be modified?\n"
                    },
                    "includePasswordInWelcomeEmail": {
                        "type": "boolean",
                        "description": "Include password in emails to new users?\n"
                    },
                    "language": {
                        "type": "string",
                        "description": "Site default language\n"
                    },
                    "ldapBaseDn": {
                        "type": "string",
                        "description": "Base DN for looking up users in LDAP server\n"
                    },
                    "ldapDomain": {
                        "type": "string",
                        "description": "Domain name that will be appended to usernames\n"
                    },
                    "ldapEnabled": {
                        "type": "boolean",
                        "description": "Main LDAP setting: is LDAP enabled?\n"
                    },
                    "ldapGroupAction": {
                        "type": "string",
                        "description": "Should we sync groups from LDAP server?\n"
                    },
                    "ldapGroupExclusion": {
                        "type": "string",
                        "description": "Comma or newline separated list of group names (with optional wildcards) to exclude when syncing.\n"
                    },
                    "ldapGroupInclusion": {
                        "type": "string",
                        "description": "Comma or newline separated list of group names (with optional wildcards) to include when syncing.\n"
                    },
                    "ldapHost": {
                        "type": "string",
                        "description": "LDAP host\n"
                    },
                    "ldapHost2": {
                        "type": "string",
                        "description": "LDAP backup host\n"
                    },
                    "ldapHost3": {
                        "type": "string",
                        "description": "LDAP backup host\n"
                    },
                    "ldapPort": {
                        "type": "integer",
                        "description": "LDAP port\n"
                    },
                    "ldapSecure": {
                        "type": "boolean",
                        "description": "Use secure LDAP?\n"
                    },
                    "ldapType": {
                        "type": "string",
                        "description": "LDAP type\n"
                    },
                    "ldapUserAction": {
                        "type": "string",
                        "description": "Should we sync users from LDAP server?\n"
                    },
                    "ldapUserIncludeGroups": {
                        "type": "string",
                        "description": "Comma or newline separated list of group names (with optional wildcards) - if provided, only users in these groups will be added or synced.\n"
                    },
                    "ldapUsername": {
                        "type": "string",
                        "description": "Username for signing in to LDAP server.\n"
                    },
                    "ldapUsernameField": {
                        "type": "string",
                        "description": "LDAP username field\n"
                    },
                    "legacyChecksumsMode": {
                        "type": "boolean",
                        "description": "Use legacy checksums mode?\n"
                    },
                    "loginHelpText": {
                        "type": "string",
                        "description": "Login help text\n"
                    },
                    "loginPageBackgroundImage": {
                        "type": "string",
                        "description": "Branded login page background\n"
                    },
                    "logo": {
                        "type": "string",
                        "description": "Branded logo\n"
                    },
                    "managedSiteSettings": {
                        "$ref": "pulumi.json#/Any",
                        "description": "List of site settings managed by the parent site\n"
                    },
                    "maxPriorPasswords": {
                        "type": "integer",
                        "description": "Number of prior passwords to disallow\n"
                    },
                    "mcpDcrEnabled": {
                        "type": "boolean",
                        "description": "Is OAuth DCR (dynamic client registration) for MCP enabled?\n"
                    },
                    "migrateRemoteServerSyncToSync": {
                        "type": "boolean",
                        "description": "If true, we will migrate all remote server syncs to the new Sync model.\n"
                    },
                    "mobileApp": {
                        "type": "boolean",
                        "description": "Is the mobile app enabled?\n"
                    },
                    "mobileAppSessionIpPinning": {
                        "type": "boolean",
                        "description": "Is mobile app session IP pinning enabled?\n"
                    },
                    "mobileAppSessionLifetime": {
                        "type": "integer",
                        "description": "Mobile app session lifetime (in hours)\n"
                    },
                    "motdText": {
                        "type": "string",
                        "description": "A message to show users when they connect via FTP or SFTP.\n"
                    },
                    "motdUseForFtp": {
                        "type": "boolean",
                        "description": "Show message to users connecting via FTP\n"
                    },
                    "motdUseForSftp": {
                        "type": "boolean",
                        "description": "Show message to users connecting via SFTP\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Site name\n"
                    },
                    "nextBillingAmount": {
                        "type": "string",
                        "description": "Next billing amount\n"
                    },
                    "nextBillingDate": {
                        "type": "string",
                        "description": "Next billing date\n"
                    },
                    "nonSsoGroupsAllowed": {
                        "type": "boolean",
                        "description": "If true, groups can be manually created / modified / deleted by Site Admins. Otherwise, groups can only be managed via your SSO provider.\n"
                    },
                    "nonSsoUsersAllowed": {
                        "type": "boolean",
                        "description": "If true, users can be manually created / modified / deleted by Site Admins. Otherwise, users can only be managed via your SSO provider.\n"
                    },
                    "officeIntegrationAvailable": {
                        "type": "boolean",
                        "description": "If true, allows users to use a document editing integration.\n"
                    },
                    "officeIntegrationType": {
                        "type": "string",
                        "description": "Which document editing integration to support. Files.com Editor or Microsoft Office for the Web.\n"
                    },
                    "oncehubLink": {
                        "type": "string",
                        "description": "Link to scheduling a meeting with our Sales team\n"
                    },
                    "optOutGlobal": {
                        "type": "boolean",
                        "description": "Use servers in the USA only?\n"
                    },
                    "overdue": {
                        "type": "boolean",
                        "description": "Is this site's billing overdue?\n"
                    },
                    "passwordMinLength": {
                        "type": "integer",
                        "description": "Shortest password length for users\n"
                    },
                    "passwordRequireLetter": {
                        "type": "boolean",
                        "description": "Require a letter in passwords?\n"
                    },
                    "passwordRequireMixed": {
                        "type": "boolean",
                        "description": "Require lower and upper case letters in passwords?\n"
                    },
                    "passwordRequireNumber": {
                        "type": "boolean",
                        "description": "Require a number in passwords?\n"
                    },
                    "passwordRequireSpecial": {
                        "type": "boolean",
                        "description": "Require special characters in password?\n"
                    },
                    "passwordRequireUnbreached": {
                        "type": "boolean",
                        "description": "Require passwords that have not been previously breached? (see https://haveibeenpwned.com/)\n"
                    },
                    "passwordRequirementsApplyToBundles": {
                        "type": "boolean",
                        "description": "Require bundles' passwords, and passwords for other items (inboxes, public shares, etc.) to conform to the same requirements as users' passwords?\n"
                    },
                    "passwordValidityDays": {
                        "type": "integer",
                        "description": "Number of days password is valid\n"
                    },
                    "phone": {
                        "type": "string",
                        "description": "Site phone number\n"
                    },
                    "pinAllRemoteServersToSiteRegion": {
                        "type": "boolean",
                        "description": "If true, we will ensure that all internal communications with any remote server are made through the primary region of the site. This setting overrides individual remote server settings.\n"
                    },
                    "preventRootPermissionsForNonSiteAdmins": {
                        "type": "boolean",
                        "description": "If true, we will prevent non-administrators from receiving any permissions directly on the root folder.  This is commonly used to prevent the accidental application of permissions.\n"
                    },
                    "protocolAccessGroupsOnly": {
                        "type": "boolean",
                        "description": "If true, protocol access permissions on users will be ignored, and only protocol access permissions set on Groups will be honored.  Make sure that your current user is a member of a group with API permission when changing this value to avoid locking yourself out of your site.\n"
                    },
                    "replyToEmail": {
                        "type": "string",
                        "description": "Reply-to email for this site\n"
                    },
                    "require2fa": {
                        "type": "boolean",
                        "description": "Require two-factor authentication for all users?\n"
                    },
                    "require2faExemptAllSsoUsers": {
                        "type": "boolean",
                        "description": "If true, SSO users using the default user-level two-factor authentication setting are exempt from the site-wide two-factor authentication requirement.\n"
                    },
                    "require2faStopTime": {
                        "type": "string",
                        "description": "If set, requirement for two-factor authentication has been scheduled to end on this date-time.\n"
                    },
                    "require2faUserType": {
                        "type": "string",
                        "description": "What type of user is required to use two-factor authentication (when\u003cspan pulumi-lang-nodejs=\" require2fa \" pulumi-lang-dotnet=\" Require2fa \" pulumi-lang-go=\" require2fa \" pulumi-lang-python=\" require_2fa \" pulumi-lang-yaml=\" require2fa \" pulumi-lang-java=\" require2fa \" pulumi-lang-hcl=\" require_2fa \"\u003e require2fa \u003c/span\u003eis set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e for this site)?\n"
                    },
                    "requireLogoutFromBundlesAndInboxes": {
                        "type": "boolean",
                        "description": "If true, we will hide the 'Remember Me' box on Inbox and Bundle registration pages, requiring that the user logout and log back in every time they visit the page.\n"
                    },
                    "restrictRootFolderBehaviorsToSiteAdmins": {
                        "type": "boolean",
                        "description": "If true, only site admins may create, modify, or delete any behavior at the site root, or a skip that would disable one.\n"
                    },
                    "revokeBundleAccessOnDisableOrDelete": {
                        "type": "boolean",
                        "description": "Auto-removes bundles for disabled/deleted users and enforces bundle expiry within user access period.\n"
                    },
                    "rootFolderBehaviorsApplyToWorkspaces": {
                        "type": "boolean",
                        "description": "If true, supported protective behaviors at the site root also apply within named workspaces. Requires restrict*root*folder*behaviors*to*site*admins to be enabled.\n"
                    },
                    "session": {
                        "type": "string",
                        "description": "Current session\n"
                    },
                    "sessionExpiryMinutes": {
                        "type": "integer",
                        "description": "Session expiry in minutes\n"
                    },
                    "sftpEnabled": {
                        "type": "boolean",
                        "description": "Is SFTP enabled?\n"
                    },
                    "sftpFinalizePartialUploads": {
                        "type": "boolean",
                        "description": "Finalize partial SFTP uploads from interrupted connections? Default: true.\n"
                    },
                    "sftpHostKeyType": {
                        "type": "string",
                        "description": "Sftp Host Key Type\n"
                    },
                    "sftpInsecureCiphers": {
                        "type": "boolean",
                        "description": "If true, we will allow weak and known insecure ciphers to be used for SFTP connections.  Enabling this setting severely weakens the security of your site and it is not recommend, except as a last resort for compatibility.\n"
                    },
                    "sftpInsecureDiffieHellman": {
                        "type": "boolean",
                        "description": "If true, we will allow weak Diffie Hellman parameters to be used within ciphers for SFTP that are otherwise on our secure list.  This has the effect of making the cipher weaker than our normal threshold for security, but is required to support certain legacy or broken SSH and MFT clients.  Enabling this weakens security, but not nearly as much as enabling the full \u003cspan pulumi-lang-nodejs=\"`sftpInsecureCiphers`\" pulumi-lang-dotnet=\"`SftpInsecureCiphers`\" pulumi-lang-go=\"`sftpInsecureCiphers`\" pulumi-lang-python=\"`sftp_insecure_ciphers`\" pulumi-lang-yaml=\"`sftpInsecureCiphers`\" pulumi-lang-java=\"`sftpInsecureCiphers`\" pulumi-lang-hcl=\"`sftp_insecure_ciphers`\"\u003e`sftpInsecureCiphers`\u003c/span\u003e option.\n"
                    },
                    "sftpUserRootEnabled": {
                        "type": "boolean",
                        "description": "Use user FTP roots also for SFTP?\n"
                    },
                    "sharingEnabled": {
                        "type": "boolean",
                        "description": "Allow bundle creation\n"
                    },
                    "showRequestAccessLink": {
                        "type": "boolean",
                        "description": "Show request access link for users without access?  Currently unused.\n"
                    },
                    "showUserNotificationsLogInLink": {
                        "type": "boolean",
                        "description": "Show log in link in user notifications?\n"
                    },
                    "siteFooter": {
                        "type": "string",
                        "description": "Custom site footer text for authenticated pages\n"
                    },
                    "siteHeader": {
                        "type": "string",
                        "description": "Custom site header text for authenticated pages\n"
                    },
                    "sitePublicFooter": {
                        "type": "string",
                        "description": "Custom site footer text for public pages\n"
                    },
                    "sitePublicHeader": {
                        "type": "string",
                        "description": "Custom site header text for public pages\n"
                    },
                    "smtpAddress": {
                        "type": "string",
                        "description": "SMTP server hostname or IP\n"
                    },
                    "smtpAuthentication": {
                        "type": "string",
                        "description": "SMTP server authentication type\n"
                    },
                    "smtpFrom": {
                        "type": "string",
                        "description": "From address to use when mailing through custom SMTP\n"
                    },
                    "smtpPort": {
                        "type": "integer",
                        "description": "SMTP server port\n"
                    },
                    "smtpUsername": {
                        "type": "string",
                        "description": "SMTP server username\n"
                    },
                    "snapshotSharingEnabled": {
                        "type": "boolean",
                        "description": "Allow snapshot share links creation\n"
                    },
                    "sslRequired": {
                        "type": "boolean",
                        "description": "Is SSL required?  Disabling this is insecure.\n"
                    },
                    "subdomain": {
                        "type": "string",
                        "description": "Site subdomain\n"
                    },
                    "switchToPlanDate": {
                        "type": "string",
                        "description": "If switching plans, when does the new plan take effect?\n"
                    },
                    "trialDaysLeft": {
                        "type": "integer",
                        "description": "Number of days left in trial\n"
                    },
                    "trialUntil": {
                        "type": "string",
                        "description": "When does this Site trial expire?\n"
                    },
                    "uploadsViaEmailAuthentication": {
                        "type": "boolean",
                        "description": "Do incoming emails in the Inboxes require checking for SPF/DKIM/DMARC?\n"
                    },
                    "useDedicatedIpsForSmtp": {
                        "type": "boolean",
                        "description": "If using custom SMTP, should we use dedicated IPs to deliver emails?\n"
                    },
                    "useProvidedModifiedAt": {
                        "type": "boolean",
                        "description": "Allow uploaders to set \u003cspan pulumi-lang-nodejs=\"`providedModifiedAt`\" pulumi-lang-dotnet=\"`ProvidedModifiedAt`\" pulumi-lang-go=\"`providedModifiedAt`\" pulumi-lang-python=\"`provided_modified_at`\" pulumi-lang-yaml=\"`providedModifiedAt`\" pulumi-lang-java=\"`providedModifiedAt`\" pulumi-lang-hcl=\"`provided_modified_at`\"\u003e`providedModifiedAt`\u003c/span\u003e for uploaded files?\n"
                    },
                    "user": {
                        "type": "string",
                        "description": "User of current session\n"
                    },
                    "userLockout": {
                        "type": "boolean",
                        "description": "Will users be locked out after incorrect login attempts?\n"
                    },
                    "userLockoutLockPeriod": {
                        "type": "integer",
                        "description": "How many hours to lock user out for failed password?\n"
                    },
                    "userLockoutTries": {
                        "type": "integer",
                        "description": "Number of login tries within \u003cspan pulumi-lang-nodejs=\"`userLockoutWithin`\" pulumi-lang-dotnet=\"`UserLockoutWithin`\" pulumi-lang-go=\"`userLockoutWithin`\" pulumi-lang-python=\"`user_lockout_within`\" pulumi-lang-yaml=\"`userLockoutWithin`\" pulumi-lang-java=\"`userLockoutWithin`\" pulumi-lang-hcl=\"`user_lockout_within`\"\u003e`userLockoutWithin`\u003c/span\u003e hours before users are locked out\n"
                    },
                    "userLockoutWithin": {
                        "type": "integer",
                        "description": "Number of hours for user lockout window\n"
                    },
                    "userRequestsEnabled": {
                        "type": "boolean",
                        "description": "Enable User Requests feature\n"
                    },
                    "userRequestsNotifyAdmins": {
                        "type": "boolean",
                        "description": "Send email to site admins when a user request is received?\n"
                    },
                    "usernameDisplay": {
                        "type": "string",
                        "description": "How usernames are displayed in the web UI. Can be \u003cspan pulumi-lang-nodejs=\"`usernameOnly`\" pulumi-lang-dotnet=\"`UsernameOnly`\" pulumi-lang-go=\"`usernameOnly`\" pulumi-lang-python=\"`username_only`\" pulumi-lang-yaml=\"`usernameOnly`\" pulumi-lang-java=\"`usernameOnly`\" pulumi-lang-hcl=\"`username_only`\"\u003e`usernameOnly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`fullNameOnly`\" pulumi-lang-dotnet=\"`FullNameOnly`\" pulumi-lang-go=\"`fullNameOnly`\" pulumi-lang-python=\"`full_name_only`\" pulumi-lang-yaml=\"`fullNameOnly`\" pulumi-lang-java=\"`fullNameOnly`\" pulumi-lang-hcl=\"`full_name_only`\"\u003e`fullNameOnly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`fullNameUsername`\" pulumi-lang-dotnet=\"`FullNameUsername`\" pulumi-lang-go=\"`fullNameUsername`\" pulumi-lang-python=\"`full_name_username`\" pulumi-lang-yaml=\"`fullNameUsername`\" pulumi-lang-java=\"`fullNameUsername`\" pulumi-lang-hcl=\"`full_name_username`\"\u003e`fullNameUsername`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`fullNameCompany`\" pulumi-lang-dotnet=\"`FullNameCompany`\" pulumi-lang-go=\"`fullNameCompany`\" pulumi-lang-python=\"`full_name_company`\" pulumi-lang-yaml=\"`fullNameCompany`\" pulumi-lang-java=\"`fullNameCompany`\" pulumi-lang-hcl=\"`full_name_company`\"\u003e`fullNameCompany`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`fullNameUsernameCompany`\" pulumi-lang-dotnet=\"`FullNameUsernameCompany`\" pulumi-lang-go=\"`fullNameUsernameCompany`\" pulumi-lang-python=\"`full_name_username_company`\" pulumi-lang-yaml=\"`fullNameUsernameCompany`\" pulumi-lang-java=\"`fullNameUsernameCompany`\" pulumi-lang-hcl=\"`full_name_username_company`\"\u003e`fullNameUsernameCompany`\u003c/span\u003e.\n"
                    },
                    "usersCanCreateApiKeys": {
                        "type": "boolean",
                        "description": "Allow users to create their own API keys?\n"
                    },
                    "usersCanCreateSshKeys": {
                        "type": "boolean",
                        "description": "Allow users to create their own SSH keys?\n"
                    },
                    "welcomeCustomText": {
                        "type": "string",
                        "description": "Custom text send in user welcome email\n"
                    },
                    "welcomeEmailCc": {
                        "type": "string",
                        "description": "Include this email in welcome emails if enabled\n"
                    },
                    "welcomeEmailEnabled": {
                        "type": "boolean",
                        "description": "Will the welcome email be sent to new users?\n"
                    },
                    "welcomeEmailSubject": {
                        "type": "string",
                        "description": "Include this email subject in welcome emails if enabled\n"
                    },
                    "welcomeScreen": {
                        "type": "string",
                        "description": "Does the welcome screen appear?\n"
                    },
                    "windowsModeFtp": {
                        "type": "boolean",
                        "description": "Does FTP user Windows emulation mode?\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/snapshot:Snapshot": {
            "description": "Snapshots allow you to create a read-only archive of files at a specific point in time. You can define a snapshot, add files to it, and then finalize it. Once finalized, the snapshot’s contents are immutable.\n\n\n\nEach snapshot may have an expiration date. When the expiration date is reached, the snapshot is automatically deleted from the Files.com platform.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleSnapshot = new filescom.Snapshot(\"example_snapshot\", {\n    expiresAt: \"2000-01-01T01:00:00Z\",\n    name: \"My Snapshot\",\n    workspaceId: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_snapshot = filescom.Snapshot(\"example_snapshot\",\n    expires_at=\"2000-01-01T01:00:00Z\",\n    name=\"My Snapshot\",\n    workspace_id=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleSnapshot = new Filescom.Snapshot(\"example_snapshot\", new()\n    {\n        ExpiresAt = \"2000-01-01T01:00:00Z\",\n        Name = \"My Snapshot\",\n        WorkspaceId = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewSnapshot(ctx, \"example_snapshot\", \u0026filescom.SnapshotArgs{\n\t\t\tExpiresAt:   pulumi.String(\"2000-01-01T01:00:00Z\"),\n\t\t\tName:        pulumi.String(\"My Snapshot\"),\n\t\t\tWorkspaceId: pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_snapshot\" \"example_snapshot\" {\n  expires_at   = \"2000-01-01T01:00:00Z\"\n  name         = \"My Snapshot\"\n  workspace_id = 0\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.Snapshot;\nimport com.pulumi.filescom.SnapshotArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleSnapshot = new Snapshot(\"exampleSnapshot\", SnapshotArgs.builder()\n            .expiresAt(\"2000-01-01T01:00:00Z\")\n            .name(\"My Snapshot\")\n            .workspaceId(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleSnapshot:\n    type: filescom:Snapshot\n    name: example_snapshot\n    properties:\n      expiresAt: 2000-01-01T01:00:00Z\n      name: My Snapshot\n      workspaceId: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nSnapshots can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/snapshot:Snapshot example_snapshot 1\n```\n\n",
            "properties": {
                "bundleId": {
                    "type": "integer",
                    "description": "The bundle using this snapshot, if applicable."
                },
                "expiresAt": {
                    "type": "string",
                    "description": "When the snapshot expires."
                },
                "finalizedAt": {
                    "type": "string",
                    "description": "When the snapshot was finalized."
                },
                "name": {
                    "type": "string",
                    "description": "A name for the snapshot."
                },
                "paths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAn array of paths to add to the snapshot.",
                    "secret": true
                },
                "userId": {
                    "type": "integer",
                    "description": "The user that created this snapshot, if applicable."
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace."
                }
            },
            "required": [
                "bundleId",
                "expiresAt",
                "finalizedAt",
                "name",
                "userId",
                "workspaceId"
            ],
            "inputProperties": {
                "expiresAt": {
                    "type": "string",
                    "description": "When the snapshot expires."
                },
                "name": {
                    "type": "string",
                    "description": "A name for the snapshot."
                },
                "paths": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAn array of paths to add to the snapshot.",
                    "secret": true
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.",
                    "willReplaceOnChanges": true
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Snapshot resources.\n",
                "properties": {
                    "bundleId": {
                        "type": "integer",
                        "description": "The bundle using this snapshot, if applicable."
                    },
                    "expiresAt": {
                        "type": "string",
                        "description": "When the snapshot expires."
                    },
                    "finalizedAt": {
                        "type": "string",
                        "description": "When the snapshot was finalized."
                    },
                    "name": {
                        "type": "string",
                        "description": "A name for the snapshot."
                    },
                    "paths": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nAn array of paths to add to the snapshot.",
                        "secret": true
                    },
                    "userId": {
                        "type": "integer",
                        "description": "The user that created this snapshot, if applicable."
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace."
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/style:Style": {
            "description": "A Style is a custom set of branding that can be applied on a per-folder basis.\n\nCurrently these support a logo per folder and an optional click-through URL for public visitors.\n\nIn the future we may extend these to also support colors.\n\nIf you want to see that, please let us know so we can add your vote to the list.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleStyle = new filescom.Style(\"example_style\", {\n    path: \"path\",\n    logoClickHref: \"https://www.example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_style = filescom.Style(\"example_style\",\n    path=\"path\",\n    logo_click_href=\"https://www.example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleStyle = new Filescom.Style(\"example_style\", new()\n    {\n        Path = \"path\",\n        LogoClickHref = \"https://www.example.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewStyle(ctx, \"example_style\", \u0026filescom.StyleArgs{\n\t\t\tPath:          pulumi.String(\"path\"),\n\t\t\tLogoClickHref: pulumi.String(\"https://www.example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_style\" \"example_style\" {\n  path            = \"path\"\n  logo_click_href = \"https://www.example.com\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.Style;\nimport com.pulumi.filescom.StyleArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleStyle = new Style(\"exampleStyle\", StyleArgs.builder()\n            .path(\"path\")\n            .logoClickHref(\"https://www.example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleStyle:\n    type: filescom:Style\n    name: example_style\n    properties:\n      path: path\n      logoClickHref: https://www.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nStyles can be imported by specifying the path.\n\n```sh\n$ pulumi import filescom:index/style:Style example_style path\n```\n\n",
            "properties": {
                "logo": {
                    "type": "string",
                    "description": "Logo\n"
                },
                "logoClickHref": {
                    "type": "string",
                    "description": "URL to open when a public visitor clicks the logo\n"
                },
                "path": {
                    "type": "string",
                    "description": "Folder path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                },
                "thumbnail": {
                    "type": "string",
                    "description": "Logo thumbnail\n"
                }
            },
            "required": [
                "logo",
                "logoClickHref",
                "path",
                "thumbnail"
            ],
            "inputProperties": {
                "logoClickHref": {
                    "type": "string",
                    "description": "URL to open when a public visitor clicks the logo\n"
                },
                "path": {
                    "type": "string",
                    "description": "Folder path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                }
            },
            "requiredInputs": [
                "path"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Style resources.\n",
                "properties": {
                    "logo": {
                        "type": "string",
                        "description": "Logo\n"
                    },
                    "logoClickHref": {
                        "type": "string",
                        "description": "URL to open when a public visitor clicks the logo\n"
                    },
                    "path": {
                        "type": "string",
                        "description": "Folder path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                    },
                    "thumbnail": {
                        "type": "string",
                        "description": "Logo thumbnail\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/sync:Sync": {
            "description": "A Sync represents a file synchronization job between two locations (local-remote, remote-remote, local-child_site, etc). \n\nIt can be scheduled, run manually, or triggered by custom logic. \n\nSyncs track their runs, status, and configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleSync = new filescom.Sync(\"example_sync\", {\n    deleteEmptyFolders: true,\n    description: \"example\",\n    destPath: \"example\",\n    destRemoteServerId: 1,\n    disabled: true,\n    excludePatterns: [\"example\"],\n    holidayRegion: \"us_dc\",\n    includePatterns: [\"example\"],\n    interval: \"week\",\n    keepAfterCopy: true,\n    name: \"example\",\n    recurringDay: 25,\n    recurringDays: [\n        1,\n        15,\n    ],\n    scheduleId: 1,\n    scheduleDaysOfWeeks: [\n        0,\n        2,\n        4,\n    ],\n    scheduleTimeZone: \"Eastern Time (US \u0026 Canada)\",\n    scheduleTimesOfDays: [\n        \"06:30\",\n        \"14:30\",\n    ],\n    srcPath: \"example\",\n    srcRemoteServerId: 1,\n    syncIntervalMinutes: 1,\n    trigger: \"example\",\n    triggerFile: \"example\",\n    alwaysWriteTriggerFile: true,\n    workspaceId: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_sync = filescom.Sync(\"example_sync\",\n    delete_empty_folders=True,\n    description=\"example\",\n    dest_path=\"example\",\n    dest_remote_server_id=1,\n    disabled=True,\n    exclude_patterns=[\"example\"],\n    holiday_region=\"us_dc\",\n    include_patterns=[\"example\"],\n    interval=\"week\",\n    keep_after_copy=True,\n    name=\"example\",\n    recurring_day=25,\n    recurring_days=[\n        1,\n        15,\n    ],\n    schedule_id=1,\n    schedule_days_of_weeks=[\n        0,\n        2,\n        4,\n    ],\n    schedule_time_zone=\"Eastern Time (US \u0026 Canada)\",\n    schedule_times_of_days=[\n        \"06:30\",\n        \"14:30\",\n    ],\n    src_path=\"example\",\n    src_remote_server_id=1,\n    sync_interval_minutes=1,\n    trigger=\"example\",\n    trigger_file=\"example\",\n    always_write_trigger_file=True,\n    workspace_id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleSync = new Filescom.Sync(\"example_sync\", new()\n    {\n        DeleteEmptyFolders = true,\n        Description = \"example\",\n        DestPath = \"example\",\n        DestRemoteServerId = 1,\n        Disabled = true,\n        ExcludePatterns = new[]\n        {\n            \"example\",\n        },\n        HolidayRegion = \"us_dc\",\n        IncludePatterns = new[]\n        {\n            \"example\",\n        },\n        Interval = \"week\",\n        KeepAfterCopy = true,\n        Name = \"example\",\n        RecurringDay = 25,\n        RecurringDays = new[]\n        {\n            1,\n            15,\n        },\n        ScheduleId = 1,\n        ScheduleDaysOfWeeks = new[]\n        {\n            0,\n            2,\n            4,\n        },\n        ScheduleTimeZone = \"Eastern Time (US \u0026 Canada)\",\n        ScheduleTimesOfDays = new[]\n        {\n            \"06:30\",\n            \"14:30\",\n        },\n        SrcPath = \"example\",\n        SrcRemoteServerId = 1,\n        SyncIntervalMinutes = 1,\n        Trigger = \"example\",\n        TriggerFile = \"example\",\n        AlwaysWriteTriggerFile = true,\n        WorkspaceId = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewSync(ctx, \"example_sync\", \u0026filescom.SyncArgs{\n\t\t\tDeleteEmptyFolders: pulumi.Bool(true),\n\t\t\tDescription:        pulumi.String(\"example\"),\n\t\t\tDestPath:           pulumi.String(\"example\"),\n\t\t\tDestRemoteServerId: pulumi.Int(1),\n\t\t\tDisabled:           pulumi.Bool(true),\n\t\t\tExcludePatterns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example\"),\n\t\t\t},\n\t\t\tHolidayRegion: pulumi.String(\"us_dc\"),\n\t\t\tIncludePatterns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example\"),\n\t\t\t},\n\t\t\tInterval:      pulumi.String(\"week\"),\n\t\t\tKeepAfterCopy: pulumi.Bool(true),\n\t\t\tName:          pulumi.String(\"example\"),\n\t\t\tRecurringDay:  pulumi.Int(25),\n\t\t\tRecurringDays: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(15),\n\t\t\t},\n\t\t\tScheduleId: pulumi.Int(1),\n\t\t\tScheduleDaysOfWeeks: pulumi.IntArray{\n\t\t\t\tpulumi.Int(0),\n\t\t\t\tpulumi.Int(2),\n\t\t\t\tpulumi.Int(4),\n\t\t\t},\n\t\t\tScheduleTimeZone: pulumi.String(\"Eastern Time (US \u0026 Canada)\"),\n\t\t\tScheduleTimesOfDays: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"06:30\"),\n\t\t\t\tpulumi.String(\"14:30\"),\n\t\t\t},\n\t\t\tSrcPath:                pulumi.String(\"example\"),\n\t\t\tSrcRemoteServerId:      pulumi.Int(1),\n\t\t\tSyncIntervalMinutes:    pulumi.Int(1),\n\t\t\tTrigger:                pulumi.String(\"example\"),\n\t\t\tTriggerFile:            pulumi.String(\"example\"),\n\t\t\tAlwaysWriteTriggerFile: pulumi.Bool(true),\n\t\t\tWorkspaceId:            pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_sync\" \"example_sync\" {\n  delete_empty_folders      = true\n  description               = \"example\"\n  dest_path                 = \"example\"\n  dest_remote_server_id     = 1\n  disabled                  = true\n  exclude_patterns          = [\"example\"]\n  holiday_region            = \"us_dc\"\n  include_patterns          = [\"example\"]\n  interval                  = \"week\"\n  keep_after_copy           = true\n  name                      = \"example\"\n  recurring_day             = 25\n  recurring_days            = [1, 15]\n  schedule_id               = 1\n  schedule_days_of_weeks    = [0, 2, 4]\n  schedule_time_zone        = \"Eastern Time (US \u0026 Canada)\"\n  schedule_times_of_days    = [\"06:30\", \"14:30\"]\n  src_path                  = \"example\"\n  src_remote_server_id      = 1\n  sync_interval_minutes     = 1\n  trigger                   = \"example\"\n  trigger_file              = \"example\"\n  always_write_trigger_file = true\n  workspace_id              = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.Sync;\nimport com.pulumi.filescom.SyncArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleSync = new Sync(\"exampleSync\", SyncArgs.builder()\n            .deleteEmptyFolders(true)\n            .description(\"example\")\n            .destPath(\"example\")\n            .destRemoteServerId(1)\n            .disabled(true)\n            .excludePatterns(\"example\")\n            .holidayRegion(\"us_dc\")\n            .includePatterns(\"example\")\n            .interval(\"week\")\n            .keepAfterCopy(true)\n            .name(\"example\")\n            .recurringDay(25)\n            .recurringDays(            \n                1,\n                15)\n            .scheduleId(1)\n            .scheduleDaysOfWeeks(            \n                0,\n                2,\n                4)\n            .scheduleTimeZone(\"Eastern Time (US \u0026 Canada)\")\n            .scheduleTimesOfDays(            \n                \"06:30\",\n                \"14:30\")\n            .srcPath(\"example\")\n            .srcRemoteServerId(1)\n            .syncIntervalMinutes(1)\n            .trigger(\"example\")\n            .triggerFile(\"example\")\n            .alwaysWriteTriggerFile(true)\n            .workspaceId(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleSync:\n    type: filescom:Sync\n    name: example_sync\n    properties:\n      deleteEmptyFolders: true\n      description: example\n      destPath: example\n      destRemoteServerId: 1\n      disabled: true\n      excludePatterns:\n        - example\n      holidayRegion: us_dc\n      includePatterns:\n        - example\n      interval: week\n      keepAfterCopy: true\n      name: example\n      recurringDay: 25\n      recurringDays:\n        - 1\n        - 15\n      scheduleId: 1\n      scheduleDaysOfWeeks:\n        - 0\n        - 2\n        - 4\n      scheduleTimeZone: Eastern Time (US \u0026 Canada)\n      scheduleTimesOfDays:\n        - 06:30\n        - 14:30\n      srcPath: example\n      srcRemoteServerId: 1\n      syncIntervalMinutes: 1\n      trigger: example\n      triggerFile: example\n      alwaysWriteTriggerFile: true\n      workspaceId: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nSyncs can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/sync:Sync example_sync 1\n```\n\n",
            "properties": {
                "alwaysWriteTriggerFile": {
                    "type": "boolean",
                    "description": "If true, the trigger file will be sent at the end of a successful sync even when no files were transferred.\n"
                },
                "createdAt": {
                    "type": "string",
                    "description": "When this sync was created\n"
                },
                "deleteEmptyFolders": {
                    "type": "boolean",
                    "description": "Delete empty folders after sync?\n"
                },
                "description": {
                    "type": "string",
                    "description": "Description for this sync job\n"
                },
                "destPath": {
                    "type": "string",
                    "description": "Absolute destination path for the sync\n"
                },
                "destRemoteServerId": {
                    "type": "integer",
                    "description": "Remote server ID for the destination (if remote)\n"
                },
                "destSiteId": {
                    "type": "integer",
                    "description": "Destination site ID if syncing to a child or partner site\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Is this sync disabled?\n"
                },
                "excludePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Array of glob patterns to exclude\n"
                },
                "holidayRegion": {
                    "type": "string",
                    "description": "Skip the sync if there is a formal, observed holiday for this region.\n"
                },
                "includePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Array of glob patterns to include\n"
                },
                "interval": {
                    "type": "string",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies how often to run this sync.  One of: \u003cspan pulumi-lang-nodejs=\"`day`\" pulumi-lang-dotnet=\"`Day`\" pulumi-lang-go=\"`day`\" pulumi-lang-python=\"`day`\" pulumi-lang-yaml=\"`day`\" pulumi-lang-java=\"`day`\" pulumi-lang-hcl=\"`day`\"\u003e`day`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`weekEnd`\" pulumi-lang-dotnet=\"`WeekEnd`\" pulumi-lang-go=\"`weekEnd`\" pulumi-lang-python=\"`week_end`\" pulumi-lang-yaml=\"`weekEnd`\" pulumi-lang-java=\"`weekEnd`\" pulumi-lang-hcl=\"`week_end`\"\u003e`weekEnd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`monthEnd`\" pulumi-lang-dotnet=\"`MonthEnd`\" pulumi-lang-go=\"`monthEnd`\" pulumi-lang-python=\"`month_end`\" pulumi-lang-yaml=\"`monthEnd`\" pulumi-lang-java=\"`monthEnd`\" pulumi-lang-hcl=\"`month_end`\"\u003e`monthEnd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarterEnd`\" pulumi-lang-dotnet=\"`QuarterEnd`\" pulumi-lang-go=\"`quarterEnd`\" pulumi-lang-python=\"`quarter_end`\" pulumi-lang-yaml=\"`quarterEnd`\" pulumi-lang-java=\"`quarterEnd`\" pulumi-lang-hcl=\"`quarter_end`\"\u003e`quarterEnd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`yearEnd`\" pulumi-lang-dotnet=\"`YearEnd`\" pulumi-lang-go=\"`yearEnd`\" pulumi-lang-python=\"`year_end`\" pulumi-lang-yaml=\"`yearEnd`\" pulumi-lang-java=\"`yearEnd`\" pulumi-lang-hcl=\"`year_end`\"\u003e`yearEnd`\u003c/span\u003e\n"
                },
                "keepAfterCopy": {
                    "type": "boolean",
                    "description": "Keep files after copying?\n"
                },
                "latestSyncRun": {
                    "type": "string",
                    "description": "The latest run of this sync\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name for this sync job\n"
                },
                "recurringDay": {
                    "type": "integer",
                    "description": "If trigger type is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies a day number to run in one of the supported intervals: \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e.\n"
                },
                "recurringDays": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "If trigger type is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies one or more day numbers to run in one of the supported intervals: \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e.\n"
                },
                "scheduleDaysOfWeeks": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, Custom schedule description for when the sync should be run. 0-based days of the week. 0 is Sunday, 1 is Monday, etc.\n"
                },
                "scheduleId": {
                    "type": "integer",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the reusable Schedule used instead of the sync's schedule fields.\n"
                },
                "scheduleTimeZone": {
                    "type": "string",
                    "description": "Time zone for the schedule. If not set, times are interpreted as UTC.\n"
                },
                "scheduleTimesOfDays": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Times of day to run in HH:MM format. For \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, run at these times on specified days of week. For \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, run at these times on the scheduled interval date.\n"
                },
                "siteId": {
                    "type": "integer",
                    "description": "Site ID this sync belongs to\n"
                },
                "srcPath": {
                    "type": "string",
                    "description": "Absolute source path for the sync\n"
                },
                "srcRemoteServerId": {
                    "type": "integer",
                    "description": "Remote server ID for the source (if remote)\n"
                },
                "srcSiteId": {
                    "type": "integer",
                    "description": "Source site ID if syncing from a child or partner site\n"
                },
                "syncIntervalMinutes": {
                    "type": "integer",
                    "description": "Frequency in minutes between syncs. If set, this value must be greater than or equal to the \u003cspan pulumi-lang-nodejs=\"`remoteSyncInterval`\" pulumi-lang-dotnet=\"`RemoteSyncInterval`\" pulumi-lang-go=\"`remoteSyncInterval`\" pulumi-lang-python=\"`remote_sync_interval`\" pulumi-lang-yaml=\"`remoteSyncInterval`\" pulumi-lang-java=\"`remoteSyncInterval`\" pulumi-lang-hcl=\"`remote_sync_interval`\"\u003e`remoteSyncInterval`\u003c/span\u003e value for the site's plan. If left blank, the plan's \u003cspan pulumi-lang-nodejs=\"`remoteSyncInterval`\" pulumi-lang-dotnet=\"`RemoteSyncInterval`\" pulumi-lang-go=\"`remoteSyncInterval`\" pulumi-lang-python=\"`remote_sync_interval`\" pulumi-lang-yaml=\"`remoteSyncInterval`\" pulumi-lang-java=\"`remoteSyncInterval`\" pulumi-lang-hcl=\"`remote_sync_interval`\"\u003e`remoteSyncInterval`\u003c/span\u003e will be used. This setting is only used if \u003cspan pulumi-lang-nodejs=\"`trigger`\" pulumi-lang-dotnet=\"`Trigger`\" pulumi-lang-go=\"`trigger`\" pulumi-lang-python=\"`trigger`\" pulumi-lang-yaml=\"`trigger`\" pulumi-lang-java=\"`trigger`\" pulumi-lang-hcl=\"`trigger`\"\u003e`trigger`\u003c/span\u003e is empty.\n"
                },
                "trigger": {
                    "type": "string",
                    "description": "Trigger type: daily, custom_schedule, or manual\n"
                },
                "triggerFile": {
                    "type": "string",
                    "description": "Some MFT services request an empty file (known as a trigger file) to signal the sync is complete and they can begin further processing. If\u003cspan pulumi-lang-nodejs=\" triggerFile \" pulumi-lang-dotnet=\" TriggerFile \" pulumi-lang-go=\" triggerFile \" pulumi-lang-python=\" trigger_file \" pulumi-lang-yaml=\" triggerFile \" pulumi-lang-java=\" triggerFile \" pulumi-lang-hcl=\" trigger_file \"\u003e triggerFile \u003c/span\u003eis set, a zero-byte file will be sent at the end of the sync.\n"
                },
                "twoWay": {
                    "type": "boolean",
                    "description": "Is this a two-way sync?\n"
                },
                "updatedAt": {
                    "type": "string",
                    "description": "When this sync was last updated\n"
                },
                "userId": {
                    "type": "integer",
                    "description": "User who created or owns this sync\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID this sync belongs to\n"
                }
            },
            "required": [
                "alwaysWriteTriggerFile",
                "createdAt",
                "deleteEmptyFolders",
                "description",
                "destPath",
                "destRemoteServerId",
                "destSiteId",
                "disabled",
                "excludePatterns",
                "holidayRegion",
                "includePatterns",
                "interval",
                "keepAfterCopy",
                "latestSyncRun",
                "name",
                "recurringDay",
                "recurringDays",
                "scheduleDaysOfWeeks",
                "scheduleId",
                "scheduleTimeZone",
                "scheduleTimesOfDays",
                "siteId",
                "srcPath",
                "srcRemoteServerId",
                "srcSiteId",
                "syncIntervalMinutes",
                "trigger",
                "triggerFile",
                "twoWay",
                "updatedAt",
                "userId",
                "workspaceId"
            ],
            "inputProperties": {
                "alwaysWriteTriggerFile": {
                    "type": "boolean",
                    "description": "If true, the trigger file will be sent at the end of a successful sync even when no files were transferred.\n"
                },
                "deleteEmptyFolders": {
                    "type": "boolean",
                    "description": "Delete empty folders after sync?\n"
                },
                "description": {
                    "type": "string",
                    "description": "Description for this sync job\n"
                },
                "destPath": {
                    "type": "string",
                    "description": "Absolute destination path for the sync\n"
                },
                "destRemoteServerId": {
                    "type": "integer",
                    "description": "Remote server ID for the destination (if remote)\n"
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Is this sync disabled?\n"
                },
                "excludePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Array of glob patterns to exclude\n"
                },
                "holidayRegion": {
                    "type": "string",
                    "description": "Skip the sync if there is a formal, observed holiday for this region.\n"
                },
                "includePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Array of glob patterns to include\n"
                },
                "interval": {
                    "type": "string",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies how often to run this sync.  One of: \u003cspan pulumi-lang-nodejs=\"`day`\" pulumi-lang-dotnet=\"`Day`\" pulumi-lang-go=\"`day`\" pulumi-lang-python=\"`day`\" pulumi-lang-yaml=\"`day`\" pulumi-lang-java=\"`day`\" pulumi-lang-hcl=\"`day`\"\u003e`day`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`weekEnd`\" pulumi-lang-dotnet=\"`WeekEnd`\" pulumi-lang-go=\"`weekEnd`\" pulumi-lang-python=\"`week_end`\" pulumi-lang-yaml=\"`weekEnd`\" pulumi-lang-java=\"`weekEnd`\" pulumi-lang-hcl=\"`week_end`\"\u003e`weekEnd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`monthEnd`\" pulumi-lang-dotnet=\"`MonthEnd`\" pulumi-lang-go=\"`monthEnd`\" pulumi-lang-python=\"`month_end`\" pulumi-lang-yaml=\"`monthEnd`\" pulumi-lang-java=\"`monthEnd`\" pulumi-lang-hcl=\"`month_end`\"\u003e`monthEnd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarterEnd`\" pulumi-lang-dotnet=\"`QuarterEnd`\" pulumi-lang-go=\"`quarterEnd`\" pulumi-lang-python=\"`quarter_end`\" pulumi-lang-yaml=\"`quarterEnd`\" pulumi-lang-java=\"`quarterEnd`\" pulumi-lang-hcl=\"`quarter_end`\"\u003e`quarterEnd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`yearEnd`\" pulumi-lang-dotnet=\"`YearEnd`\" pulumi-lang-go=\"`yearEnd`\" pulumi-lang-python=\"`year_end`\" pulumi-lang-yaml=\"`yearEnd`\" pulumi-lang-java=\"`yearEnd`\" pulumi-lang-hcl=\"`year_end`\"\u003e`yearEnd`\u003c/span\u003e\n"
                },
                "keepAfterCopy": {
                    "type": "boolean",
                    "description": "Keep files after copying?\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name for this sync job\n"
                },
                "recurringDay": {
                    "type": "integer",
                    "description": "If trigger type is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies a day number to run in one of the supported intervals: \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e.\n"
                },
                "recurringDays": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "If trigger type is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies one or more day numbers to run in one of the supported intervals: \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e.\n"
                },
                "scheduleDaysOfWeeks": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, Custom schedule description for when the sync should be run. 0-based days of the week. 0 is Sunday, 1 is Monday, etc.\n"
                },
                "scheduleId": {
                    "type": "integer",
                    "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the reusable Schedule used instead of the sync's schedule fields.\n"
                },
                "scheduleTimeZone": {
                    "type": "string",
                    "description": "Time zone for the schedule. If not set, times are interpreted as UTC.\n"
                },
                "scheduleTimesOfDays": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Times of day to run in HH:MM format. For \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, run at these times on specified days of week. For \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, run at these times on the scheduled interval date.\n"
                },
                "srcPath": {
                    "type": "string",
                    "description": "Absolute source path for the sync\n"
                },
                "srcRemoteServerId": {
                    "type": "integer",
                    "description": "Remote server ID for the source (if remote)\n"
                },
                "syncIntervalMinutes": {
                    "type": "integer",
                    "description": "Frequency in minutes between syncs. If set, this value must be greater than or equal to the \u003cspan pulumi-lang-nodejs=\"`remoteSyncInterval`\" pulumi-lang-dotnet=\"`RemoteSyncInterval`\" pulumi-lang-go=\"`remoteSyncInterval`\" pulumi-lang-python=\"`remote_sync_interval`\" pulumi-lang-yaml=\"`remoteSyncInterval`\" pulumi-lang-java=\"`remoteSyncInterval`\" pulumi-lang-hcl=\"`remote_sync_interval`\"\u003e`remoteSyncInterval`\u003c/span\u003e value for the site's plan. If left blank, the plan's \u003cspan pulumi-lang-nodejs=\"`remoteSyncInterval`\" pulumi-lang-dotnet=\"`RemoteSyncInterval`\" pulumi-lang-go=\"`remoteSyncInterval`\" pulumi-lang-python=\"`remote_sync_interval`\" pulumi-lang-yaml=\"`remoteSyncInterval`\" pulumi-lang-java=\"`remoteSyncInterval`\" pulumi-lang-hcl=\"`remote_sync_interval`\"\u003e`remoteSyncInterval`\u003c/span\u003e will be used. This setting is only used if \u003cspan pulumi-lang-nodejs=\"`trigger`\" pulumi-lang-dotnet=\"`Trigger`\" pulumi-lang-go=\"`trigger`\" pulumi-lang-python=\"`trigger`\" pulumi-lang-yaml=\"`trigger`\" pulumi-lang-java=\"`trigger`\" pulumi-lang-hcl=\"`trigger`\"\u003e`trigger`\u003c/span\u003e is empty.\n"
                },
                "trigger": {
                    "type": "string",
                    "description": "Trigger type: daily, custom_schedule, or manual\n"
                },
                "triggerFile": {
                    "type": "string",
                    "description": "Some MFT services request an empty file (known as a trigger file) to signal the sync is complete and they can begin further processing. If\u003cspan pulumi-lang-nodejs=\" triggerFile \" pulumi-lang-dotnet=\" TriggerFile \" pulumi-lang-go=\" triggerFile \" pulumi-lang-python=\" trigger_file \" pulumi-lang-yaml=\" triggerFile \" pulumi-lang-java=\" triggerFile \" pulumi-lang-hcl=\" trigger_file \"\u003e triggerFile \u003c/span\u003eis set, a zero-byte file will be sent at the end of the sync.\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID this sync belongs to\n",
                    "willReplaceOnChanges": true
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Sync resources.\n",
                "properties": {
                    "alwaysWriteTriggerFile": {
                        "type": "boolean",
                        "description": "If true, the trigger file will be sent at the end of a successful sync even when no files were transferred.\n"
                    },
                    "createdAt": {
                        "type": "string",
                        "description": "When this sync was created\n"
                    },
                    "deleteEmptyFolders": {
                        "type": "boolean",
                        "description": "Delete empty folders after sync?\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Description for this sync job\n"
                    },
                    "destPath": {
                        "type": "string",
                        "description": "Absolute destination path for the sync\n"
                    },
                    "destRemoteServerId": {
                        "type": "integer",
                        "description": "Remote server ID for the destination (if remote)\n"
                    },
                    "destSiteId": {
                        "type": "integer",
                        "description": "Destination site ID if syncing to a child or partner site\n"
                    },
                    "disabled": {
                        "type": "boolean",
                        "description": "Is this sync disabled?\n"
                    },
                    "excludePatterns": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Array of glob patterns to exclude\n"
                    },
                    "holidayRegion": {
                        "type": "string",
                        "description": "Skip the sync if there is a formal, observed holiday for this region.\n"
                    },
                    "includePatterns": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Array of glob patterns to include\n"
                    },
                    "interval": {
                        "type": "string",
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies how often to run this sync.  One of: \u003cspan pulumi-lang-nodejs=\"`day`\" pulumi-lang-dotnet=\"`Day`\" pulumi-lang-go=\"`day`\" pulumi-lang-python=\"`day`\" pulumi-lang-yaml=\"`day`\" pulumi-lang-java=\"`day`\" pulumi-lang-hcl=\"`day`\"\u003e`day`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`weekEnd`\" pulumi-lang-dotnet=\"`WeekEnd`\" pulumi-lang-go=\"`weekEnd`\" pulumi-lang-python=\"`week_end`\" pulumi-lang-yaml=\"`weekEnd`\" pulumi-lang-java=\"`weekEnd`\" pulumi-lang-hcl=\"`week_end`\"\u003e`weekEnd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`monthEnd`\" pulumi-lang-dotnet=\"`MonthEnd`\" pulumi-lang-go=\"`monthEnd`\" pulumi-lang-python=\"`month_end`\" pulumi-lang-yaml=\"`monthEnd`\" pulumi-lang-java=\"`monthEnd`\" pulumi-lang-hcl=\"`month_end`\"\u003e`monthEnd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarterEnd`\" pulumi-lang-dotnet=\"`QuarterEnd`\" pulumi-lang-go=\"`quarterEnd`\" pulumi-lang-python=\"`quarter_end`\" pulumi-lang-yaml=\"`quarterEnd`\" pulumi-lang-java=\"`quarterEnd`\" pulumi-lang-hcl=\"`quarter_end`\"\u003e`quarterEnd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`yearEnd`\" pulumi-lang-dotnet=\"`YearEnd`\" pulumi-lang-go=\"`yearEnd`\" pulumi-lang-python=\"`year_end`\" pulumi-lang-yaml=\"`yearEnd`\" pulumi-lang-java=\"`yearEnd`\" pulumi-lang-hcl=\"`year_end`\"\u003e`yearEnd`\u003c/span\u003e\n"
                    },
                    "keepAfterCopy": {
                        "type": "boolean",
                        "description": "Keep files after copying?\n"
                    },
                    "latestSyncRun": {
                        "type": "string",
                        "description": "The latest run of this sync\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name for this sync job\n"
                    },
                    "recurringDay": {
                        "type": "integer",
                        "description": "If trigger type is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies a day number to run in one of the supported intervals: \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e.\n"
                    },
                    "recurringDays": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "If trigger type is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies one or more day numbers to run in one of the supported intervals: \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e.\n"
                    },
                    "scheduleDaysOfWeeks": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, Custom schedule description for when the sync should be run. 0-based days of the week. 0 is Sunday, 1 is Monday, etc.\n"
                    },
                    "scheduleId": {
                        "type": "integer",
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the reusable Schedule used instead of the sync's schedule fields.\n"
                    },
                    "scheduleTimeZone": {
                        "type": "string",
                        "description": "Time zone for the schedule. If not set, times are interpreted as UTC.\n"
                    },
                    "scheduleTimesOfDays": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Times of day to run in HH:MM format. For \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, run at these times on specified days of week. For \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, run at these times on the scheduled interval date.\n"
                    },
                    "siteId": {
                        "type": "integer",
                        "description": "Site ID this sync belongs to\n"
                    },
                    "srcPath": {
                        "type": "string",
                        "description": "Absolute source path for the sync\n"
                    },
                    "srcRemoteServerId": {
                        "type": "integer",
                        "description": "Remote server ID for the source (if remote)\n"
                    },
                    "srcSiteId": {
                        "type": "integer",
                        "description": "Source site ID if syncing from a child or partner site\n"
                    },
                    "syncIntervalMinutes": {
                        "type": "integer",
                        "description": "Frequency in minutes between syncs. If set, this value must be greater than or equal to the \u003cspan pulumi-lang-nodejs=\"`remoteSyncInterval`\" pulumi-lang-dotnet=\"`RemoteSyncInterval`\" pulumi-lang-go=\"`remoteSyncInterval`\" pulumi-lang-python=\"`remote_sync_interval`\" pulumi-lang-yaml=\"`remoteSyncInterval`\" pulumi-lang-java=\"`remoteSyncInterval`\" pulumi-lang-hcl=\"`remote_sync_interval`\"\u003e`remoteSyncInterval`\u003c/span\u003e value for the site's plan. If left blank, the plan's \u003cspan pulumi-lang-nodejs=\"`remoteSyncInterval`\" pulumi-lang-dotnet=\"`RemoteSyncInterval`\" pulumi-lang-go=\"`remoteSyncInterval`\" pulumi-lang-python=\"`remote_sync_interval`\" pulumi-lang-yaml=\"`remoteSyncInterval`\" pulumi-lang-java=\"`remoteSyncInterval`\" pulumi-lang-hcl=\"`remote_sync_interval`\"\u003e`remoteSyncInterval`\u003c/span\u003e will be used. This setting is only used if \u003cspan pulumi-lang-nodejs=\"`trigger`\" pulumi-lang-dotnet=\"`Trigger`\" pulumi-lang-go=\"`trigger`\" pulumi-lang-python=\"`trigger`\" pulumi-lang-yaml=\"`trigger`\" pulumi-lang-java=\"`trigger`\" pulumi-lang-hcl=\"`trigger`\"\u003e`trigger`\u003c/span\u003e is empty.\n"
                    },
                    "trigger": {
                        "type": "string",
                        "description": "Trigger type: daily, custom_schedule, or manual\n"
                    },
                    "triggerFile": {
                        "type": "string",
                        "description": "Some MFT services request an empty file (known as a trigger file) to signal the sync is complete and they can begin further processing. If\u003cspan pulumi-lang-nodejs=\" triggerFile \" pulumi-lang-dotnet=\" TriggerFile \" pulumi-lang-go=\" triggerFile \" pulumi-lang-python=\" trigger_file \" pulumi-lang-yaml=\" triggerFile \" pulumi-lang-java=\" triggerFile \" pulumi-lang-hcl=\" trigger_file \"\u003e triggerFile \u003c/span\u003eis set, a zero-byte file will be sent at the end of the sync.\n"
                    },
                    "twoWay": {
                        "type": "boolean",
                        "description": "Is this a two-way sync?\n"
                    },
                    "updatedAt": {
                        "type": "string",
                        "description": "When this sync was last updated\n"
                    },
                    "userId": {
                        "type": "integer",
                        "description": "User who created or owns this sync\n"
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID this sync belongs to\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/user:User": {
            "description": "A User represents a human or system/service user with the ability to connect to Files.com via any of the available connectivity methods (unless restricted to specific protocols).\n\n\n\nUsers are associated with API Keys, SSH (SFTP) Keys, Notifications, Permissions, and Group memberships.\n\n\n\n\n\n## Authentication\n\n\n\nThe \u003cspan pulumi-lang-nodejs=\"`authenticationMethod`\" pulumi-lang-dotnet=\"`AuthenticationMethod`\" pulumi-lang-go=\"`authenticationMethod`\" pulumi-lang-python=\"`authentication_method`\" pulumi-lang-yaml=\"`authenticationMethod`\" pulumi-lang-java=\"`authenticationMethod`\" pulumi-lang-hcl=\"`authentication_method`\"\u003e`authenticationMethod`\u003c/span\u003e property on a User determines exactly how that user can login and authenticate to their Files.com account. Files.com offers a variety of authentication methods to ensure flexibility, security, migration, and compliance.\n\n\n\nThese authentication methods can be configured during user creation and can be modified at any time by site administrators. The meanings of the available values are as follows:\n\n\n\n* \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e - Allows authentication via a password. If API Keys or SSH (SFTP) Keys are also configured, those can be used *instead* of the password. If Two Factor Authentication (2FA) methods are also configured, a valid 2nd factor is required in addition to the password.\n\n* \u003cspan pulumi-lang-nodejs=\"`emailSignup`\" pulumi-lang-dotnet=\"`EmailSignup`\" pulumi-lang-go=\"`emailSignup`\" pulumi-lang-python=\"`email_signup`\" pulumi-lang-yaml=\"`emailSignup`\" pulumi-lang-java=\"`emailSignup`\" pulumi-lang-hcl=\"`email_signup`\"\u003e`emailSignup`\u003c/span\u003e - When set upon user creation, an email will be sent to the new user with a link for them to create their password. Once the user has created their password, their authentication type will change to \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e.\n\n* \u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e - Allows authentication via a linked Single Sign On provider. If API Keys or SSH (SFTP) Keys are also configured, those can be used *instead* of Single Sign On. If Two Factor Authentication (2FA) methods are also configured, a valid 2nd factor is required in addition to Single Sign On. When using this method, you must also provide a valid \u003cspan pulumi-lang-nodejs=\"`ssoStrategyId`\" pulumi-lang-dotnet=\"`SsoStrategyId`\" pulumi-lang-go=\"`ssoStrategyId`\" pulumi-lang-python=\"`sso_strategy_id`\" pulumi-lang-yaml=\"`ssoStrategyId`\" pulumi-lang-java=\"`ssoStrategyId`\" pulumi-lang-hcl=\"`sso_strategy_id`\"\u003e`ssoStrategyId`\u003c/span\u003e to associate the User to the appropriate SSO provider.\n\n* \u003cspan pulumi-lang-nodejs=\"`passwordWithImportedHash`\" pulumi-lang-dotnet=\"`PasswordWithImportedHash`\" pulumi-lang-go=\"`passwordWithImportedHash`\" pulumi-lang-python=\"`password_with_imported_hash`\" pulumi-lang-yaml=\"`passwordWithImportedHash`\" pulumi-lang-java=\"`passwordWithImportedHash`\" pulumi-lang-hcl=\"`password_with_imported_hash`\"\u003e`passwordWithImportedHash`\u003c/span\u003e - Works like the \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e method but allows importing a hashed password in MD5, SHA-1, or SHA-256 format. Provide the imported hash in the field \u003cspan pulumi-lang-nodejs=\"`importedPasswordHash`\" pulumi-lang-dotnet=\"`ImportedPasswordHash`\" pulumi-lang-go=\"`importedPasswordHash`\" pulumi-lang-python=\"`imported_password_hash`\" pulumi-lang-yaml=\"`importedPasswordHash`\" pulumi-lang-java=\"`importedPasswordHash`\" pulumi-lang-hcl=\"`imported_password_hash`\"\u003e`importedPasswordHash`\u003c/span\u003e. Upon first use, the password will be converted to Files.com's internal storage format and the authentication type will change to \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e. Typically only used when migrating to Files.com from another MFT solution.\n\n* \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e - Does not allow authentication via username and password, but does allow authentication via API Key or SSH (SFTP) Key. Typically only used for service users.\n\n* \u003cspan pulumi-lang-nodejs=\"`passwordAndSshKey`\" pulumi-lang-dotnet=\"`PasswordAndSshKey`\" pulumi-lang-go=\"`passwordAndSshKey`\" pulumi-lang-python=\"`password_and_ssh_key`\" pulumi-lang-yaml=\"`passwordAndSshKey`\" pulumi-lang-java=\"`passwordAndSshKey`\" pulumi-lang-hcl=\"`password_and_ssh_key`\"\u003e`passwordAndSshKey`\u003c/span\u003e - Allows authentication only by providing a password and also a valid SSH (SFTP) Key in a single attempt. If API Keys are also configured, those can be used *instead* of the password and key combination. This method only works with (typically enterprise) SSH/SFTP clients capable of sending both authentication methods at once. Typically only used for service users.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleUser = new filescom.User(\"example_user\", {\n    avatarDelete: false,\n    email: \"john.doe@files.com\",\n    groupId: 1,\n    groupIds: \"example\",\n    announcementsRead: false,\n    aiAssistantPersonalityId: 1,\n    allowedIps: `10.0.0.0/8\n127.0.0.1`,\n    attachmentsPermission: true,\n    authenticateUntil: \"2000-01-01T01:00:00Z\",\n    authenticationMethod: \"password\",\n    billingPermission: false,\n    bypassUserLifecycleRules: false,\n    bypassSiteAllowedIps: false,\n    davPermission: true,\n    desktopConfigurationProfileId: 1,\n    defaultWorkspaceId: 1,\n    disabled: true,\n    filesystemLayout: \"site_root\",\n    ftpPermission: true,\n    headerText: \"User-specific message.\",\n    integrationCentricProfileId: 1,\n    language: \"en\",\n    notificationDailySendTime: 18,\n    name: \"John Doe\",\n    company: \"ACME Corp.\",\n    notes: \"Internal notes on this user.\",\n    officeIntegrationEnabled: true,\n    partnerAdmin: true,\n    partnerId: 1,\n    passwordValidityDays: 1,\n    primaryGroupId: 1,\n    readonlySiteAdmin: true,\n    receiveAdminAlerts: true,\n    notifyOnAllSiteWarnings: true,\n    notifyOnAllSsoFailures: true,\n    notifyOnAllUserSecurityEvents: true,\n    notifyOnAllPendingWorkFailures: true,\n    notifyOnAllSiemHttpDestinationFailures: true,\n    notifyOnAllSyncFailures: true,\n    notifyOnAllAutomationFailures: true,\n    notifyOnAllExpectationFailures: true,\n    requireLoginBy: \"2000-01-01T01:00:00Z\",\n    requirePasswordChange: true,\n    responsibleGroupId: 1,\n    responsibleUserId: 1,\n    restapiPermission: true,\n    selfManaged: true,\n    sftpPermission: true,\n    siteAdmin: true,\n    skipWelcomeScreen: true,\n    sslRequired: \"always_require\",\n    ssoStrategyId: 1,\n    subscribeToNewsletter: true,\n    require2fa: \"always_require\",\n    tags: \"example\",\n    timeZone: \"Pacific Time (US \u0026 Canada)\",\n    userRoot: \"example\",\n    userHome: \"example\",\n    workspaceAdmin: true,\n    username: \"user\",\n    workspaceId: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_user = filescom.User(\"example_user\",\n    avatar_delete=False,\n    email=\"john.doe@files.com\",\n    group_id=1,\n    group_ids=\"example\",\n    announcements_read=False,\n    ai_assistant_personality_id=1,\n    allowed_ips=\"\"\"10.0.0.0/8\n127.0.0.1\"\"\",\n    attachments_permission=True,\n    authenticate_until=\"2000-01-01T01:00:00Z\",\n    authentication_method=\"password\",\n    billing_permission=False,\n    bypass_user_lifecycle_rules=False,\n    bypass_site_allowed_ips=False,\n    dav_permission=True,\n    desktop_configuration_profile_id=1,\n    default_workspace_id=1,\n    disabled=True,\n    filesystem_layout=\"site_root\",\n    ftp_permission=True,\n    header_text=\"User-specific message.\",\n    integration_centric_profile_id=1,\n    language=\"en\",\n    notification_daily_send_time=18,\n    name=\"John Doe\",\n    company=\"ACME Corp.\",\n    notes=\"Internal notes on this user.\",\n    office_integration_enabled=True,\n    partner_admin=True,\n    partner_id=1,\n    password_validity_days=1,\n    primary_group_id=1,\n    readonly_site_admin=True,\n    receive_admin_alerts=True,\n    notify_on_all_site_warnings=True,\n    notify_on_all_sso_failures=True,\n    notify_on_all_user_security_events=True,\n    notify_on_all_pending_work_failures=True,\n    notify_on_all_siem_http_destination_failures=True,\n    notify_on_all_sync_failures=True,\n    notify_on_all_automation_failures=True,\n    notify_on_all_expectation_failures=True,\n    require_login_by=\"2000-01-01T01:00:00Z\",\n    require_password_change=True,\n    responsible_group_id=1,\n    responsible_user_id=1,\n    restapi_permission=True,\n    self_managed=True,\n    sftp_permission=True,\n    site_admin=True,\n    skip_welcome_screen=True,\n    ssl_required=\"always_require\",\n    sso_strategy_id=1,\n    subscribe_to_newsletter=True,\n    require2fa=\"always_require\",\n    tags=\"example\",\n    time_zone=\"Pacific Time (US \u0026 Canada)\",\n    user_root=\"example\",\n    user_home=\"example\",\n    workspace_admin=True,\n    username=\"user\",\n    workspace_id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleUser = new Filescom.User(\"example_user\", new()\n    {\n        AvatarDelete = false,\n        Email = \"john.doe@files.com\",\n        GroupId = 1,\n        GroupIds = \"example\",\n        AnnouncementsRead = false,\n        AiAssistantPersonalityId = 1,\n        AllowedIps = @\"10.0.0.0/8\n127.0.0.1\",\n        AttachmentsPermission = true,\n        AuthenticateUntil = \"2000-01-01T01:00:00Z\",\n        AuthenticationMethod = \"password\",\n        BillingPermission = false,\n        BypassUserLifecycleRules = false,\n        BypassSiteAllowedIps = false,\n        DavPermission = true,\n        DesktopConfigurationProfileId = 1,\n        DefaultWorkspaceId = 1,\n        Disabled = true,\n        FilesystemLayout = \"site_root\",\n        FtpPermission = true,\n        HeaderText = \"User-specific message.\",\n        IntegrationCentricProfileId = 1,\n        Language = \"en\",\n        NotificationDailySendTime = 18,\n        Name = \"John Doe\",\n        Company = \"ACME Corp.\",\n        Notes = \"Internal notes on this user.\",\n        OfficeIntegrationEnabled = true,\n        PartnerAdmin = true,\n        PartnerId = 1,\n        PasswordValidityDays = 1,\n        PrimaryGroupId = 1,\n        ReadonlySiteAdmin = true,\n        ReceiveAdminAlerts = true,\n        NotifyOnAllSiteWarnings = true,\n        NotifyOnAllSsoFailures = true,\n        NotifyOnAllUserSecurityEvents = true,\n        NotifyOnAllPendingWorkFailures = true,\n        NotifyOnAllSiemHttpDestinationFailures = true,\n        NotifyOnAllSyncFailures = true,\n        NotifyOnAllAutomationFailures = true,\n        NotifyOnAllExpectationFailures = true,\n        RequireLoginBy = \"2000-01-01T01:00:00Z\",\n        RequirePasswordChange = true,\n        ResponsibleGroupId = 1,\n        ResponsibleUserId = 1,\n        RestapiPermission = true,\n        SelfManaged = true,\n        SftpPermission = true,\n        SiteAdmin = true,\n        SkipWelcomeScreen = true,\n        SslRequired = \"always_require\",\n        SsoStrategyId = 1,\n        SubscribeToNewsletter = true,\n        Require2fa = \"always_require\",\n        Tags = \"example\",\n        TimeZone = \"Pacific Time (US \u0026 Canada)\",\n        UserRoot = \"example\",\n        UserHome = \"example\",\n        WorkspaceAdmin = true,\n        Username = \"user\",\n        WorkspaceId = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewUser(ctx, \"example_user\", \u0026filescom.UserArgs{\n\t\t\tAvatarDelete:                           pulumi.Bool(false),\n\t\t\tEmail:                                  pulumi.String(\"john.doe@files.com\"),\n\t\t\tGroupId:                                pulumi.Int(1),\n\t\t\tGroupIds:                               pulumi.String(\"example\"),\n\t\t\tAnnouncementsRead:                      pulumi.Bool(false),\n\t\t\tAiAssistantPersonalityId:               pulumi.Int(1),\n\t\t\tAllowedIps:                             pulumi.String(\"10.0.0.0/8\\n127.0.0.1\"),\n\t\t\tAttachmentsPermission:                  pulumi.Bool(true),\n\t\t\tAuthenticateUntil:                      pulumi.String(\"2000-01-01T01:00:00Z\"),\n\t\t\tAuthenticationMethod:                   pulumi.String(\"password\"),\n\t\t\tBillingPermission:                      pulumi.Bool(false),\n\t\t\tBypassUserLifecycleRules:               pulumi.Bool(false),\n\t\t\tBypassSiteAllowedIps:                   pulumi.Bool(false),\n\t\t\tDavPermission:                          pulumi.Bool(true),\n\t\t\tDesktopConfigurationProfileId:          pulumi.Int(1),\n\t\t\tDefaultWorkspaceId:                     pulumi.Int(1),\n\t\t\tDisabled:                               pulumi.Bool(true),\n\t\t\tFilesystemLayout:                       pulumi.String(\"site_root\"),\n\t\t\tFtpPermission:                          pulumi.Bool(true),\n\t\t\tHeaderText:                             pulumi.String(\"User-specific message.\"),\n\t\t\tIntegrationCentricProfileId:            pulumi.Int(1),\n\t\t\tLanguage:                               pulumi.String(\"en\"),\n\t\t\tNotificationDailySendTime:              pulumi.Int(18),\n\t\t\tName:                                   pulumi.String(\"John Doe\"),\n\t\t\tCompany:                                pulumi.String(\"ACME Corp.\"),\n\t\t\tNotes:                                  pulumi.String(\"Internal notes on this user.\"),\n\t\t\tOfficeIntegrationEnabled:               pulumi.Bool(true),\n\t\t\tPartnerAdmin:                           pulumi.Bool(true),\n\t\t\tPartnerId:                              pulumi.Int(1),\n\t\t\tPasswordValidityDays:                   pulumi.Int(1),\n\t\t\tPrimaryGroupId:                         pulumi.Int(1),\n\t\t\tReadonlySiteAdmin:                      pulumi.Bool(true),\n\t\t\tReceiveAdminAlerts:                     pulumi.Bool(true),\n\t\t\tNotifyOnAllSiteWarnings:                pulumi.Bool(true),\n\t\t\tNotifyOnAllSsoFailures:                 pulumi.Bool(true),\n\t\t\tNotifyOnAllUserSecurityEvents:          pulumi.Bool(true),\n\t\t\tNotifyOnAllPendingWorkFailures:         pulumi.Bool(true),\n\t\t\tNotifyOnAllSiemHttpDestinationFailures: pulumi.Bool(true),\n\t\t\tNotifyOnAllSyncFailures:                pulumi.Bool(true),\n\t\t\tNotifyOnAllAutomationFailures:          pulumi.Bool(true),\n\t\t\tNotifyOnAllExpectationFailures:         pulumi.Bool(true),\n\t\t\tRequireLoginBy:                         pulumi.String(\"2000-01-01T01:00:00Z\"),\n\t\t\tRequirePasswordChange:                  pulumi.Bool(true),\n\t\t\tResponsibleGroupId:                     pulumi.Int(1),\n\t\t\tResponsibleUserId:                      pulumi.Int(1),\n\t\t\tRestapiPermission:                      pulumi.Bool(true),\n\t\t\tSelfManaged:                            pulumi.Bool(true),\n\t\t\tSftpPermission:                         pulumi.Bool(true),\n\t\t\tSiteAdmin:                              pulumi.Bool(true),\n\t\t\tSkipWelcomeScreen:                      pulumi.Bool(true),\n\t\t\tSslRequired:                            pulumi.String(\"always_require\"),\n\t\t\tSsoStrategyId:                          pulumi.Int(1),\n\t\t\tSubscribeToNewsletter:                  pulumi.Bool(true),\n\t\t\tRequire2fa:                             pulumi.String(\"always_require\"),\n\t\t\tTags:                                   pulumi.String(\"example\"),\n\t\t\tTimeZone:                               pulumi.String(\"Pacific Time (US \u0026 Canada)\"),\n\t\t\tUserRoot:                               pulumi.String(\"example\"),\n\t\t\tUserHome:                               pulumi.String(\"example\"),\n\t\t\tWorkspaceAdmin:                         pulumi.Bool(true),\n\t\t\tUsername:                               pulumi.String(\"user\"),\n\t\t\tWorkspaceId:                            pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_user\" \"example_user\" {\n  avatar_delete                                = false\n  email                                        = \"john.doe@files.com\"\n  group_id                                     = 1\n  group_ids                                    = \"example\"\n  announcements_read                           = false\n  ai_assistant_personality_id                  = 1\n  allowed_ips                                  = \"10.0.0.0/8\\n127.0.0.1\"\n  attachments_permission                       = true\n  authenticate_until                           = \"2000-01-01T01:00:00Z\"\n  authentication_method                        = \"password\"\n  billing_permission                           = false\n  bypass_user_lifecycle_rules                  = false\n  bypass_site_allowed_ips                      = false\n  dav_permission                               = true\n  desktop_configuration_profile_id             = 1\n  default_workspace_id                         = 1\n  disabled                                     = true\n  filesystem_layout                            = \"site_root\"\n  ftp_permission                               = true\n  header_text                                  = \"User-specific message.\"\n  integration_centric_profile_id               = 1\n  language                                     = \"en\"\n  notification_daily_send_time                 = 18\n  name                                         = \"John Doe\"\n  company                                      = \"ACME Corp.\"\n  notes                                        = \"Internal notes on this user.\"\n  office_integration_enabled                   = true\n  partner_admin                                = true\n  partner_id                                   = 1\n  password_validity_days                       = 1\n  primary_group_id                             = 1\n  readonly_site_admin                          = true\n  receive_admin_alerts                         = true\n  notify_on_all_site_warnings                  = true\n  notify_on_all_sso_failures                   = true\n  notify_on_all_user_security_events           = true\n  notify_on_all_pending_work_failures          = true\n  notify_on_all_siem_http_destination_failures = true\n  notify_on_all_sync_failures                  = true\n  notify_on_all_automation_failures            = true\n  notify_on_all_expectation_failures           = true\n  require_login_by                             = \"2000-01-01T01:00:00Z\"\n  require_password_change                      = true\n  responsible_group_id                         = 1\n  responsible_user_id                          = 1\n  restapi_permission                           = true\n  self_managed                                 = true\n  sftp_permission                              = true\n  site_admin                                   = true\n  skip_welcome_screen                          = true\n  ssl_required                                 = \"always_require\"\n  sso_strategy_id                              = 1\n  subscribe_to_newsletter                      = true\n  require2fa                                   = \"always_require\"\n  tags                                         = \"example\"\n  time_zone                                    = \"Pacific Time (US \u0026 Canada)\"\n  user_root                                    = \"example\"\n  user_home                                    = \"example\"\n  workspace_admin                              = true\n  username                                     = \"user\"\n  workspace_id                                 = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.User;\nimport com.pulumi.filescom.UserArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleUser = new User(\"exampleUser\", UserArgs.builder()\n            .avatarDelete(false)\n            .email(\"john.doe@files.com\")\n            .groupId(1)\n            .groupIds(\"example\")\n            .announcementsRead(false)\n            .aiAssistantPersonalityId(1)\n            .allowedIps(\"\"\"\n10.0.0.0/8\n127.0.0.1            \"\"\")\n            .attachmentsPermission(true)\n            .authenticateUntil(\"2000-01-01T01:00:00Z\")\n            .authenticationMethod(\"password\")\n            .billingPermission(false)\n            .bypassUserLifecycleRules(false)\n            .bypassSiteAllowedIps(false)\n            .davPermission(true)\n            .desktopConfigurationProfileId(1)\n            .defaultWorkspaceId(1)\n            .disabled(true)\n            .filesystemLayout(\"site_root\")\n            .ftpPermission(true)\n            .headerText(\"User-specific message.\")\n            .integrationCentricProfileId(1)\n            .language(\"en\")\n            .notificationDailySendTime(18)\n            .name(\"John Doe\")\n            .company(\"ACME Corp.\")\n            .notes(\"Internal notes on this user.\")\n            .officeIntegrationEnabled(true)\n            .partnerAdmin(true)\n            .partnerId(1)\n            .passwordValidityDays(1)\n            .primaryGroupId(1)\n            .readonlySiteAdmin(true)\n            .receiveAdminAlerts(true)\n            .notifyOnAllSiteWarnings(true)\n            .notifyOnAllSsoFailures(true)\n            .notifyOnAllUserSecurityEvents(true)\n            .notifyOnAllPendingWorkFailures(true)\n            .notifyOnAllSiemHttpDestinationFailures(true)\n            .notifyOnAllSyncFailures(true)\n            .notifyOnAllAutomationFailures(true)\n            .notifyOnAllExpectationFailures(true)\n            .requireLoginBy(\"2000-01-01T01:00:00Z\")\n            .requirePasswordChange(true)\n            .responsibleGroupId(1)\n            .responsibleUserId(1)\n            .restapiPermission(true)\n            .selfManaged(true)\n            .sftpPermission(true)\n            .siteAdmin(true)\n            .skipWelcomeScreen(true)\n            .sslRequired(\"always_require\")\n            .ssoStrategyId(1)\n            .subscribeToNewsletter(true)\n            .require2fa(\"always_require\")\n            .tags(\"example\")\n            .timeZone(\"Pacific Time (US \u0026 Canada)\")\n            .userRoot(\"example\")\n            .userHome(\"example\")\n            .workspaceAdmin(true)\n            .username(\"user\")\n            .workspaceId(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleUser:\n    type: filescom:User\n    name: example_user\n    properties:\n      avatarDelete: false\n      email: john.doe@files.com\n      groupId: 1\n      groupIds: example\n      announcementsRead: false\n      aiAssistantPersonalityId: 1\n      allowedIps: |-\n        10.0.0.0/8\n        127.0.0.1\n      attachmentsPermission: true\n      authenticateUntil: 2000-01-01T01:00:00Z\n      authenticationMethod: password\n      billingPermission: false\n      bypassUserLifecycleRules: false\n      bypassSiteAllowedIps: false\n      davPermission: true\n      desktopConfigurationProfileId: 1\n      defaultWorkspaceId: 1\n      disabled: true\n      filesystemLayout: site_root\n      ftpPermission: true\n      headerText: User-specific message.\n      integrationCentricProfileId: 1\n      language: en\n      notificationDailySendTime: 18\n      name: John Doe\n      company: ACME Corp.\n      notes: Internal notes on this user.\n      officeIntegrationEnabled: true\n      partnerAdmin: true\n      partnerId: 1\n      passwordValidityDays: 1\n      primaryGroupId: 1\n      readonlySiteAdmin: true\n      receiveAdminAlerts: true\n      notifyOnAllSiteWarnings: true\n      notifyOnAllSsoFailures: true\n      notifyOnAllUserSecurityEvents: true\n      notifyOnAllPendingWorkFailures: true\n      notifyOnAllSiemHttpDestinationFailures: true\n      notifyOnAllSyncFailures: true\n      notifyOnAllAutomationFailures: true\n      notifyOnAllExpectationFailures: true\n      requireLoginBy: 2000-01-01T01:00:00Z\n      requirePasswordChange: true\n      responsibleGroupId: 1\n      responsibleUserId: 1\n      restapiPermission: true\n      selfManaged: true\n      sftpPermission: true\n      siteAdmin: true\n      skipWelcomeScreen: true\n      sslRequired: always_require\n      ssoStrategyId: 1\n      subscribeToNewsletter: true\n      require2fa: always_require\n      tags: example\n      timeZone: Pacific Time (US \u0026 Canada)\n      userRoot: example\n      userHome: example\n      workspaceAdmin: true\n      username: user\n      workspaceId: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nUsers can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/user:User example_user 1\n```\n\n",
            "properties": {
                "active2fa": {
                    "type": "boolean",
                    "description": "Is 2fa active for the user?"
                },
                "adminGroupIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "List of group IDs of which this user is an administrator"
                },
                "aiAssistantPersonalityId": {
                    "type": "integer",
                    "description": "AI Assistant Personality ID assigned directly to this user, if any."
                },
                "allowedIps": {
                    "type": "string",
                    "description": "A list of allowed IPs if applicable.  Newline delimited"
                },
                "announcementsRead": {
                    "type": "boolean",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nSignifies that the user has read all the announcements in the UI.",
                    "secret": true
                },
                "apiKeysCount": {
                    "type": "integer",
                    "description": "Number of API keys associated with this user"
                },
                "attachmentsPermission": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the user can user create Bundles (aka Share Links). Use the bundle permission instead."
                },
                "authenticateUntil": {
                    "type": "string",
                    "description": "Scheduled Date/Time at which user will be deactivated"
                },
                "authenticationMethod": {
                    "type": "string",
                    "description": "How is this user authenticated?"
                },
                "avatarDelete": {
                    "type": "boolean",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nIf true, the avatar will be deleted.",
                    "secret": true
                },
                "avatarUrl": {
                    "type": "string",
                    "description": "URL holding the user's avatar"
                },
                "billable": {
                    "type": "boolean",
                    "description": "Is this a billable user record?"
                },
                "billingPermission": {
                    "type": "boolean",
                    "description": "Allow this user to perform operations on the account, payments, and invoices?"
                },
                "bypassSiteAllowedIps": {
                    "type": "boolean",
                    "description": "Allow this user to skip site-wide IP blacklists?"
                },
                "bypassUserLifecycleRules": {
                    "type": "boolean",
                    "description": "Exempt this user from user lifecycle rules?"
                },
                "changePassword": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nUsed for changing a password on an existing user.",
                    "secret": true
                },
                "changePasswordConfirmation": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nOptional, but if provided, we will ensure that it matches the value sent in \u003cspan pulumi-lang-nodejs=\"`changePassword`\" pulumi-lang-dotnet=\"`ChangePassword`\" pulumi-lang-go=\"`changePassword`\" pulumi-lang-python=\"`change_password`\" pulumi-lang-yaml=\"`changePassword`\" pulumi-lang-java=\"`changePassword`\" pulumi-lang-hcl=\"`change_password`\"\u003e`changePassword`\u003c/span\u003e.",
                    "secret": true
                },
                "company": {
                    "type": "string",
                    "description": "User's company"
                },
                "createdAt": {
                    "type": "string",
                    "description": "When this user was created"
                },
                "davPermission": {
                    "type": "boolean",
                    "description": "Can the user connect with WebDAV?"
                },
                "daysRemainingUntilPasswordExpire": {
                    "type": "integer",
                    "description": "Number of days remaining until password expires"
                },
                "defaultWorkspaceId": {
                    "type": "integer",
                    "description": "Workspace ID the user should land in by default when more than one Workspace is available."
                },
                "desktopConfigurationProfileId": {
                    "type": "integer",
                    "description": "Desktop Configuration Profile ID assigned directly to this user, if any."
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting or schedule to be deactivated after specific date."
                },
                "disabledExpiredOrInactive": {
                    "type": "boolean",
                    "description": "Computed property that returns true if user disabled or expired or inactive."
                },
                "email": {
                    "type": "string",
                    "description": "User email address"
                },
                "externallyManaged": {
                    "type": "boolean",
                    "description": "Is this user managed by a SsoStrategy?"
                },
                "filesystemLayout": {
                    "type": "string",
                    "description": "File system layout"
                },
                "firstLoginAt": {
                    "type": "string",
                    "description": "User's first login time"
                },
                "ftpPermission": {
                    "type": "boolean",
                    "description": "Can the user access with FTP/FTPS?"
                },
                "grantPermission": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPermission to grant on the User Root upon user creation. Can be blank or \u003cspan pulumi-lang-nodejs=\"`full`\" pulumi-lang-dotnet=\"`Full`\" pulumi-lang-go=\"`full`\" pulumi-lang-python=\"`full`\" pulumi-lang-yaml=\"`full`\" pulumi-lang-java=\"`full`\" pulumi-lang-hcl=\"`full`\"\u003e`full`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\" pulumi-lang-hcl=\"`read`\"\u003e`read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`write`\" pulumi-lang-dotnet=\"`Write`\" pulumi-lang-go=\"`write`\" pulumi-lang-python=\"`write`\" pulumi-lang-yaml=\"`write`\" pulumi-lang-java=\"`write`\" pulumi-lang-hcl=\"`write`\"\u003e`write`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`list`\" pulumi-lang-dotnet=\"`List`\" pulumi-lang-go=\"`list`\" pulumi-lang-python=\"`list`\" pulumi-lang-yaml=\"`list`\" pulumi-lang-java=\"`list`\" pulumi-lang-hcl=\"`list`\"\u003e`list`\u003c/span\u003e, `read+write`, or `list+write`",
                    "secret": true
                },
                "groupId": {
                    "type": "integer",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nGroup ID to associate this user with.",
                    "secret": true
                },
                "groupIds": {
                    "type": "string",
                    "description": "Comma-separated list of group IDs of which this user is a member"
                },
                "headerText": {
                    "type": "string",
                    "description": "Text to display to the user in the header of the UI"
                },
                "importedPasswordHash": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPre-calculated hash of the user's password. If supplied, this will be used to authenticate the user on first login. Supported hash methods are MD5, SHA1, and SHA256.",
                    "secret": true
                },
                "integrationCentricProfileId": {
                    "type": "integer",
                    "description": "Integration Centric Profile ID assigned directly to this user, if any."
                },
                "language": {
                    "type": "string",
                    "description": "Preferred language"
                },
                "lastActiveAt": {
                    "type": "string",
                    "description": "User's most recent activity time, which is the latest of most recent login, most recent API use, enablement, or creation"
                },
                "lastApiUseAt": {
                    "type": "string",
                    "description": "User's most recent API use time"
                },
                "lastDavLoginAt": {
                    "type": "string",
                    "description": "User's most recent login time via WebDAV"
                },
                "lastDesktopLoginAt": {
                    "type": "string",
                    "description": "User's most recent login time via Desktop app"
                },
                "lastFtpLoginAt": {
                    "type": "string",
                    "description": "User's most recent login time via FTP"
                },
                "lastLoginAt": {
                    "type": "string",
                    "description": "User's most recent login time via any protocol"
                },
                "lastProtocolCipher": {
                    "type": "string",
                    "description": "The most recent protocol and cipher used"
                },
                "lastRestapiLoginAt": {
                    "type": "string",
                    "description": "User's most recent login time via Rest API"
                },
                "lastSftpLoginAt": {
                    "type": "string",
                    "description": "User's most recent login time via SFTP"
                },
                "lastWebLoginAt": {
                    "type": "string",
                    "description": "User's most recent login time via web"
                },
                "lockoutExpires": {
                    "type": "string",
                    "description": "Time in the future that the user will no longer be locked out if applicable"
                },
                "name": {
                    "type": "string",
                    "description": "User's full name"
                },
                "notes": {
                    "type": "string",
                    "description": "Any internal notes on the user"
                },
                "notificationDailySendTime": {
                    "type": "integer",
                    "description": "Hour of the day at which daily notifications should be sent. Can be in range 0 to 23"
                },
                "notifyOnAllAutomationFailures": {
                    "type": "boolean",
                    "description": "Should the user receive automation failures via email?"
                },
                "notifyOnAllExpectationFailures": {
                    "type": "boolean",
                    "description": "Should the user receive expectation failures and misses via email?"
                },
                "notifyOnAllPendingWorkFailures": {
                    "type": "boolean",
                    "description": "Should the user receive pending work failures via email?"
                },
                "notifyOnAllSiemHttpDestinationFailures": {
                    "type": "boolean",
                    "description": "Should the user receive siem failures via email?"
                },
                "notifyOnAllSiteWarnings": {
                    "type": "boolean",
                    "description": "Should the user receive site warnings via email?"
                },
                "notifyOnAllSsoFailures": {
                    "type": "boolean",
                    "description": "Should the user receive sso/scim/ldap configuration/sync failures via email?"
                },
                "notifyOnAllSyncFailures": {
                    "type": "boolean",
                    "description": "Should the user receive sync failures via email?"
                },
                "notifyOnAllUserSecurityEvents": {
                    "type": "boolean",
                    "description": "Should the user receive user security events via email?"
                },
                "officeIntegrationEnabled": {
                    "type": "boolean",
                    "description": "Enable integration with Office for the web?"
                },
                "partnerAdmin": {
                    "type": "boolean",
                    "description": "Is this user a Partner administrator?"
                },
                "partnerId": {
                    "type": "integer",
                    "description": "Partner ID if this user belongs to a Partner"
                },
                "partnerName": {
                    "type": "string",
                    "description": "Name of the Partner if this user belongs to a Partner"
                },
                "password": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nUser password.",
                    "secret": true
                },
                "passwordConfirmation": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nOptional, but if provided, we will ensure that it matches the value sent in \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e.",
                    "secret": true
                },
                "passwordExpireAt": {
                    "type": "string",
                    "description": "Password expiration datetime"
                },
                "passwordExpired": {
                    "type": "boolean",
                    "description": "Is user's password expired?"
                },
                "passwordSetAt": {
                    "type": "string",
                    "description": "Last time the user's password was set"
                },
                "passwordValidityDays": {
                    "type": "integer",
                    "description": "Number of days to allow user to use the same password"
                },
                "primaryGroupId": {
                    "type": "integer",
                    "description": "Primary group ID for Group Admin scoping"
                },
                "publicKeysCount": {
                    "type": "integer",
                    "description": "Number of public keys associated with this user"
                },
                "readonlySiteAdmin": {
                    "type": "boolean",
                    "description": "Is the user an allowed to view all (non-billing) site configuration for this site?"
                },
                "receiveAdminAlerts": {
                    "type": "boolean",
                    "description": "Deprecated. Use\u003cspan pulumi-lang-nodejs=\" notifyOnAllSiteWarnings \" pulumi-lang-dotnet=\" NotifyOnAllSiteWarnings \" pulumi-lang-go=\" notifyOnAllSiteWarnings \" pulumi-lang-python=\" notify_on_all_site_warnings \" pulumi-lang-yaml=\" notifyOnAllSiteWarnings \" pulumi-lang-java=\" notifyOnAllSiteWarnings \" pulumi-lang-hcl=\" notify_on_all_site_warnings \"\u003e notifyOnAllSiteWarnings \u003c/span\u003eand granular failure notification preferences instead."
                },
                "require2fa": {
                    "type": "string",
                    "description": "2FA required setting. \u003cspan pulumi-lang-nodejs=\"`useSystemSetting`\" pulumi-lang-dotnet=\"`UseSystemSetting`\" pulumi-lang-go=\"`useSystemSetting`\" pulumi-lang-python=\"`use_system_setting`\" pulumi-lang-yaml=\"`useSystemSetting`\" pulumi-lang-java=\"`useSystemSetting`\" pulumi-lang-hcl=\"`use_system_setting`\"\u003e`useSystemSetting`\u003c/span\u003e uses the site-wide setting, including SSO exemptions. \u003cspan pulumi-lang-nodejs=\"`alwaysRequire`\" pulumi-lang-dotnet=\"`AlwaysRequire`\" pulumi-lang-go=\"`alwaysRequire`\" pulumi-lang-python=\"`always_require`\" pulumi-lang-yaml=\"`alwaysRequire`\" pulumi-lang-java=\"`alwaysRequire`\" pulumi-lang-hcl=\"`always_require`\"\u003e`alwaysRequire`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`neverRequire`\" pulumi-lang-dotnet=\"`NeverRequire`\" pulumi-lang-go=\"`neverRequire`\" pulumi-lang-python=\"`never_require`\" pulumi-lang-yaml=\"`neverRequire`\" pulumi-lang-java=\"`neverRequire`\" pulumi-lang-hcl=\"`never_require`\"\u003e`neverRequire`\u003c/span\u003e override the site-wide setting when user-level overrides are allowed."
                },
                "requireLoginBy": {
                    "type": "string",
                    "description": "Require user to login by specified date otherwise it will be disabled."
                },
                "requirePasswordChange": {
                    "type": "boolean",
                    "description": "Is a password change required upon next user login?"
                },
                "responsibleGroupId": {
                    "type": "integer",
                    "description": "ID of the internal Group responsible for this Partner User, overriding the Partner default."
                },
                "responsibleUserId": {
                    "type": "integer",
                    "description": "ID of the internal User responsible for this Partner User, overriding the Partner default."
                },
                "restapiPermission": {
                    "type": "boolean",
                    "description": "Can this user access the Web app, Desktop app, SDKs, or REST API?  (All of these tools use the API internally, so this is one unified permission set.)"
                },
                "selfManaged": {
                    "type": "boolean",
                    "description": "Does this user manage it's own credentials or is it a shared/bot user?"
                },
                "sftpPermission": {
                    "type": "boolean",
                    "description": "Can the user access with SFTP?"
                },
                "siteAdmin": {
                    "type": "boolean",
                    "description": "Is the user an administrator for this site?"
                },
                "siteId": {
                    "type": "integer",
                    "description": "Site ID"
                },
                "skipWelcomeScreen": {
                    "type": "boolean",
                    "description": "Skip Welcome page in the UI?"
                },
                "sslRequired": {
                    "type": "string",
                    "description": "SSL required setting"
                },
                "ssoStrategyId": {
                    "type": "integer",
                    "description": "SSO (Single Sign On) strategy ID for the user, if applicable."
                },
                "subscribeToNewsletter": {
                    "type": "boolean",
                    "description": "Is the user subscribed to the newsletter?"
                },
                "tags": {
                    "type": "string",
                    "description": "Comma-separated list of Tags for this user. Tags are used for other features, such as UserLifecycleRules, which can target specific tags.  Tags must only contain lowercase letters, numbers, and hyphens."
                },
                "timeZone": {
                    "type": "string",
                    "description": "User time zone"
                },
                "typeOf2fa": {
                    "type": "string",
                    "description": "Type(s) of 2FA methods in use, for programmatic use.  Will be either \u003cspan pulumi-lang-nodejs=\"`sms`\" pulumi-lang-dotnet=\"`Sms`\" pulumi-lang-go=\"`sms`\" pulumi-lang-python=\"`sms`\" pulumi-lang-yaml=\"`sms`\" pulumi-lang-java=\"`sms`\" pulumi-lang-hcl=\"`sms`\"\u003e`sms`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`totp`\" pulumi-lang-dotnet=\"`Totp`\" pulumi-lang-go=\"`totp`\" pulumi-lang-python=\"`totp`\" pulumi-lang-yaml=\"`totp`\" pulumi-lang-java=\"`totp`\" pulumi-lang-hcl=\"`totp`\"\u003e`totp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`webauthn`\" pulumi-lang-dotnet=\"`Webauthn`\" pulumi-lang-go=\"`webauthn`\" pulumi-lang-python=\"`webauthn`\" pulumi-lang-yaml=\"`webauthn`\" pulumi-lang-java=\"`webauthn`\" pulumi-lang-hcl=\"`webauthn`\"\u003e`webauthn`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`yubi`\" pulumi-lang-dotnet=\"`Yubi`\" pulumi-lang-go=\"`yubi`\" pulumi-lang-python=\"`yubi`\" pulumi-lang-yaml=\"`yubi`\" pulumi-lang-java=\"`yubi`\" pulumi-lang-hcl=\"`yubi`\"\u003e`yubi`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\" pulumi-lang-hcl=\"`email`\"\u003e`email`\u003c/span\u003e, or multiple values sorted alphabetically and joined by an underscore.  Does not specify whether user has more than one of a given method."
                },
                "typeOf2faForDisplay": {
                    "type": "string",
                    "description": "Type(s) of 2FA methods in use, formatted for displaying in the UI.  Unlike \u003cspan pulumi-lang-nodejs=\"`typeOf2fa`\" pulumi-lang-dotnet=\"`TypeOf2fa`\" pulumi-lang-go=\"`typeOf2fa`\" pulumi-lang-python=\"`type_of_2fa`\" pulumi-lang-yaml=\"`typeOf2fa`\" pulumi-lang-java=\"`typeOf2fa`\" pulumi-lang-hcl=\"`type_of_2fa`\"\u003e`typeOf2fa`\u003c/span\u003e, this value will make clear when a user has more than 1 of the same type of method."
                },
                "userHome": {
                    "type": "string",
                    "description": "Home folder for FTP/SFTP. For users with the\u003cspan pulumi-lang-nodejs=\" partnerRoot \" pulumi-lang-dotnet=\" PartnerRoot \" pulumi-lang-go=\" partnerRoot \" pulumi-lang-python=\" partner_root \" pulumi-lang-yaml=\" partnerRoot \" pulumi-lang-java=\" partnerRoot \" pulumi-lang-hcl=\" partner_root \"\u003e partnerRoot \u003c/span\u003efilesystem layout, this path is relative to the Partner root folder. In all other cases, it is an absolute path. Only applies to FTP and SFTP, and not any other interface."
                },
                "userRoot": {
                    "type": "string",
                    "description": "If filesystem layout is user_root, this path is the root path the user is fixed to for all interfaces. If the filesystem layout is\u003cspan pulumi-lang-nodejs=\" siteRoot \" pulumi-lang-dotnet=\" SiteRoot \" pulumi-lang-go=\" siteRoot \" pulumi-lang-python=\" site_root \" pulumi-lang-yaml=\" siteRoot \" pulumi-lang-java=\" siteRoot \" pulumi-lang-hcl=\" site_root \"\u003e siteRoot \u003c/span\u003eor partner_root, this acts as a root folder only for FTP and SFTP (SFTP applicability also requires a site-wide setting to be set). For\u003cspan pulumi-lang-nodejs=\" partnerRoot \" pulumi-lang-dotnet=\" PartnerRoot \" pulumi-lang-go=\" partnerRoot \" pulumi-lang-python=\" partner_root \" pulumi-lang-yaml=\" partnerRoot \" pulumi-lang-java=\" partnerRoot \" pulumi-lang-hcl=\" partner_root \"\u003e partnerRoot \u003c/span\u003elayout, this path is relative to the Partner root folder for all callers and blank opts out of an additional protocol root. In this situation, this path is not applied to the API, Desktop, or Web interface."
                },
                "username": {
                    "type": "string",
                    "description": "User's username\n"
                },
                "workspaceAdmin": {
                    "type": "boolean",
                    "description": "Is the user a Workspace administrator?  Applicable only to the workspace ID related to this user, if one is set."
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID"
                }
            },
            "required": [
                "active2fa",
                "adminGroupIds",
                "aiAssistantPersonalityId",
                "allowedIps",
                "apiKeysCount",
                "attachmentsPermission",
                "authenticateUntil",
                "authenticationMethod",
                "avatarUrl",
                "billable",
                "billingPermission",
                "bypassSiteAllowedIps",
                "bypassUserLifecycleRules",
                "company",
                "createdAt",
                "davPermission",
                "daysRemainingUntilPasswordExpire",
                "defaultWorkspaceId",
                "desktopConfigurationProfileId",
                "disabled",
                "disabledExpiredOrInactive",
                "email",
                "externallyManaged",
                "filesystemLayout",
                "firstLoginAt",
                "ftpPermission",
                "groupIds",
                "headerText",
                "integrationCentricProfileId",
                "language",
                "lastActiveAt",
                "lastApiUseAt",
                "lastDavLoginAt",
                "lastDesktopLoginAt",
                "lastFtpLoginAt",
                "lastLoginAt",
                "lastProtocolCipher",
                "lastRestapiLoginAt",
                "lastSftpLoginAt",
                "lastWebLoginAt",
                "lockoutExpires",
                "name",
                "notes",
                "notificationDailySendTime",
                "notifyOnAllAutomationFailures",
                "notifyOnAllExpectationFailures",
                "notifyOnAllPendingWorkFailures",
                "notifyOnAllSiemHttpDestinationFailures",
                "notifyOnAllSiteWarnings",
                "notifyOnAllSsoFailures",
                "notifyOnAllSyncFailures",
                "notifyOnAllUserSecurityEvents",
                "officeIntegrationEnabled",
                "partnerAdmin",
                "partnerId",
                "partnerName",
                "passwordExpireAt",
                "passwordExpired",
                "passwordSetAt",
                "passwordValidityDays",
                "primaryGroupId",
                "publicKeysCount",
                "readonlySiteAdmin",
                "receiveAdminAlerts",
                "require2fa",
                "requireLoginBy",
                "requirePasswordChange",
                "responsibleGroupId",
                "responsibleUserId",
                "restapiPermission",
                "selfManaged",
                "sftpPermission",
                "siteAdmin",
                "siteId",
                "skipWelcomeScreen",
                "sslRequired",
                "ssoStrategyId",
                "subscribeToNewsletter",
                "tags",
                "timeZone",
                "typeOf2fa",
                "typeOf2faForDisplay",
                "userHome",
                "userRoot",
                "username",
                "workspaceAdmin",
                "workspaceId"
            ],
            "inputProperties": {
                "aiAssistantPersonalityId": {
                    "type": "integer",
                    "description": "AI Assistant Personality ID assigned directly to this user, if any."
                },
                "allowedIps": {
                    "type": "string",
                    "description": "A list of allowed IPs if applicable.  Newline delimited"
                },
                "announcementsRead": {
                    "type": "boolean",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nSignifies that the user has read all the announcements in the UI.",
                    "secret": true
                },
                "attachmentsPermission": {
                    "type": "boolean",
                    "description": "If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the user can user create Bundles (aka Share Links). Use the bundle permission instead."
                },
                "authenticateUntil": {
                    "type": "string",
                    "description": "Scheduled Date/Time at which user will be deactivated"
                },
                "authenticationMethod": {
                    "type": "string",
                    "description": "How is this user authenticated?"
                },
                "avatarDelete": {
                    "type": "boolean",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nIf true, the avatar will be deleted.",
                    "secret": true
                },
                "billingPermission": {
                    "type": "boolean",
                    "description": "Allow this user to perform operations on the account, payments, and invoices?"
                },
                "bypassSiteAllowedIps": {
                    "type": "boolean",
                    "description": "Allow this user to skip site-wide IP blacklists?"
                },
                "bypassUserLifecycleRules": {
                    "type": "boolean",
                    "description": "Exempt this user from user lifecycle rules?"
                },
                "changePassword": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nUsed for changing a password on an existing user.",
                    "secret": true
                },
                "changePasswordConfirmation": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nOptional, but if provided, we will ensure that it matches the value sent in \u003cspan pulumi-lang-nodejs=\"`changePassword`\" pulumi-lang-dotnet=\"`ChangePassword`\" pulumi-lang-go=\"`changePassword`\" pulumi-lang-python=\"`change_password`\" pulumi-lang-yaml=\"`changePassword`\" pulumi-lang-java=\"`changePassword`\" pulumi-lang-hcl=\"`change_password`\"\u003e`changePassword`\u003c/span\u003e.",
                    "secret": true
                },
                "company": {
                    "type": "string",
                    "description": "User's company"
                },
                "davPermission": {
                    "type": "boolean",
                    "description": "Can the user connect with WebDAV?"
                },
                "defaultWorkspaceId": {
                    "type": "integer",
                    "description": "Workspace ID the user should land in by default when more than one Workspace is available."
                },
                "desktopConfigurationProfileId": {
                    "type": "integer",
                    "description": "Desktop Configuration Profile ID assigned directly to this user, if any."
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting or schedule to be deactivated after specific date."
                },
                "email": {
                    "type": "string",
                    "description": "User email address"
                },
                "filesystemLayout": {
                    "type": "string",
                    "description": "File system layout"
                },
                "ftpPermission": {
                    "type": "boolean",
                    "description": "Can the user access with FTP/FTPS?"
                },
                "grantPermission": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPermission to grant on the User Root upon user creation. Can be blank or \u003cspan pulumi-lang-nodejs=\"`full`\" pulumi-lang-dotnet=\"`Full`\" pulumi-lang-go=\"`full`\" pulumi-lang-python=\"`full`\" pulumi-lang-yaml=\"`full`\" pulumi-lang-java=\"`full`\" pulumi-lang-hcl=\"`full`\"\u003e`full`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\" pulumi-lang-hcl=\"`read`\"\u003e`read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`write`\" pulumi-lang-dotnet=\"`Write`\" pulumi-lang-go=\"`write`\" pulumi-lang-python=\"`write`\" pulumi-lang-yaml=\"`write`\" pulumi-lang-java=\"`write`\" pulumi-lang-hcl=\"`write`\"\u003e`write`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`list`\" pulumi-lang-dotnet=\"`List`\" pulumi-lang-go=\"`list`\" pulumi-lang-python=\"`list`\" pulumi-lang-yaml=\"`list`\" pulumi-lang-java=\"`list`\" pulumi-lang-hcl=\"`list`\"\u003e`list`\u003c/span\u003e, `read+write`, or `list+write`",
                    "secret": true
                },
                "groupId": {
                    "type": "integer",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nGroup ID to associate this user with.",
                    "secret": true
                },
                "groupIds": {
                    "type": "string",
                    "description": "Comma-separated list of group IDs of which this user is a member"
                },
                "headerText": {
                    "type": "string",
                    "description": "Text to display to the user in the header of the UI"
                },
                "importedPasswordHash": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPre-calculated hash of the user's password. If supplied, this will be used to authenticate the user on first login. Supported hash methods are MD5, SHA1, and SHA256.",
                    "secret": true
                },
                "integrationCentricProfileId": {
                    "type": "integer",
                    "description": "Integration Centric Profile ID assigned directly to this user, if any."
                },
                "language": {
                    "type": "string",
                    "description": "Preferred language"
                },
                "name": {
                    "type": "string",
                    "description": "User's full name"
                },
                "notes": {
                    "type": "string",
                    "description": "Any internal notes on the user"
                },
                "notificationDailySendTime": {
                    "type": "integer",
                    "description": "Hour of the day at which daily notifications should be sent. Can be in range 0 to 23"
                },
                "notifyOnAllAutomationFailures": {
                    "type": "boolean",
                    "description": "Should the user receive automation failures via email?"
                },
                "notifyOnAllExpectationFailures": {
                    "type": "boolean",
                    "description": "Should the user receive expectation failures and misses via email?"
                },
                "notifyOnAllPendingWorkFailures": {
                    "type": "boolean",
                    "description": "Should the user receive pending work failures via email?"
                },
                "notifyOnAllSiemHttpDestinationFailures": {
                    "type": "boolean",
                    "description": "Should the user receive siem failures via email?"
                },
                "notifyOnAllSiteWarnings": {
                    "type": "boolean",
                    "description": "Should the user receive site warnings via email?"
                },
                "notifyOnAllSsoFailures": {
                    "type": "boolean",
                    "description": "Should the user receive sso/scim/ldap configuration/sync failures via email?"
                },
                "notifyOnAllSyncFailures": {
                    "type": "boolean",
                    "description": "Should the user receive sync failures via email?"
                },
                "notifyOnAllUserSecurityEvents": {
                    "type": "boolean",
                    "description": "Should the user receive user security events via email?"
                },
                "officeIntegrationEnabled": {
                    "type": "boolean",
                    "description": "Enable integration with Office for the web?"
                },
                "partnerAdmin": {
                    "type": "boolean",
                    "description": "Is this user a Partner administrator?"
                },
                "partnerId": {
                    "type": "integer",
                    "description": "Partner ID if this user belongs to a Partner"
                },
                "password": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nUser password.",
                    "secret": true
                },
                "passwordConfirmation": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nOptional, but if provided, we will ensure that it matches the value sent in \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e.",
                    "secret": true
                },
                "passwordValidityDays": {
                    "type": "integer",
                    "description": "Number of days to allow user to use the same password"
                },
                "primaryGroupId": {
                    "type": "integer",
                    "description": "Primary group ID for Group Admin scoping"
                },
                "readonlySiteAdmin": {
                    "type": "boolean",
                    "description": "Is the user an allowed to view all (non-billing) site configuration for this site?"
                },
                "receiveAdminAlerts": {
                    "type": "boolean",
                    "description": "Deprecated. Use\u003cspan pulumi-lang-nodejs=\" notifyOnAllSiteWarnings \" pulumi-lang-dotnet=\" NotifyOnAllSiteWarnings \" pulumi-lang-go=\" notifyOnAllSiteWarnings \" pulumi-lang-python=\" notify_on_all_site_warnings \" pulumi-lang-yaml=\" notifyOnAllSiteWarnings \" pulumi-lang-java=\" notifyOnAllSiteWarnings \" pulumi-lang-hcl=\" notify_on_all_site_warnings \"\u003e notifyOnAllSiteWarnings \u003c/span\u003eand granular failure notification preferences instead."
                },
                "require2fa": {
                    "type": "string",
                    "description": "2FA required setting. \u003cspan pulumi-lang-nodejs=\"`useSystemSetting`\" pulumi-lang-dotnet=\"`UseSystemSetting`\" pulumi-lang-go=\"`useSystemSetting`\" pulumi-lang-python=\"`use_system_setting`\" pulumi-lang-yaml=\"`useSystemSetting`\" pulumi-lang-java=\"`useSystemSetting`\" pulumi-lang-hcl=\"`use_system_setting`\"\u003e`useSystemSetting`\u003c/span\u003e uses the site-wide setting, including SSO exemptions. \u003cspan pulumi-lang-nodejs=\"`alwaysRequire`\" pulumi-lang-dotnet=\"`AlwaysRequire`\" pulumi-lang-go=\"`alwaysRequire`\" pulumi-lang-python=\"`always_require`\" pulumi-lang-yaml=\"`alwaysRequire`\" pulumi-lang-java=\"`alwaysRequire`\" pulumi-lang-hcl=\"`always_require`\"\u003e`alwaysRequire`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`neverRequire`\" pulumi-lang-dotnet=\"`NeverRequire`\" pulumi-lang-go=\"`neverRequire`\" pulumi-lang-python=\"`never_require`\" pulumi-lang-yaml=\"`neverRequire`\" pulumi-lang-java=\"`neverRequire`\" pulumi-lang-hcl=\"`never_require`\"\u003e`neverRequire`\u003c/span\u003e override the site-wide setting when user-level overrides are allowed."
                },
                "requireLoginBy": {
                    "type": "string",
                    "description": "Require user to login by specified date otherwise it will be disabled."
                },
                "requirePasswordChange": {
                    "type": "boolean",
                    "description": "Is a password change required upon next user login?"
                },
                "responsibleGroupId": {
                    "type": "integer",
                    "description": "ID of the internal Group responsible for this Partner User, overriding the Partner default."
                },
                "responsibleUserId": {
                    "type": "integer",
                    "description": "ID of the internal User responsible for this Partner User, overriding the Partner default."
                },
                "restapiPermission": {
                    "type": "boolean",
                    "description": "Can this user access the Web app, Desktop app, SDKs, or REST API?  (All of these tools use the API internally, so this is one unified permission set.)"
                },
                "selfManaged": {
                    "type": "boolean",
                    "description": "Does this user manage it's own credentials or is it a shared/bot user?"
                },
                "sftpPermission": {
                    "type": "boolean",
                    "description": "Can the user access with SFTP?"
                },
                "siteAdmin": {
                    "type": "boolean",
                    "description": "Is the user an administrator for this site?"
                },
                "skipWelcomeScreen": {
                    "type": "boolean",
                    "description": "Skip Welcome page in the UI?"
                },
                "sslRequired": {
                    "type": "string",
                    "description": "SSL required setting"
                },
                "ssoStrategyId": {
                    "type": "integer",
                    "description": "SSO (Single Sign On) strategy ID for the user, if applicable."
                },
                "subscribeToNewsletter": {
                    "type": "boolean",
                    "description": "Is the user subscribed to the newsletter?"
                },
                "tags": {
                    "type": "string",
                    "description": "Comma-separated list of Tags for this user. Tags are used for other features, such as UserLifecycleRules, which can target specific tags.  Tags must only contain lowercase letters, numbers, and hyphens."
                },
                "timeZone": {
                    "type": "string",
                    "description": "User time zone"
                },
                "userHome": {
                    "type": "string",
                    "description": "Home folder for FTP/SFTP. For users with the\u003cspan pulumi-lang-nodejs=\" partnerRoot \" pulumi-lang-dotnet=\" PartnerRoot \" pulumi-lang-go=\" partnerRoot \" pulumi-lang-python=\" partner_root \" pulumi-lang-yaml=\" partnerRoot \" pulumi-lang-java=\" partnerRoot \" pulumi-lang-hcl=\" partner_root \"\u003e partnerRoot \u003c/span\u003efilesystem layout, this path is relative to the Partner root folder. In all other cases, it is an absolute path. Only applies to FTP and SFTP, and not any other interface."
                },
                "userRoot": {
                    "type": "string",
                    "description": "If filesystem layout is user_root, this path is the root path the user is fixed to for all interfaces. If the filesystem layout is\u003cspan pulumi-lang-nodejs=\" siteRoot \" pulumi-lang-dotnet=\" SiteRoot \" pulumi-lang-go=\" siteRoot \" pulumi-lang-python=\" site_root \" pulumi-lang-yaml=\" siteRoot \" pulumi-lang-java=\" siteRoot \" pulumi-lang-hcl=\" site_root \"\u003e siteRoot \u003c/span\u003eor partner_root, this acts as a root folder only for FTP and SFTP (SFTP applicability also requires a site-wide setting to be set). For\u003cspan pulumi-lang-nodejs=\" partnerRoot \" pulumi-lang-dotnet=\" PartnerRoot \" pulumi-lang-go=\" partnerRoot \" pulumi-lang-python=\" partner_root \" pulumi-lang-yaml=\" partnerRoot \" pulumi-lang-java=\" partnerRoot \" pulumi-lang-hcl=\" partner_root \"\u003e partnerRoot \u003c/span\u003elayout, this path is relative to the Partner root folder for all callers and blank opts out of an additional protocol root. In this situation, this path is not applied to the API, Desktop, or Web interface."
                },
                "username": {
                    "type": "string",
                    "description": "User's username\n"
                },
                "workspaceAdmin": {
                    "type": "boolean",
                    "description": "Is the user a Workspace administrator?  Applicable only to the workspace ID related to this user, if one is set."
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID"
                }
            },
            "requiredInputs": [
                "username"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering User resources.\n",
                "properties": {
                    "active2fa": {
                        "type": "boolean",
                        "description": "Is 2fa active for the user?"
                    },
                    "adminGroupIds": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "List of group IDs of which this user is an administrator"
                    },
                    "aiAssistantPersonalityId": {
                        "type": "integer",
                        "description": "AI Assistant Personality ID assigned directly to this user, if any."
                    },
                    "allowedIps": {
                        "type": "string",
                        "description": "A list of allowed IPs if applicable.  Newline delimited"
                    },
                    "announcementsRead": {
                        "type": "boolean",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nSignifies that the user has read all the announcements in the UI.",
                        "secret": true
                    },
                    "apiKeysCount": {
                        "type": "integer",
                        "description": "Number of API keys associated with this user"
                    },
                    "attachmentsPermission": {
                        "type": "boolean",
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the user can user create Bundles (aka Share Links). Use the bundle permission instead."
                    },
                    "authenticateUntil": {
                        "type": "string",
                        "description": "Scheduled Date/Time at which user will be deactivated"
                    },
                    "authenticationMethod": {
                        "type": "string",
                        "description": "How is this user authenticated?"
                    },
                    "avatarDelete": {
                        "type": "boolean",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nIf true, the avatar will be deleted.",
                        "secret": true
                    },
                    "avatarUrl": {
                        "type": "string",
                        "description": "URL holding the user's avatar"
                    },
                    "billable": {
                        "type": "boolean",
                        "description": "Is this a billable user record?"
                    },
                    "billingPermission": {
                        "type": "boolean",
                        "description": "Allow this user to perform operations on the account, payments, and invoices?"
                    },
                    "bypassSiteAllowedIps": {
                        "type": "boolean",
                        "description": "Allow this user to skip site-wide IP blacklists?"
                    },
                    "bypassUserLifecycleRules": {
                        "type": "boolean",
                        "description": "Exempt this user from user lifecycle rules?"
                    },
                    "changePassword": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nUsed for changing a password on an existing user.",
                        "secret": true
                    },
                    "changePasswordConfirmation": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nOptional, but if provided, we will ensure that it matches the value sent in \u003cspan pulumi-lang-nodejs=\"`changePassword`\" pulumi-lang-dotnet=\"`ChangePassword`\" pulumi-lang-go=\"`changePassword`\" pulumi-lang-python=\"`change_password`\" pulumi-lang-yaml=\"`changePassword`\" pulumi-lang-java=\"`changePassword`\" pulumi-lang-hcl=\"`change_password`\"\u003e`changePassword`\u003c/span\u003e.",
                        "secret": true
                    },
                    "company": {
                        "type": "string",
                        "description": "User's company"
                    },
                    "createdAt": {
                        "type": "string",
                        "description": "When this user was created"
                    },
                    "davPermission": {
                        "type": "boolean",
                        "description": "Can the user connect with WebDAV?"
                    },
                    "daysRemainingUntilPasswordExpire": {
                        "type": "integer",
                        "description": "Number of days remaining until password expires"
                    },
                    "defaultWorkspaceId": {
                        "type": "integer",
                        "description": "Workspace ID the user should land in by default when more than one Workspace is available."
                    },
                    "desktopConfigurationProfileId": {
                        "type": "integer",
                        "description": "Desktop Configuration Profile ID assigned directly to this user, if any."
                    },
                    "disabled": {
                        "type": "boolean",
                        "description": "Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting or schedule to be deactivated after specific date."
                    },
                    "disabledExpiredOrInactive": {
                        "type": "boolean",
                        "description": "Computed property that returns true if user disabled or expired or inactive."
                    },
                    "email": {
                        "type": "string",
                        "description": "User email address"
                    },
                    "externallyManaged": {
                        "type": "boolean",
                        "description": "Is this user managed by a SsoStrategy?"
                    },
                    "filesystemLayout": {
                        "type": "string",
                        "description": "File system layout"
                    },
                    "firstLoginAt": {
                        "type": "string",
                        "description": "User's first login time"
                    },
                    "ftpPermission": {
                        "type": "boolean",
                        "description": "Can the user access with FTP/FTPS?"
                    },
                    "grantPermission": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPermission to grant on the User Root upon user creation. Can be blank or \u003cspan pulumi-lang-nodejs=\"`full`\" pulumi-lang-dotnet=\"`Full`\" pulumi-lang-go=\"`full`\" pulumi-lang-python=\"`full`\" pulumi-lang-yaml=\"`full`\" pulumi-lang-java=\"`full`\" pulumi-lang-hcl=\"`full`\"\u003e`full`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\" pulumi-lang-hcl=\"`read`\"\u003e`read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`write`\" pulumi-lang-dotnet=\"`Write`\" pulumi-lang-go=\"`write`\" pulumi-lang-python=\"`write`\" pulumi-lang-yaml=\"`write`\" pulumi-lang-java=\"`write`\" pulumi-lang-hcl=\"`write`\"\u003e`write`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`list`\" pulumi-lang-dotnet=\"`List`\" pulumi-lang-go=\"`list`\" pulumi-lang-python=\"`list`\" pulumi-lang-yaml=\"`list`\" pulumi-lang-java=\"`list`\" pulumi-lang-hcl=\"`list`\"\u003e`list`\u003c/span\u003e, `read+write`, or `list+write`",
                        "secret": true
                    },
                    "groupId": {
                        "type": "integer",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nGroup ID to associate this user with.",
                        "secret": true
                    },
                    "groupIds": {
                        "type": "string",
                        "description": "Comma-separated list of group IDs of which this user is a member"
                    },
                    "headerText": {
                        "type": "string",
                        "description": "Text to display to the user in the header of the UI"
                    },
                    "importedPasswordHash": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPre-calculated hash of the user's password. If supplied, this will be used to authenticate the user on first login. Supported hash methods are MD5, SHA1, and SHA256.",
                        "secret": true
                    },
                    "integrationCentricProfileId": {
                        "type": "integer",
                        "description": "Integration Centric Profile ID assigned directly to this user, if any."
                    },
                    "language": {
                        "type": "string",
                        "description": "Preferred language"
                    },
                    "lastActiveAt": {
                        "type": "string",
                        "description": "User's most recent activity time, which is the latest of most recent login, most recent API use, enablement, or creation"
                    },
                    "lastApiUseAt": {
                        "type": "string",
                        "description": "User's most recent API use time"
                    },
                    "lastDavLoginAt": {
                        "type": "string",
                        "description": "User's most recent login time via WebDAV"
                    },
                    "lastDesktopLoginAt": {
                        "type": "string",
                        "description": "User's most recent login time via Desktop app"
                    },
                    "lastFtpLoginAt": {
                        "type": "string",
                        "description": "User's most recent login time via FTP"
                    },
                    "lastLoginAt": {
                        "type": "string",
                        "description": "User's most recent login time via any protocol"
                    },
                    "lastProtocolCipher": {
                        "type": "string",
                        "description": "The most recent protocol and cipher used"
                    },
                    "lastRestapiLoginAt": {
                        "type": "string",
                        "description": "User's most recent login time via Rest API"
                    },
                    "lastSftpLoginAt": {
                        "type": "string",
                        "description": "User's most recent login time via SFTP"
                    },
                    "lastWebLoginAt": {
                        "type": "string",
                        "description": "User's most recent login time via web"
                    },
                    "lockoutExpires": {
                        "type": "string",
                        "description": "Time in the future that the user will no longer be locked out if applicable"
                    },
                    "name": {
                        "type": "string",
                        "description": "User's full name"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Any internal notes on the user"
                    },
                    "notificationDailySendTime": {
                        "type": "integer",
                        "description": "Hour of the day at which daily notifications should be sent. Can be in range 0 to 23"
                    },
                    "notifyOnAllAutomationFailures": {
                        "type": "boolean",
                        "description": "Should the user receive automation failures via email?"
                    },
                    "notifyOnAllExpectationFailures": {
                        "type": "boolean",
                        "description": "Should the user receive expectation failures and misses via email?"
                    },
                    "notifyOnAllPendingWorkFailures": {
                        "type": "boolean",
                        "description": "Should the user receive pending work failures via email?"
                    },
                    "notifyOnAllSiemHttpDestinationFailures": {
                        "type": "boolean",
                        "description": "Should the user receive siem failures via email?"
                    },
                    "notifyOnAllSiteWarnings": {
                        "type": "boolean",
                        "description": "Should the user receive site warnings via email?"
                    },
                    "notifyOnAllSsoFailures": {
                        "type": "boolean",
                        "description": "Should the user receive sso/scim/ldap configuration/sync failures via email?"
                    },
                    "notifyOnAllSyncFailures": {
                        "type": "boolean",
                        "description": "Should the user receive sync failures via email?"
                    },
                    "notifyOnAllUserSecurityEvents": {
                        "type": "boolean",
                        "description": "Should the user receive user security events via email?"
                    },
                    "officeIntegrationEnabled": {
                        "type": "boolean",
                        "description": "Enable integration with Office for the web?"
                    },
                    "partnerAdmin": {
                        "type": "boolean",
                        "description": "Is this user a Partner administrator?"
                    },
                    "partnerId": {
                        "type": "integer",
                        "description": "Partner ID if this user belongs to a Partner"
                    },
                    "partnerName": {
                        "type": "string",
                        "description": "Name of the Partner if this user belongs to a Partner"
                    },
                    "password": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nUser password.",
                        "secret": true
                    },
                    "passwordConfirmation": {
                        "type": "string",
                        "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nOptional, but if provided, we will ensure that it matches the value sent in \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e.",
                        "secret": true
                    },
                    "passwordExpireAt": {
                        "type": "string",
                        "description": "Password expiration datetime"
                    },
                    "passwordExpired": {
                        "type": "boolean",
                        "description": "Is user's password expired?"
                    },
                    "passwordSetAt": {
                        "type": "string",
                        "description": "Last time the user's password was set"
                    },
                    "passwordValidityDays": {
                        "type": "integer",
                        "description": "Number of days to allow user to use the same password"
                    },
                    "primaryGroupId": {
                        "type": "integer",
                        "description": "Primary group ID for Group Admin scoping"
                    },
                    "publicKeysCount": {
                        "type": "integer",
                        "description": "Number of public keys associated with this user"
                    },
                    "readonlySiteAdmin": {
                        "type": "boolean",
                        "description": "Is the user an allowed to view all (non-billing) site configuration for this site?"
                    },
                    "receiveAdminAlerts": {
                        "type": "boolean",
                        "description": "Deprecated. Use\u003cspan pulumi-lang-nodejs=\" notifyOnAllSiteWarnings \" pulumi-lang-dotnet=\" NotifyOnAllSiteWarnings \" pulumi-lang-go=\" notifyOnAllSiteWarnings \" pulumi-lang-python=\" notify_on_all_site_warnings \" pulumi-lang-yaml=\" notifyOnAllSiteWarnings \" pulumi-lang-java=\" notifyOnAllSiteWarnings \" pulumi-lang-hcl=\" notify_on_all_site_warnings \"\u003e notifyOnAllSiteWarnings \u003c/span\u003eand granular failure notification preferences instead."
                    },
                    "require2fa": {
                        "type": "string",
                        "description": "2FA required setting. \u003cspan pulumi-lang-nodejs=\"`useSystemSetting`\" pulumi-lang-dotnet=\"`UseSystemSetting`\" pulumi-lang-go=\"`useSystemSetting`\" pulumi-lang-python=\"`use_system_setting`\" pulumi-lang-yaml=\"`useSystemSetting`\" pulumi-lang-java=\"`useSystemSetting`\" pulumi-lang-hcl=\"`use_system_setting`\"\u003e`useSystemSetting`\u003c/span\u003e uses the site-wide setting, including SSO exemptions. \u003cspan pulumi-lang-nodejs=\"`alwaysRequire`\" pulumi-lang-dotnet=\"`AlwaysRequire`\" pulumi-lang-go=\"`alwaysRequire`\" pulumi-lang-python=\"`always_require`\" pulumi-lang-yaml=\"`alwaysRequire`\" pulumi-lang-java=\"`alwaysRequire`\" pulumi-lang-hcl=\"`always_require`\"\u003e`alwaysRequire`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`neverRequire`\" pulumi-lang-dotnet=\"`NeverRequire`\" pulumi-lang-go=\"`neverRequire`\" pulumi-lang-python=\"`never_require`\" pulumi-lang-yaml=\"`neverRequire`\" pulumi-lang-java=\"`neverRequire`\" pulumi-lang-hcl=\"`never_require`\"\u003e`neverRequire`\u003c/span\u003e override the site-wide setting when user-level overrides are allowed."
                    },
                    "requireLoginBy": {
                        "type": "string",
                        "description": "Require user to login by specified date otherwise it will be disabled."
                    },
                    "requirePasswordChange": {
                        "type": "boolean",
                        "description": "Is a password change required upon next user login?"
                    },
                    "responsibleGroupId": {
                        "type": "integer",
                        "description": "ID of the internal Group responsible for this Partner User, overriding the Partner default."
                    },
                    "responsibleUserId": {
                        "type": "integer",
                        "description": "ID of the internal User responsible for this Partner User, overriding the Partner default."
                    },
                    "restapiPermission": {
                        "type": "boolean",
                        "description": "Can this user access the Web app, Desktop app, SDKs, or REST API?  (All of these tools use the API internally, so this is one unified permission set.)"
                    },
                    "selfManaged": {
                        "type": "boolean",
                        "description": "Does this user manage it's own credentials or is it a shared/bot user?"
                    },
                    "sftpPermission": {
                        "type": "boolean",
                        "description": "Can the user access with SFTP?"
                    },
                    "siteAdmin": {
                        "type": "boolean",
                        "description": "Is the user an administrator for this site?"
                    },
                    "siteId": {
                        "type": "integer",
                        "description": "Site ID"
                    },
                    "skipWelcomeScreen": {
                        "type": "boolean",
                        "description": "Skip Welcome page in the UI?"
                    },
                    "sslRequired": {
                        "type": "string",
                        "description": "SSL required setting"
                    },
                    "ssoStrategyId": {
                        "type": "integer",
                        "description": "SSO (Single Sign On) strategy ID for the user, if applicable."
                    },
                    "subscribeToNewsletter": {
                        "type": "boolean",
                        "description": "Is the user subscribed to the newsletter?"
                    },
                    "tags": {
                        "type": "string",
                        "description": "Comma-separated list of Tags for this user. Tags are used for other features, such as UserLifecycleRules, which can target specific tags.  Tags must only contain lowercase letters, numbers, and hyphens."
                    },
                    "timeZone": {
                        "type": "string",
                        "description": "User time zone"
                    },
                    "typeOf2fa": {
                        "type": "string",
                        "description": "Type(s) of 2FA methods in use, for programmatic use.  Will be either \u003cspan pulumi-lang-nodejs=\"`sms`\" pulumi-lang-dotnet=\"`Sms`\" pulumi-lang-go=\"`sms`\" pulumi-lang-python=\"`sms`\" pulumi-lang-yaml=\"`sms`\" pulumi-lang-java=\"`sms`\" pulumi-lang-hcl=\"`sms`\"\u003e`sms`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`totp`\" pulumi-lang-dotnet=\"`Totp`\" pulumi-lang-go=\"`totp`\" pulumi-lang-python=\"`totp`\" pulumi-lang-yaml=\"`totp`\" pulumi-lang-java=\"`totp`\" pulumi-lang-hcl=\"`totp`\"\u003e`totp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`webauthn`\" pulumi-lang-dotnet=\"`Webauthn`\" pulumi-lang-go=\"`webauthn`\" pulumi-lang-python=\"`webauthn`\" pulumi-lang-yaml=\"`webauthn`\" pulumi-lang-java=\"`webauthn`\" pulumi-lang-hcl=\"`webauthn`\"\u003e`webauthn`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`yubi`\" pulumi-lang-dotnet=\"`Yubi`\" pulumi-lang-go=\"`yubi`\" pulumi-lang-python=\"`yubi`\" pulumi-lang-yaml=\"`yubi`\" pulumi-lang-java=\"`yubi`\" pulumi-lang-hcl=\"`yubi`\"\u003e`yubi`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\" pulumi-lang-hcl=\"`email`\"\u003e`email`\u003c/span\u003e, or multiple values sorted alphabetically and joined by an underscore.  Does not specify whether user has more than one of a given method."
                    },
                    "typeOf2faForDisplay": {
                        "type": "string",
                        "description": "Type(s) of 2FA methods in use, formatted for displaying in the UI.  Unlike \u003cspan pulumi-lang-nodejs=\"`typeOf2fa`\" pulumi-lang-dotnet=\"`TypeOf2fa`\" pulumi-lang-go=\"`typeOf2fa`\" pulumi-lang-python=\"`type_of_2fa`\" pulumi-lang-yaml=\"`typeOf2fa`\" pulumi-lang-java=\"`typeOf2fa`\" pulumi-lang-hcl=\"`type_of_2fa`\"\u003e`typeOf2fa`\u003c/span\u003e, this value will make clear when a user has more than 1 of the same type of method."
                    },
                    "userHome": {
                        "type": "string",
                        "description": "Home folder for FTP/SFTP. For users with the\u003cspan pulumi-lang-nodejs=\" partnerRoot \" pulumi-lang-dotnet=\" PartnerRoot \" pulumi-lang-go=\" partnerRoot \" pulumi-lang-python=\" partner_root \" pulumi-lang-yaml=\" partnerRoot \" pulumi-lang-java=\" partnerRoot \" pulumi-lang-hcl=\" partner_root \"\u003e partnerRoot \u003c/span\u003efilesystem layout, this path is relative to the Partner root folder. In all other cases, it is an absolute path. Only applies to FTP and SFTP, and not any other interface."
                    },
                    "userRoot": {
                        "type": "string",
                        "description": "If filesystem layout is user_root, this path is the root path the user is fixed to for all interfaces. If the filesystem layout is\u003cspan pulumi-lang-nodejs=\" siteRoot \" pulumi-lang-dotnet=\" SiteRoot \" pulumi-lang-go=\" siteRoot \" pulumi-lang-python=\" site_root \" pulumi-lang-yaml=\" siteRoot \" pulumi-lang-java=\" siteRoot \" pulumi-lang-hcl=\" site_root \"\u003e siteRoot \u003c/span\u003eor partner_root, this acts as a root folder only for FTP and SFTP (SFTP applicability also requires a site-wide setting to be set). For\u003cspan pulumi-lang-nodejs=\" partnerRoot \" pulumi-lang-dotnet=\" PartnerRoot \" pulumi-lang-go=\" partnerRoot \" pulumi-lang-python=\" partner_root \" pulumi-lang-yaml=\" partnerRoot \" pulumi-lang-java=\" partnerRoot \" pulumi-lang-hcl=\" partner_root \"\u003e partnerRoot \u003c/span\u003elayout, this path is relative to the Partner root folder for all callers and blank opts out of an additional protocol root. In this situation, this path is not applied to the API, Desktop, or Web interface."
                    },
                    "username": {
                        "type": "string",
                        "description": "User's username\n"
                    },
                    "workspaceAdmin": {
                        "type": "boolean",
                        "description": "Is the user a Workspace administrator?  Applicable only to the workspace ID related to this user, if one is set."
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/userAdditionalEmailRecipient:UserAdditionalEmailRecipient": {
            "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleUserAdditionalEmailRecipient = new filescom.UserAdditionalEmailRecipient(\"example_user_additional_email_recipient\", {\n    userId: 1,\n    email: \"user-copy@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_user_additional_email_recipient = filescom.UserAdditionalEmailRecipient(\"example_user_additional_email_recipient\",\n    user_id=1,\n    email=\"user-copy@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleUserAdditionalEmailRecipient = new Filescom.UserAdditionalEmailRecipient(\"example_user_additional_email_recipient\", new()\n    {\n        UserId = 1,\n        Email = \"user-copy@example.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewUserAdditionalEmailRecipient(ctx, \"example_user_additional_email_recipient\", \u0026filescom.UserAdditionalEmailRecipientArgs{\n\t\t\tUserId: pulumi.Int(1),\n\t\t\tEmail:  pulumi.String(\"user-copy@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_useradditionalemailrecipient\" \"example_user_additional_email_recipient\" {\n  user_id = 1\n  email   = \"user-copy@example.com\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.UserAdditionalEmailRecipient;\nimport com.pulumi.filescom.UserAdditionalEmailRecipientArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleUserAdditionalEmailRecipient = new UserAdditionalEmailRecipient(\"exampleUserAdditionalEmailRecipient\", UserAdditionalEmailRecipientArgs.builder()\n            .userId(1)\n            .email(\"user-copy@example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleUserAdditionalEmailRecipient:\n    type: filescom:UserAdditionalEmailRecipient\n    name: example_user_additional_email_recipient\n    properties:\n      userId: 1\n      email: user-copy@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nUser Additional Email Recipients can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/userAdditionalEmailRecipient:UserAdditionalEmailRecipient example_user_additional_email_recipient 1\n```\n\n",
            "properties": {
                "createdAt": {
                    "type": "string",
                    "description": "Created at date/time\n"
                },
                "email": {
                    "type": "string",
                    "description": "Additional email recipient address\n"
                },
                "userId": {
                    "type": "integer",
                    "description": "User ID\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID (0 for default workspace).\n"
                }
            },
            "required": [
                "createdAt",
                "email",
                "userId",
                "workspaceId"
            ],
            "inputProperties": {
                "email": {
                    "type": "string",
                    "description": "Additional email recipient address\n"
                },
                "userId": {
                    "type": "integer",
                    "description": "User ID\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "email"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering UserAdditionalEmailRecipient resources.\n",
                "properties": {
                    "createdAt": {
                        "type": "string",
                        "description": "Created at date/time\n"
                    },
                    "email": {
                        "type": "string",
                        "description": "Additional email recipient address\n"
                    },
                    "userId": {
                        "type": "integer",
                        "description": "User ID\n"
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID (0 for default workspace).\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/userLifecycleRule:UserLifecycleRule": {
            "description": "A UserLifecycleRule represents a rule that applies to users based on their inactivity, state and authentication method.\n\n\n\nThe rule either disable or delete users who have been inactive or disabled for a specified number of days.\n\n\n\nThe\u003cspan pulumi-lang-nodejs=\" authenticationMethod \" pulumi-lang-dotnet=\" AuthenticationMethod \" pulumi-lang-go=\" authenticationMethod \" pulumi-lang-python=\" authentication_method \" pulumi-lang-yaml=\" authenticationMethod \" pulumi-lang-java=\" authenticationMethod \" pulumi-lang-hcl=\" authentication_method \"\u003e authenticationMethod \u003c/span\u003eproperty specifies the authentication method for the rule, which can be set to \"all\", \u003cspan pulumi-lang-nodejs=\"\"allNonSso\"\" pulumi-lang-dotnet=\"\"AllNonSso\"\" pulumi-lang-go=\"\"allNonSso\"\" pulumi-lang-python=\"\"all_non_sso\"\" pulumi-lang-yaml=\"\"allNonSso\"\" pulumi-lang-java=\"\"allNonSso\"\" pulumi-lang-hcl=\"\"all_non_sso\"\"\u003e\"allNonSso\"\u003c/span\u003e, or a specific authentication method.\n\n\n\nThe rule can also include or exclude site and folder admins from the action.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleUserLifecycleRule = new filescom.UserLifecycleRule(\"example_user_lifecycle_rule\", {\n    applyToAllWorkspaces: true,\n    authenticationMethod: \"all_non_sso\",\n    groupIds: [\n        1,\n        2,\n        3,\n    ],\n    inactivityDays: 12,\n    includeSiteAdmins: true,\n    includeFolderAdmins: true,\n    name: \"password specific rules\",\n    notifyUsers: true,\n    partnerTag: \"guest\",\n    userState: \"inactive\",\n    userTag: \"guest\",\n    workspaceId: 12,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_user_lifecycle_rule = filescom.UserLifecycleRule(\"example_user_lifecycle_rule\",\n    apply_to_all_workspaces=True,\n    authentication_method=\"all_non_sso\",\n    group_ids=[\n        1,\n        2,\n        3,\n    ],\n    inactivity_days=12,\n    include_site_admins=True,\n    include_folder_admins=True,\n    name=\"password specific rules\",\n    notify_users=True,\n    partner_tag=\"guest\",\n    user_state=\"inactive\",\n    user_tag=\"guest\",\n    workspace_id=12)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleUserLifecycleRule = new Filescom.UserLifecycleRule(\"example_user_lifecycle_rule\", new()\n    {\n        ApplyToAllWorkspaces = true,\n        AuthenticationMethod = \"all_non_sso\",\n        GroupIds = new[]\n        {\n            1,\n            2,\n            3,\n        },\n        InactivityDays = 12,\n        IncludeSiteAdmins = true,\n        IncludeFolderAdmins = true,\n        Name = \"password specific rules\",\n        NotifyUsers = true,\n        PartnerTag = \"guest\",\n        UserState = \"inactive\",\n        UserTag = \"guest\",\n        WorkspaceId = 12,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewUserLifecycleRule(ctx, \"example_user_lifecycle_rule\", \u0026filescom.UserLifecycleRuleArgs{\n\t\t\tApplyToAllWorkspaces: pulumi.Bool(true),\n\t\t\tAuthenticationMethod: pulumi.String(\"all_non_sso\"),\n\t\t\tGroupIds: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(2),\n\t\t\t\tpulumi.Int(3),\n\t\t\t},\n\t\t\tInactivityDays:      pulumi.Int(12),\n\t\t\tIncludeSiteAdmins:   pulumi.Bool(true),\n\t\t\tIncludeFolderAdmins: pulumi.Bool(true),\n\t\t\tName:                pulumi.String(\"password specific rules\"),\n\t\t\tNotifyUsers:         pulumi.Bool(true),\n\t\t\tPartnerTag:          pulumi.String(\"guest\"),\n\t\t\tUserState:           pulumi.String(\"inactive\"),\n\t\t\tUserTag:             pulumi.String(\"guest\"),\n\t\t\tWorkspaceId:         pulumi.Int(12),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_userlifecyclerule\" \"example_user_lifecycle_rule\" {\n  apply_to_all_workspaces = true\n  authentication_method   = \"all_non_sso\"\n  group_ids               = [1, 2, 3]\n  inactivity_days         = 12\n  include_site_admins     = true\n  include_folder_admins   = true\n  name                    = \"password specific rules\"\n  notify_users            = true\n  partner_tag             = \"guest\"\n  user_state              = \"inactive\"\n  user_tag                = \"guest\"\n  workspace_id            = 12\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.UserLifecycleRule;\nimport com.pulumi.filescom.UserLifecycleRuleArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleUserLifecycleRule = new UserLifecycleRule(\"exampleUserLifecycleRule\", UserLifecycleRuleArgs.builder()\n            .applyToAllWorkspaces(true)\n            .authenticationMethod(\"all_non_sso\")\n            .groupIds(            \n                1,\n                2,\n                3)\n            .inactivityDays(12)\n            .includeSiteAdmins(true)\n            .includeFolderAdmins(true)\n            .name(\"password specific rules\")\n            .notifyUsers(true)\n            .partnerTag(\"guest\")\n            .userState(\"inactive\")\n            .userTag(\"guest\")\n            .workspaceId(12)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleUserLifecycleRule:\n    type: filescom:UserLifecycleRule\n    name: example_user_lifecycle_rule\n    properties:\n      applyToAllWorkspaces: true\n      authenticationMethod: all_non_sso\n      groupIds:\n        - 1\n        - 2\n        - 3\n      inactivityDays: 12\n      includeSiteAdmins: true\n      includeFolderAdmins: true\n      name: password specific rules\n      notifyUsers: true\n      partnerTag: guest\n      userState: inactive\n      userTag: guest\n      workspaceId: 12\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nUser Lifecycle Rules can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/userLifecycleRule:UserLifecycleRule example_user_lifecycle_rule 1\n```\n\n",
            "properties": {
                "action": {
                    "type": "string",
                    "description": "Action to take on inactive users (disable or delete)\n"
                },
                "applyToAllWorkspaces": {
                    "type": "boolean",
                    "description": "If true, a default-workspace rule also applies to users in all workspaces.\n"
                },
                "authenticationMethod": {
                    "type": "string",
                    "description": "User authentication method for which the rule will apply. Use \u003cspan pulumi-lang-nodejs=\"`allNonSso`\" pulumi-lang-dotnet=\"`AllNonSso`\" pulumi-lang-go=\"`allNonSso`\" pulumi-lang-python=\"`all_non_sso`\" pulumi-lang-yaml=\"`allNonSso`\" pulumi-lang-java=\"`allNonSso`\" pulumi-lang-hcl=\"`all_non_sso`\"\u003e`allNonSso`\u003c/span\u003e to target every non-SSO authentication method with one rule.\n"
                },
                "groupIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Array of Group IDs to which the rule applies. If empty or not set, the rule applies to all users.\n"
                },
                "inactivityDays": {
                    "type": "integer",
                    "description": "Number of days of inactivity before the rule applies\n"
                },
                "includeFolderAdmins": {
                    "type": "boolean",
                    "description": "If true, the rule will apply to folder admins.\n"
                },
                "includeSiteAdmins": {
                    "type": "boolean",
                    "description": "If true, the rule will apply to site admins.\n"
                },
                "name": {
                    "type": "string",
                    "description": "User Lifecycle Rule name\n"
                },
                "notifyUsers": {
                    "type": "boolean",
                    "description": "If true, users will be emailed before the rule disables or deletes them.\n"
                },
                "partnerTag": {
                    "type": "string",
                    "description": "If provided, only users belonging to Partners with this tag at the Partner level will be affected by the rule. Tags must only contain lowercase letters, numbers, and hyphens.\n"
                },
                "siteId": {
                    "type": "integer",
                    "description": "Site ID\n"
                },
                "userState": {
                    "type": "string",
                    "description": "State of the users to apply the rule to (inactive or disabled)\n"
                },
                "userTag": {
                    "type": "string",
                    "description": "If provided, only users with this tag will be affected by the rule. Tags must only contain lowercase letters, numbers, and hyphens.\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n"
                }
            },
            "required": [
                "action",
                "applyToAllWorkspaces",
                "authenticationMethod",
                "groupIds",
                "inactivityDays",
                "includeFolderAdmins",
                "includeSiteAdmins",
                "name",
                "notifyUsers",
                "partnerTag",
                "siteId",
                "userState",
                "userTag",
                "workspaceId"
            ],
            "inputProperties": {
                "action": {
                    "type": "string",
                    "description": "Action to take on inactive users (disable or delete)\n"
                },
                "applyToAllWorkspaces": {
                    "type": "boolean",
                    "description": "If true, a default-workspace rule also applies to users in all workspaces.\n"
                },
                "authenticationMethod": {
                    "type": "string",
                    "description": "User authentication method for which the rule will apply. Use \u003cspan pulumi-lang-nodejs=\"`allNonSso`\" pulumi-lang-dotnet=\"`AllNonSso`\" pulumi-lang-go=\"`allNonSso`\" pulumi-lang-python=\"`all_non_sso`\" pulumi-lang-yaml=\"`allNonSso`\" pulumi-lang-java=\"`allNonSso`\" pulumi-lang-hcl=\"`all_non_sso`\"\u003e`allNonSso`\u003c/span\u003e to target every non-SSO authentication method with one rule.\n"
                },
                "groupIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "Array of Group IDs to which the rule applies. If empty or not set, the rule applies to all users.\n"
                },
                "inactivityDays": {
                    "type": "integer",
                    "description": "Number of days of inactivity before the rule applies\n"
                },
                "includeFolderAdmins": {
                    "type": "boolean",
                    "description": "If true, the rule will apply to folder admins.\n"
                },
                "includeSiteAdmins": {
                    "type": "boolean",
                    "description": "If true, the rule will apply to site admins.\n"
                },
                "name": {
                    "type": "string",
                    "description": "User Lifecycle Rule name\n"
                },
                "notifyUsers": {
                    "type": "boolean",
                    "description": "If true, users will be emailed before the rule disables or deletes them.\n"
                },
                "partnerTag": {
                    "type": "string",
                    "description": "If provided, only users belonging to Partners with this tag at the Partner level will be affected by the rule. Tags must only contain lowercase letters, numbers, and hyphens.\n"
                },
                "userState": {
                    "type": "string",
                    "description": "State of the users to apply the rule to (inactive or disabled)\n"
                },
                "userTag": {
                    "type": "string",
                    "description": "If provided, only users with this tag will be affected by the rule. Tags must only contain lowercase letters, numbers, and hyphens.\n"
                },
                "workspaceId": {
                    "type": "integer",
                    "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n"
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering UserLifecycleRule resources.\n",
                "properties": {
                    "action": {
                        "type": "string",
                        "description": "Action to take on inactive users (disable or delete)\n"
                    },
                    "applyToAllWorkspaces": {
                        "type": "boolean",
                        "description": "If true, a default-workspace rule also applies to users in all workspaces.\n"
                    },
                    "authenticationMethod": {
                        "type": "string",
                        "description": "User authentication method for which the rule will apply. Use \u003cspan pulumi-lang-nodejs=\"`allNonSso`\" pulumi-lang-dotnet=\"`AllNonSso`\" pulumi-lang-go=\"`allNonSso`\" pulumi-lang-python=\"`all_non_sso`\" pulumi-lang-yaml=\"`allNonSso`\" pulumi-lang-java=\"`allNonSso`\" pulumi-lang-hcl=\"`all_non_sso`\"\u003e`allNonSso`\u003c/span\u003e to target every non-SSO authentication method with one rule.\n"
                    },
                    "groupIds": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "Array of Group IDs to which the rule applies. If empty or not set, the rule applies to all users.\n"
                    },
                    "inactivityDays": {
                        "type": "integer",
                        "description": "Number of days of inactivity before the rule applies\n"
                    },
                    "includeFolderAdmins": {
                        "type": "boolean",
                        "description": "If true, the rule will apply to folder admins.\n"
                    },
                    "includeSiteAdmins": {
                        "type": "boolean",
                        "description": "If true, the rule will apply to site admins.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "User Lifecycle Rule name\n"
                    },
                    "notifyUsers": {
                        "type": "boolean",
                        "description": "If true, users will be emailed before the rule disables or deletes them.\n"
                    },
                    "partnerTag": {
                        "type": "string",
                        "description": "If provided, only users belonging to Partners with this tag at the Partner level will be affected by the rule. Tags must only contain lowercase letters, numbers, and hyphens.\n"
                    },
                    "siteId": {
                        "type": "integer",
                        "description": "Site ID\n"
                    },
                    "userState": {
                        "type": "string",
                        "description": "State of the users to apply the rule to (inactive or disabled)\n"
                    },
                    "userTag": {
                        "type": "string",
                        "description": "If provided, only users with this tag will be affected by the rule. Tags must only contain lowercase letters, numbers, and hyphens.\n"
                    },
                    "workspaceId": {
                        "type": "integer",
                        "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/userRequest:UserRequest": {
            "description": "A UserRequest is an operation that allows anonymous users to place a request for access on the login screen to the site administrator.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleUserRequest = new filescom.UserRequest(\"example_user_request\", {\n    name: \"name\",\n    email: \"email\",\n    details: \"details\",\n    company: \"Acme Inc.\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_user_request = filescom.UserRequest(\"example_user_request\",\n    name=\"name\",\n    email=\"email\",\n    details=\"details\",\n    company=\"Acme Inc.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleUserRequest = new Filescom.UserRequest(\"example_user_request\", new()\n    {\n        Name = \"name\",\n        Email = \"email\",\n        Details = \"details\",\n        Company = \"Acme Inc.\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewUserRequest(ctx, \"example_user_request\", \u0026filescom.UserRequestArgs{\n\t\t\tName:    pulumi.String(\"name\"),\n\t\t\tEmail:   pulumi.String(\"email\"),\n\t\t\tDetails: pulumi.String(\"details\"),\n\t\t\tCompany: pulumi.String(\"Acme Inc.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_userrequest\" \"example_user_request\" {\n  name    = \"name\"\n  email   = \"email\"\n  details = \"details\"\n  company = \"Acme Inc.\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.UserRequest;\nimport com.pulumi.filescom.UserRequestArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleUserRequest = new UserRequest(\"exampleUserRequest\", UserRequestArgs.builder()\n            .name(\"name\")\n            .email(\"email\")\n            .details(\"details\")\n            .company(\"Acme Inc.\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleUserRequest:\n    type: filescom:UserRequest\n    name: example_user_request\n    properties:\n      name: name\n      email: email\n      details: details\n      company: Acme Inc.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nUser Requests can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/userRequest:UserRequest example_user_request 1\n```\n\n",
            "properties": {
                "company": {
                    "type": "string",
                    "description": "User's company name\n"
                },
                "details": {
                    "type": "string",
                    "description": "Details of the user's request\n"
                },
                "email": {
                    "type": "string",
                    "description": "User email address\n"
                },
                "name": {
                    "type": "string",
                    "description": "User's full name\n"
                }
            },
            "required": [
                "company",
                "details",
                "email",
                "name"
            ],
            "inputProperties": {
                "company": {
                    "type": "string",
                    "description": "User's company name\n",
                    "willReplaceOnChanges": true
                },
                "details": {
                    "type": "string",
                    "description": "Details of the user's request\n",
                    "willReplaceOnChanges": true
                },
                "email": {
                    "type": "string",
                    "description": "User email address\n",
                    "willReplaceOnChanges": true
                },
                "name": {
                    "type": "string",
                    "description": "User's full name\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "details",
                "email"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering UserRequest resources.\n",
                "properties": {
                    "company": {
                        "type": "string",
                        "description": "User's company name\n"
                    },
                    "details": {
                        "type": "string",
                        "description": "Details of the user's request\n"
                    },
                    "email": {
                        "type": "string",
                        "description": "User email address\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "User's full name\n"
                    }
                },
                "type": "object"
            }
        },
        "filescom:index/workspace:Workspace": {
            "description": "A Workspace is a lightweight way to organize related resources inside a single Files.com Site.\n\n\n\nCustomers commonly group resources by project, department, client, or region. Workspaces provide a built-in structure for that grouping, so the UI can operate within a clear “workspace context” and admins can delegate management for a subset of resources without requiring full site-level isolation.\n\n\n\nEvery Site has an implicit Default workspace (ID 0). Resources that are not explicitly assigned to a named workspace are considered part of the Default workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleWorkspace = new filescom.Workspace(\"example_workspace\", {name: \"Project Alpha\"});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_workspace = filescom.Workspace(\"example_workspace\", name=\"Project Alpha\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleWorkspace = new Filescom.Workspace(\"example_workspace\", new()\n    {\n        Name = \"Project Alpha\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.NewWorkspace(ctx, \"example_workspace\", \u0026filescom.WorkspaceArgs{\n\t\t\tName: pulumi.String(\"Project Alpha\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\nresource \"filescom_workspace\" \"example_workspace\" {\n  name = \"Project Alpha\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.Workspace;\nimport com.pulumi.filescom.WorkspaceArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n            .name(\"Project Alpha\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleWorkspace:\n    type: filescom:Workspace\n    name: example_workspace\n    properties:\n      name: Project Alpha\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nWorkspaces can be imported by specifying the id.\n\n```sh\n$ pulumi import filescom:index/workspace:Workspace example_workspace 1\n```\n\n",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Workspace name\n"
                }
            },
            "required": [
                "name"
            ],
            "inputProperties": {
                "name": {
                    "type": "string",
                    "description": "Workspace name\n"
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Workspace resources.\n",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Workspace name\n"
                    }
                },
                "type": "object"
            }
        }
    },
    "functions": {
        "filescom:index/getActionNotificationExport:getActionNotificationExport": {
            "description": "An ActionNotificationExport is an operation that provides access to outgoing webhook logs. Querying webhook logs is a little different than other APIs.\n\n\n\nAll queries against the archive must be submitted as Exports. (Even our Web UI creates an Export behind the scenes.)\n\n\n\nIn any query field in this API, you may specify multiple values separated by commas. That means that commas\n\ncannot be searched for themselves, and neither can single quotation marks.\n\n\n\nUse the following steps to complete an export:\n\n\n\n1. Initiate the export by using the Create Action Notification Export endpoint. Non Site Admins must query by folder or path.\n\n2. Using the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\" pulumi-lang-hcl=\"`id`\"\u003e`id`\u003c/span\u003e from the response to step 1, poll the Show Action Notification Export endpoint. Check the \u003cspan pulumi-lang-nodejs=\"`status`\" pulumi-lang-dotnet=\"`Status`\" pulumi-lang-go=\"`status`\" pulumi-lang-python=\"`status`\" pulumi-lang-yaml=\"`status`\" pulumi-lang-java=\"`status`\" pulumi-lang-hcl=\"`status`\"\u003e`status`\u003c/span\u003e field until it is \u003cspan pulumi-lang-nodejs=\"`ready`\" pulumi-lang-dotnet=\"`Ready`\" pulumi-lang-go=\"`ready`\" pulumi-lang-python=\"`ready`\" pulumi-lang-yaml=\"`ready`\" pulumi-lang-java=\"`ready`\" pulumi-lang-hcl=\"`ready`\"\u003e`ready`\u003c/span\u003e.\n\n3. You can download the results of the export as a CSV file using the \u003cspan pulumi-lang-nodejs=\"`resultsUrl`\" pulumi-lang-dotnet=\"`ResultsUrl`\" pulumi-lang-go=\"`resultsUrl`\" pulumi-lang-python=\"`results_url`\" pulumi-lang-yaml=\"`resultsUrl`\" pulumi-lang-java=\"`resultsUrl`\" pulumi-lang-hcl=\"`results_url`\"\u003e`resultsUrl`\u003c/span\u003e field in the response from step 2. If you want to page through the records in JSON format, use the List Action Notification Export Results endpoint, passing the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\" pulumi-lang-hcl=\"`id`\"\u003e`id`\u003c/span\u003e that you got in step 1 as the \u003cspan pulumi-lang-nodejs=\"`actionNotificationExportId`\" pulumi-lang-dotnet=\"`ActionNotificationExportId`\" pulumi-lang-go=\"`actionNotificationExportId`\" pulumi-lang-python=\"`action_notification_export_id`\" pulumi-lang-yaml=\"`actionNotificationExportId`\" pulumi-lang-java=\"`actionNotificationExportId`\" pulumi-lang-hcl=\"`action_notification_export_id`\"\u003e`actionNotificationExportId`\u003c/span\u003e parameter. Check the `X-Files-Cursor-Next` header to see if there are more records available, and resubmit the same request with a \u003cspan pulumi-lang-nodejs=\"`cursor`\" pulumi-lang-dotnet=\"`Cursor`\" pulumi-lang-go=\"`cursor`\" pulumi-lang-python=\"`cursor`\" pulumi-lang-yaml=\"`cursor`\" pulumi-lang-java=\"`cursor`\" pulumi-lang-hcl=\"`cursor`\"\u003e`cursor`\u003c/span\u003e parameter to fetch the next page of results. Unlike most API Endpoints, this endpoint does not provide `X-Files-Cursor-Prev` cursors allowing reverse pagination through the results. This is due to limitations in Amazon Athena, the underlying data lake for these records.\n\n\n\nIf you intend to use this API for high volume or automated use, please contact us with more information\n\nabout your use case.\n\n\n\n## Example Queries\n\n\n\n* History for a folder: `{ \u003cspan pulumi-lang-nodejs=\"\"queryFolder\"\" pulumi-lang-dotnet=\"\"QueryFolder\"\" pulumi-lang-go=\"\"queryFolder\"\" pulumi-lang-python=\"\"query_folder\"\" pulumi-lang-yaml=\"\"queryFolder\"\" pulumi-lang-java=\"\"queryFolder\"\" pulumi-lang-hcl=\"\"query_folder\"\"\u003e\"queryFolder\"\u003c/span\u003e: \"path/to/folder\" }`\n\n* History for a range of time: `{ \u003cspan pulumi-lang-nodejs=\"\"startAt\"\" pulumi-lang-dotnet=\"\"StartAt\"\" pulumi-lang-go=\"\"startAt\"\" pulumi-lang-python=\"\"start_at\"\" pulumi-lang-yaml=\"\"startAt\"\" pulumi-lang-java=\"\"startAt\"\" pulumi-lang-hcl=\"\"start_at\"\"\u003e\"startAt\"\u003c/span\u003e: \"2021-03-18 12:00:00\", \u003cspan pulumi-lang-nodejs=\"\"endAt\"\" pulumi-lang-dotnet=\"\"EndAt\"\" pulumi-lang-go=\"\"endAt\"\" pulumi-lang-python=\"\"end_at\"\" pulumi-lang-yaml=\"\"endAt\"\" pulumi-lang-java=\"\"endAt\"\" pulumi-lang-hcl=\"\"end_at\"\"\u003e\"endAt\"\u003c/span\u003e: \"2021-03-19 12:00:00\" }`\n\n* History of all notifications that used GET or POST: `{ \u003cspan pulumi-lang-nodejs=\"\"queryRequestMethod\"\" pulumi-lang-dotnet=\"\"QueryRequestMethod\"\" pulumi-lang-go=\"\"queryRequestMethod\"\" pulumi-lang-python=\"\"query_request_method\"\" pulumi-lang-yaml=\"\"queryRequestMethod\"\" pulumi-lang-java=\"\"queryRequestMethod\"\" pulumi-lang-hcl=\"\"query_request_method\"\"\u003e\"queryRequestMethod\"\u003c/span\u003e: \"GET,POST\" }`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleActionNotificationExport = filescom.getActionNotificationExport({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_action_notification_export = filescom.get_action_notification_export(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleActionNotificationExport = Filescom.GetActionNotificationExport.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetActionNotificationExport(ctx, \u0026filescom.GetActionNotificationExportArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getactionnotificationexport\" \"exampleActionNotificationExport\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetActionNotificationExportArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleActionNotificationExport = FilescomFunctions.getActionNotificationExport(GetActionNotificationExportArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleActionNotificationExport:\n    fn::invoke:\n      function: filescom:getActionNotificationExport\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getActionNotificationExport.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "History Export ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getActionNotificationExport.\n",
                "properties": {
                    "endAt": {
                        "description": "End date/time of export range.\n",
                        "type": "string"
                    },
                    "exportVersion": {
                        "description": "Version of the underlying records for the export.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "History Export ID\n",
                        "type": "integer"
                    },
                    "queryFolder": {
                        "description": "Return notifications that were triggered by actions in this folder.\n",
                        "type": "string"
                    },
                    "queryMessage": {
                        "description": "Error message associated with the request, if any.\n",
                        "type": "string"
                    },
                    "queryPath": {
                        "description": "Return notifications that were triggered by actions on this specific path.\n",
                        "type": "string"
                    },
                    "queryRequestMethod": {
                        "description": "The HTTP request method used by the webhook.\n",
                        "type": "string"
                    },
                    "queryRequestUrl": {
                        "description": "The target webhook URL.\n",
                        "type": "string"
                    },
                    "queryStatus": {
                        "description": "The HTTP status returned from the server in response to the webhook request.\n",
                        "type": "string"
                    },
                    "querySuccess": {
                        "description": "true if the webhook request succeeded (i.e. returned a 200 or 204 response status). false otherwise.\n",
                        "type": "boolean"
                    },
                    "resultsUrl": {
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`status`\" pulumi-lang-dotnet=\"`Status`\" pulumi-lang-go=\"`status`\" pulumi-lang-python=\"`status`\" pulumi-lang-yaml=\"`status`\" pulumi-lang-java=\"`status`\" pulumi-lang-hcl=\"`status`\"\u003e`status`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`ready`\" pulumi-lang-dotnet=\"`Ready`\" pulumi-lang-go=\"`ready`\" pulumi-lang-python=\"`ready`\" pulumi-lang-yaml=\"`ready`\" pulumi-lang-java=\"`ready`\" pulumi-lang-hcl=\"`ready`\"\u003e`ready`\u003c/span\u003e, this will be a URL where all the results can be downloaded at once as a CSV.\n",
                        "type": "string"
                    },
                    "startAt": {
                        "description": "Start date/time of export range.\n",
                        "type": "string"
                    },
                    "status": {
                        "description": "Status of export.  Valid values: \u003cspan pulumi-lang-nodejs=\"`building`\" pulumi-lang-dotnet=\"`Building`\" pulumi-lang-go=\"`building`\" pulumi-lang-python=\"`building`\" pulumi-lang-yaml=\"`building`\" pulumi-lang-java=\"`building`\" pulumi-lang-hcl=\"`building`\"\u003e`building`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ready`\" pulumi-lang-dotnet=\"`Ready`\" pulumi-lang-go=\"`ready`\" pulumi-lang-python=\"`ready`\" pulumi-lang-yaml=\"`ready`\" pulumi-lang-java=\"`ready`\" pulumi-lang-hcl=\"`ready`\"\u003e`ready`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\" pulumi-lang-hcl=\"`failed`\"\u003e`failed`\u003c/span\u003e\n",
                        "type": "string"
                    }
                },
                "required": [
                    "endAt",
                    "exportVersion",
                    "id",
                    "queryFolder",
                    "queryMessage",
                    "queryPath",
                    "queryRequestMethod",
                    "queryRequestUrl",
                    "queryStatus",
                    "querySuccess",
                    "resultsUrl",
                    "startAt",
                    "status"
                ],
                "type": "object"
            }
        },
        "filescom:index/getAiAssistantPersonality:getAiAssistantPersonality": {
            "description": "An AI Assistant Personality defines a system prompt used to customize the in-app AI Assistant.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleAiAssistantPersonality = filescom.getAiAssistantPersonality({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_ai_assistant_personality = filescom.get_ai_assistant_personality(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleAiAssistantPersonality = Filescom.GetAiAssistantPersonality.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetAiAssistantPersonality(ctx, \u0026filescom.LookupAiAssistantPersonalityArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getaiassistantpersonality\" \"exampleAiAssistantPersonality\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetAiAssistantPersonalityArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleAiAssistantPersonality = FilescomFunctions.getAiAssistantPersonality(GetAiAssistantPersonalityArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleAiAssistantPersonality:\n    fn::invoke:\n      function: filescom:getAiAssistantPersonality\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getAiAssistantPersonality.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "AI Assistant Personality ID.\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getAiAssistantPersonality.\n",
                "properties": {
                    "applyToAllWorkspaces": {
                        "description": "If true, this default-workspace personality can apply to users in all workspaces.\n",
                        "type": "boolean"
                    },
                    "createdAt": {
                        "description": "Creation time.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "AI Assistant Personality ID.\n",
                        "type": "integer"
                    },
                    "name": {
                        "description": "AI Assistant Personality name.\n",
                        "type": "string"
                    },
                    "systemPrompt": {
                        "description": "System prompt injected into the in-app AI Assistant.\n",
                        "type": "string"
                    },
                    "updatedAt": {
                        "description": "Last update time.\n",
                        "type": "string"
                    },
                    "useByDefault": {
                        "description": "Whether this personality is the default personality for the Workspace.\n",
                        "type": "boolean"
                    },
                    "workspaceId": {
                        "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "applyToAllWorkspaces",
                    "createdAt",
                    "id",
                    "name",
                    "systemPrompt",
                    "updatedAt",
                    "useByDefault",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getAiTask:getAiTask": {
            "description": "An AI Task defines a Files.com AI prompt that can run on a schedule or in response to file actions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleAiTask = filescom.getAiTask({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_ai_task = filescom.get_ai_task(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleAiTask = Filescom.GetAiTask.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetAiTask(ctx, \u0026filescom.LookupAiTaskArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getaitask\" \"exampleAiTask\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetAiTaskArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleAiTask = FilescomFunctions.getAiTask(GetAiTaskArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleAiTask:\n    fn::invoke:\n      function: filescom:getAiTask\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getAiTask.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "AI Task ID.\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getAiTask.\n",
                "properties": {
                    "createdAt": {
                        "description": "Creation time.\n",
                        "type": "string"
                    },
                    "description": {
                        "description": "AI Task description.\n",
                        "type": "string"
                    },
                    "disabled": {
                        "description": "If true, this AI Task will not run.\n",
                        "type": "boolean"
                    },
                    "holidayRegion": {
                        "description": "Optional holiday region used by the AI Task schedule.\n",
                        "type": "string"
                    },
                    "humanReadableSchedule": {
                        "description": "Human-readable schedule description.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "AI Task ID.\n",
                        "type": "integer"
                    },
                    "interval": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies how often to run the AI Task.\n",
                        "type": "string"
                    },
                    "lastRunAt": {
                        "description": "Most recent successful invocation time.\n",
                        "type": "string"
                    },
                    "masterAdminUserId": {
                        "description": "Master User ID used for AI Task invocations.\n",
                        "type": "integer"
                    },
                    "name": {
                        "description": "AI Task name.\n",
                        "type": "string"
                    },
                    "path": {
                        "description": "Path scope used for action-triggered AI Tasks. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n",
                        "type": "string"
                    },
                    "permissionSet": {
                        "description": "Permissions used by the internal API key for this AI Task. Valid values are \u003cspan pulumi-lang-nodejs=\"`full`\" pulumi-lang-dotnet=\"`Full`\" pulumi-lang-go=\"`full`\" pulumi-lang-python=\"`full`\" pulumi-lang-yaml=\"`full`\" pulumi-lang-java=\"`full`\" pulumi-lang-hcl=\"`full`\"\u003e`full`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`filesOnly`\" pulumi-lang-dotnet=\"`FilesOnly`\" pulumi-lang-go=\"`filesOnly`\" pulumi-lang-python=\"`files_only`\" pulumi-lang-yaml=\"`filesOnly`\" pulumi-lang-java=\"`filesOnly`\" pulumi-lang-hcl=\"`files_only`\"\u003e`filesOnly`\u003c/span\u003e.\n",
                        "type": "string"
                    },
                    "prompt": {
                        "description": "Prompt sent when this AI Task is invoked.\n",
                        "type": "string"
                    },
                    "recurringDay": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this selects the day number inside the chosen interval.\n",
                        "type": "integer"
                    },
                    "recurringDays": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this selects one or more day numbers inside a \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e interval.\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "scheduleDaysOfWeeks": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the 0-based weekdays used by the schedule.\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "scheduleId": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the reusable Schedule used instead of the AI Task's schedule fields.\n",
                        "type": "integer"
                    },
                    "scheduleTimeZone": {
                        "description": "Time zone used by the AI Task schedule.\n",
                        "type": "string"
                    },
                    "scheduleTimesOfDays": {
                        "description": "Times of day in HH:MM format for the AI Task schedule.\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "source": {
                        "description": "Source glob used with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e for action-triggered AI Tasks.\n",
                        "type": "string"
                    },
                    "trigger": {
                        "description": "How this AI Task is triggered.\n",
                        "type": "string"
                    },
                    "triggerActions": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\" pulumi-lang-hcl=\"`action`\"\u003e`action`\u003c/span\u003e, the file action types that invoke this AI Task. Valid actions are create, copy, move, archived_delete, update, read, destroy.\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "updatedAt": {
                        "description": "Last update time.\n",
                        "type": "string"
                    },
                    "workspaceId": {
                        "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "createdAt",
                    "description",
                    "disabled",
                    "holidayRegion",
                    "humanReadableSchedule",
                    "id",
                    "interval",
                    "lastRunAt",
                    "masterAdminUserId",
                    "name",
                    "path",
                    "permissionSet",
                    "prompt",
                    "recurringDay",
                    "recurringDays",
                    "scheduleDaysOfWeeks",
                    "scheduleId",
                    "scheduleTimeZone",
                    "scheduleTimesOfDays",
                    "source",
                    "trigger",
                    "triggerActions",
                    "updatedAt",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getApiKey:getApiKey": {
            "description": "An APIKey is a key that allows programmatic access to your Site.\n\n\n\nAPI keys confer all the permissions of the user who owns them unless the key uses a restricted permission set.\n\nIf an API key is created without a user owner, it is considered a site-wide API key. Site-wide API keys with the \u003cspan pulumi-lang-nodejs=\"`filesOnly`\" pulumi-lang-dotnet=\"`FilesOnly`\" pulumi-lang-go=\"`filesOnly`\" pulumi-lang-python=\"`files_only`\" pulumi-lang-yaml=\"`filesOnly`\" pulumi-lang-java=\"`filesOnly`\" pulumi-lang-hcl=\"`files_only`\"\u003e`filesOnly`\u003c/span\u003e permission set are restricted to file-user permissions and workspace scoping.\n\n\n\nWe recommend registering API keys to service users wherever possible and then using User or Group Permissions to restrict that API Key appropriately.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleApiKey = filescom.getApiKey({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_api_key = filescom.get_api_key(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleApiKey = Filescom.GetApiKey.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetApiKey(ctx, \u0026filescom.LookupApiKeyArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getapikey\" \"exampleApiKey\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetApiKeyArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleApiKey = FilescomFunctions.getApiKey(GetApiKeyArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleApiKey:\n    fn::invoke:\n      function: filescom:getApiKey\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getApiKey.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "API Key ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getApiKey.\n",
                "properties": {
                    "awsAccessKeyId": {
                        "description": "AWS Access Key ID to use with AWS-compatible endpoints, such as our Inbound S3-compatible endpoint.\n",
                        "type": "string"
                    },
                    "awsSecretKey": {
                        "description": "AWS Secret Key to use with AWS-compatible endpoints, such as our Inbound S3-compatible endpoint.\n",
                        "secret": true,
                        "type": "string"
                    },
                    "awsStyleCredentials": {
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, this API key will be usable with AWS-compatible endpoints, such as our Inbound S3-compatible endpoint.\n",
                        "type": "boolean"
                    },
                    "createdAt": {
                        "description": "Time which API Key was created\n",
                        "type": "string"
                    },
                    "description": {
                        "description": "User-supplied description of API key.\n",
                        "type": "string"
                    },
                    "descriptiveLabel": {
                        "description": "Unique label that describes this API key.  Useful for external systems where you may have API keys from multiple accounts and want a human-readable label for each key.\n",
                        "type": "string"
                    },
                    "expiresAt": {
                        "description": "API Key expiration date\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "API Key ID\n",
                        "type": "integer"
                    },
                    "key": {
                        "description": "API Key actual key string\n",
                        "secret": true,
                        "type": "string"
                    },
                    "lastUseAt": {
                        "description": "API Key last used - note this value is only updated once per 3 hour period, so the 'actual' time of last use may be up to 3 hours later than this timestamp.\n",
                        "type": "string"
                    },
                    "name": {
                        "description": "Internal name for the API Key.  For your use.\n",
                        "type": "string"
                    },
                    "permissionSet": {
                        "description": "Permissions for this API Key. Keys with the \u003cspan pulumi-lang-nodejs=\"`desktopApp`\" pulumi-lang-dotnet=\"`DesktopApp`\" pulumi-lang-go=\"`desktopApp`\" pulumi-lang-python=\"`desktop_app`\" pulumi-lang-yaml=\"`desktopApp`\" pulumi-lang-java=\"`desktopApp`\" pulumi-lang-hcl=\"`desktop_app`\"\u003e`desktopApp`\u003c/span\u003e permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the \u003cspan pulumi-lang-nodejs=\"`officeIntegration`\" pulumi-lang-dotnet=\"`OfficeIntegration`\" pulumi-lang-go=\"`officeIntegration`\" pulumi-lang-python=\"`office_integration`\" pulumi-lang-yaml=\"`officeIntegration`\" pulumi-lang-java=\"`officeIntegration`\" pulumi-lang-hcl=\"`office_integration`\"\u003e`officeIntegration`\u003c/span\u003e permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Keys with the \u003cspan pulumi-lang-nodejs=\"`filesOnly`\" pulumi-lang-dotnet=\"`FilesOnly`\" pulumi-lang-go=\"`filesOnly`\" pulumi-lang-python=\"`files_only`\" pulumi-lang-yaml=\"`filesOnly`\" pulumi-lang-java=\"`filesOnly`\" pulumi-lang-hcl=\"`files_only`\"\u003e`filesOnly`\u003c/span\u003e permission set can perform file operations as a full-access file user in the key's workspace scope, but cannot use site admin, workspace admin, folder admin, group admin, partner admin, or billing privileges from the owning user.\n",
                        "type": "string"
                    },
                    "platform": {
                        "description": "If this API key represents a Desktop app, what platform was it created on?\n",
                        "type": "string"
                    },
                    "siteId": {
                        "description": "Site ID\n",
                        "type": "integer"
                    },
                    "siteName": {
                        "description": "Site Name\n",
                        "type": "string"
                    },
                    "url": {
                        "description": "URL for API host.\n",
                        "type": "string"
                    },
                    "userId": {
                        "description": "User ID for the owner of this API Key.  May be blank for Site-wide API Keys.\n",
                        "type": "integer"
                    },
                    "workspaceId": {
                        "description": "Workspace ID for this API Key. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "awsAccessKeyId",
                    "awsSecretKey",
                    "awsStyleCredentials",
                    "createdAt",
                    "description",
                    "descriptiveLabel",
                    "expiresAt",
                    "id",
                    "key",
                    "lastUseAt",
                    "name",
                    "permissionSet",
                    "platform",
                    "siteId",
                    "siteName",
                    "url",
                    "userId",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getAs2Partner:getAs2Partner": {
            "description": "An AS2Partner is a counterparty of the Files.com site's AS2 connectivity. Generally you will have one AS2 Partner created for each counterparty with whom you send and/or receive files via AS2.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleAs2Partner = filescom.getAs2Partner({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_as2_partner = filescom.get_as2_partner(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleAs2Partner = Filescom.GetAs2Partner.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetAs2Partner(ctx, \u0026filescom.LookupAs2PartnerArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getas2partner\" \"exampleAs2Partner\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetAs2PartnerArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleAs2Partner = FilescomFunctions.getAs2Partner(GetAs2PartnerArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleAs2Partner:\n    fn::invoke:\n      function: filescom:getAs2Partner\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getAs2Partner.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "ID of the AS2 Partner.\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getAs2Partner.\n",
                "properties": {
                    "additionalHttpHeaders": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Additional HTTP Headers for outgoing message sent to this partner.\n"
                    },
                    "as2StationId": {
                        "description": "ID of the AS2 Station associated with this partner.\n",
                        "type": "integer"
                    },
                    "defaultMimeType": {
                        "description": "Default mime type of the file attached to the encrypted message\n",
                        "type": "string"
                    },
                    "enableDedicatedIps": {
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, we will use your site's dedicated IPs for all outbound connections to this AS2 Partner.\n",
                        "type": "boolean"
                    },
                    "hexPublicCertificateSerial": {
                        "description": "Serial of public certificate used for message security in hex format.\n",
                        "type": "string"
                    },
                    "httpAuthUsername": {
                        "description": "Username to send to server for HTTP Authentication.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "ID of the AS2 Partner.\n",
                        "type": "integer"
                    },
                    "mdnValidationLevel": {
                        "description": "How should Files.com evaluate message transfer success based on a partner's MDN response?  This setting does not affect MDN storage; all MDNs received from a partner are always stored. \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e: MDN is stored for informational purposes only, a successful HTTPS transfer is a successful AS2 transfer. \u003cspan pulumi-lang-nodejs=\"`weak`\" pulumi-lang-dotnet=\"`Weak`\" pulumi-lang-go=\"`weak`\" pulumi-lang-python=\"`weak`\" pulumi-lang-yaml=\"`weak`\" pulumi-lang-java=\"`weak`\" pulumi-lang-hcl=\"`weak`\"\u003e`weak`\u003c/span\u003e: Inspect the MDN for MIC and Disposition only. \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\" pulumi-lang-hcl=\"`normal`\"\u003e`normal`\u003c/span\u003e: \u003cspan pulumi-lang-nodejs=\"`weak`\" pulumi-lang-dotnet=\"`Weak`\" pulumi-lang-go=\"`weak`\" pulumi-lang-python=\"`weak`\" pulumi-lang-yaml=\"`weak`\" pulumi-lang-java=\"`weak`\" pulumi-lang-hcl=\"`weak`\"\u003e`weak`\u003c/span\u003e plus validate MDN signature matches body, \u003cspan pulumi-lang-nodejs=\"`strict`\" pulumi-lang-dotnet=\"`Strict`\" pulumi-lang-go=\"`strict`\" pulumi-lang-python=\"`strict`\" pulumi-lang-yaml=\"`strict`\" pulumi-lang-java=\"`strict`\" pulumi-lang-hcl=\"`strict`\"\u003e`strict`\u003c/span\u003e: \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\" pulumi-lang-hcl=\"`normal`\"\u003e`normal`\u003c/span\u003e but do not allow signatures from self-signed or incorrectly purposed certificates. \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\" pulumi-lang-hcl=\"`auto`\"\u003e`auto`\u003c/span\u003e: Automatically set the correct value for this setting based on next mdn received.\n",
                        "type": "string"
                    },
                    "name": {
                        "description": "The partner's formal AS2 name.\n",
                        "type": "string"
                    },
                    "publicCertificate": {
                        "description": "Public certificate used for message security.\n",
                        "type": "string"
                    },
                    "publicCertificateIssuer": {
                        "description": "Issuer of public certificate used for message security.\n",
                        "type": "string"
                    },
                    "publicCertificateMd5": {
                        "description": "MD5 hash of public certificate used for message security.\n",
                        "type": "string"
                    },
                    "publicCertificateNotAfter": {
                        "description": "Not after value of public certificate used for message security.\n",
                        "type": "string"
                    },
                    "publicCertificateNotBefore": {
                        "description": "Not before value of public certificate used for message security.\n",
                        "type": "string"
                    },
                    "publicCertificateSerial": {
                        "description": "Serial of public certificate used for message security.\n",
                        "type": "string"
                    },
                    "publicCertificateSubject": {
                        "description": "Subject of public certificate used for message security.\n",
                        "type": "string"
                    },
                    "serverCertificate": {
                        "description": "Should we require that the remote HTTP server have a valid SSL Certificate for HTTPS? (This only applies to Outgoing AS2 message from Files.com to a Partner.)\n",
                        "type": "string"
                    },
                    "signatureValidationLevel": {
                        "description": "Should Files.com require signatures on incoming AS2 messages?  \u003cspan pulumi-lang-nodejs=\"`normal`\" pulumi-lang-dotnet=\"`Normal`\" pulumi-lang-go=\"`normal`\" pulumi-lang-python=\"`normal`\" pulumi-lang-yaml=\"`normal`\" pulumi-lang-java=\"`normal`\" pulumi-lang-hcl=\"`normal`\"\u003e`normal`\u003c/span\u003e: require that incoming messages are signed with a valid matching signature. \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e: Unsigned incoming messages are allowed. \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\" pulumi-lang-hcl=\"`auto`\"\u003e`auto`\u003c/span\u003e: Automatically set the correct value for this setting based on next message received.\n",
                        "type": "string"
                    },
                    "uri": {
                        "description": "Public URI where we will send the AS2 messages (via HTTP/HTTPS).\n",
                        "type": "string"
                    },
                    "workspaceId": {
                        "description": "ID of the Workspace associated with this AS2 Partner.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "additionalHttpHeaders",
                    "as2StationId",
                    "defaultMimeType",
                    "enableDedicatedIps",
                    "hexPublicCertificateSerial",
                    "httpAuthUsername",
                    "id",
                    "mdnValidationLevel",
                    "name",
                    "publicCertificate",
                    "publicCertificateIssuer",
                    "publicCertificateMd5",
                    "publicCertificateNotAfter",
                    "publicCertificateNotBefore",
                    "publicCertificateSerial",
                    "publicCertificateSubject",
                    "serverCertificate",
                    "signatureValidationLevel",
                    "uri",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getAs2Station:getAs2Station": {
            "description": "An AS2Station is a remote AS2 server that can send data into Files.com and receive data from Files.com.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleAs2Station = filescom.getAs2Station({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_as2_station = filescom.get_as2_station(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleAs2Station = Filescom.GetAs2Station.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetAs2Station(ctx, \u0026filescom.LookupAs2StationArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getas2station\" \"exampleAs2Station\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetAs2StationArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleAs2Station = FilescomFunctions.getAs2Station(GetAs2StationArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleAs2Station:\n    fn::invoke:\n      function: filescom:getAs2Station\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getAs2Station.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Id of the AS2 Station.\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getAs2Station.\n",
                "properties": {
                    "domain": {
                        "description": "The station's AS2 domain name.\n",
                        "type": "string"
                    },
                    "hexPublicCertificateSerial": {
                        "description": "Serial of public certificate used for message security in hex format.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Id of the AS2 Station.\n",
                        "type": "integer"
                    },
                    "name": {
                        "description": "The station's formal AS2 name.\n",
                        "type": "string"
                    },
                    "privateKeyMd5": {
                        "description": "MD5 hash of private key used for message security.\n",
                        "type": "string"
                    },
                    "privateKeyPasswordMd5": {
                        "description": "MD5 hash of private key password used for message security.\n",
                        "type": "string"
                    },
                    "publicCertificate": {
                        "description": "Public certificate used for message security.\n",
                        "type": "string"
                    },
                    "publicCertificateIssuer": {
                        "description": "Issuer of public certificate used for message security.\n",
                        "type": "string"
                    },
                    "publicCertificateMd5": {
                        "description": "MD5 hash of public certificate used for message security.\n",
                        "type": "string"
                    },
                    "publicCertificateNotAfter": {
                        "description": "Not after value of public certificate used for message security.\n",
                        "type": "string"
                    },
                    "publicCertificateNotBefore": {
                        "description": "Not before value of public certificate used for message security.\n",
                        "type": "string"
                    },
                    "publicCertificateSerial": {
                        "description": "Serial of public certificate used for message security.\n",
                        "type": "string"
                    },
                    "publicCertificateSubject": {
                        "description": "Subject of public certificate used for message security.\n",
                        "type": "string"
                    },
                    "uri": {
                        "description": "Public URI for sending AS2 message to.\n",
                        "type": "string"
                    },
                    "workspaceId": {
                        "description": "ID of the Workspace associated with this AS2 Station.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "domain",
                    "hexPublicCertificateSerial",
                    "id",
                    "name",
                    "privateKeyMd5",
                    "privateKeyPasswordMd5",
                    "publicCertificate",
                    "publicCertificateIssuer",
                    "publicCertificateMd5",
                    "publicCertificateNotAfter",
                    "publicCertificateNotBefore",
                    "publicCertificateSerial",
                    "publicCertificateSubject",
                    "uri",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getAutomation:getAutomation": {
            "description": "An Automation is an automated process of controlling workflows on your Files.com site.\n\n\n\nAutomations are different from Behaviors because Behaviors are associated with a current folder, while Automations apply across your entire site.\n\n\n\nAutomations are never removed when folders are removed, while Behaviors are removed when the associated folder is removed.\n\n\n\n## Path Matching\n\n\n\nThe \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e attribute specifies which folders this automation applies to.\n\nIt gets combined with the \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e attribute to determine which files are actually affected by the automation.\n\nNote that the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e attribute supports globs, and only refers to _folders_.\n\nIt's the \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e attribute, which also supports globs, combined with the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e attribute that determines which files are affected, and automations only operate on the files themselves.\n\nAdditionally, paths in Automations can refer to folders which don't yet exist.\n\n\n\n### Path Globs\n\n\n\nAlthough Automations may have a \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e specified, it can be a glob (which includes wildcards), which affects multiple folders.\n\n\n\n`*` matches any folder at that level of the path, but not subfolders. For example, `path/to/*` matches `path/to/folder1` and `path/to/folder2`, but not `path/to/folder1/subfolder`.\n\n\n\n`**` matches subfolders recursively. For example, `path/to/**` matches `path/to/folder1`, `path/to/folder1/subfolder`, `path/to/folder2`, `path/to/folder2/subfolder`, etc.\n\n\n\n`?` matches any one character.\n\n\n\nUse square brackets `[]` to match any character from a set. This works like a regular expression, including negation using `^`.\n\n\n\nCurly brackets `{}` can be used to denote parts of a pattern which will accept a number of alternatives, separated by commas `,`.\n\nThese alternatives can either be literal text or include special characters including nested curly brackets.\n\nFor example `{Mon,Tue,Wed,Thu,Fri}` would match abbreviated weekdays, and `202{3-{0[7-9],1?},4-0[1-6]}-*` would match dates from `2023-07-01` through `2024-06-30`.\n\n\n\nTo match any of the special characters literally, precede it with a backslash and enclose that pair with square brackets. For example to match a literal `?`, use `[\\?]`.\n\n\n\nGlobs are supported on \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`excludePattern`\" pulumi-lang-dotnet=\"`ExcludePattern`\" pulumi-lang-go=\"`excludePattern`\" pulumi-lang-python=\"`exclude_pattern`\" pulumi-lang-yaml=\"`excludePattern`\" pulumi-lang-java=\"`excludePattern`\" pulumi-lang-hcl=\"`exclude_pattern`\"\u003e`excludePattern`\u003c/span\u003e fields. Globs are not supported on remote paths of any kind or for any field.\n\n\n\nBy default, Copy and Move automations that use globs will implicitly replicate matched folder structures at the destination. If you want to flatten the folder structure, set \u003cspan pulumi-lang-nodejs=\"`flattenDestinationStructure`\" pulumi-lang-dotnet=\"`FlattenDestinationStructure`\" pulumi-lang-go=\"`flattenDestinationStructure`\" pulumi-lang-python=\"`flatten_destination_structure`\" pulumi-lang-yaml=\"`flattenDestinationStructure`\" pulumi-lang-java=\"`flattenDestinationStructure`\" pulumi-lang-hcl=\"`flatten_destination_structure`\"\u003e`flattenDestinationStructure`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n\n\n## Automation Triggers\n\n\n\nAutomations can be triggered in the following ways:\n\n\n\n* \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e : The automation will run according to either the reusable Site-level Schedule selected by \u003cspan pulumi-lang-nodejs=\"`scheduleId`\" pulumi-lang-dotnet=\"`ScheduleId`\" pulumi-lang-go=\"`scheduleId`\" pulumi-lang-python=\"`schedule_id`\" pulumi-lang-yaml=\"`scheduleId`\" pulumi-lang-java=\"`scheduleId`\" pulumi-lang-hcl=\"`schedule_id`\"\u003e`scheduleId`\u003c/span\u003e or its own custom schedule fields for \u003cspan pulumi-lang-nodejs=\"`daysOfWeek`\" pulumi-lang-dotnet=\"`DaysOfWeek`\" pulumi-lang-go=\"`daysOfWeek`\" pulumi-lang-python=\"`days_of_week`\" pulumi-lang-yaml=\"`daysOfWeek`\" pulumi-lang-java=\"`daysOfWeek`\" pulumi-lang-hcl=\"`days_of_week`\"\u003e`daysOfWeek`\u003c/span\u003e (0-based) and \u003cspan pulumi-lang-nodejs=\"`timesOfDay`\" pulumi-lang-dotnet=\"`TimesOfDay`\" pulumi-lang-go=\"`timesOfDay`\" pulumi-lang-python=\"`times_of_day`\" pulumi-lang-yaml=\"`timesOfDay`\" pulumi-lang-java=\"`timesOfDay`\" pulumi-lang-hcl=\"`times_of_day`\"\u003e`timesOfDay`\u003c/span\u003e. A time zone may be specified via \u003cspan pulumi-lang-nodejs=\"`timeZone`\" pulumi-lang-dotnet=\"`TimeZone`\" pulumi-lang-go=\"`timeZone`\" pulumi-lang-python=\"`time_zone`\" pulumi-lang-yaml=\"`timeZone`\" pulumi-lang-java=\"`timeZone`\" pulumi-lang-hcl=\"`time_zone`\"\u003e`timeZone`\u003c/span\u003e in Rails TimeZone name format.\n\n* \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e : The automation will run in a picked \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\" pulumi-lang-hcl=\"`interval`\"\u003e`interval`\u003c/span\u003e. You can specify \u003cspan pulumi-lang-nodejs=\"`recurringDay`\" pulumi-lang-dotnet=\"`RecurringDay`\" pulumi-lang-go=\"`recurringDay`\" pulumi-lang-python=\"`recurring_day`\" pulumi-lang-yaml=\"`recurringDay`\" pulumi-lang-java=\"`recurringDay`\" pulumi-lang-hcl=\"`recurring_day`\"\u003e`recurringDay`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`recurringDays`\" pulumi-lang-dotnet=\"`RecurringDays`\" pulumi-lang-go=\"`recurringDays`\" pulumi-lang-python=\"`recurring_days`\" pulumi-lang-yaml=\"`recurringDays`\" pulumi-lang-java=\"`recurringDays`\" pulumi-lang-hcl=\"`recurring_days`\"\u003e`recurringDays`\u003c/span\u003e to select one or more day numbers inside the interval.\n\n* \u003cspan pulumi-lang-nodejs=\"`webhook`\" pulumi-lang-dotnet=\"`Webhook`\" pulumi-lang-go=\"`webhook`\" pulumi-lang-python=\"`webhook`\" pulumi-lang-yaml=\"`webhook`\" pulumi-lang-java=\"`webhook`\" pulumi-lang-hcl=\"`webhook`\"\u003e`webhook`\u003c/span\u003e : the automation will run when a request is sent to the corresponding webhook URL.\n\n* \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\" pulumi-lang-hcl=\"`action`\"\u003e`action`\u003c/span\u003e : The automation will run when a specific action happens, e.g. a file is created or downloaded.\n\n\n\nFuture enhancements will allow Automations to be triggered by an incoming email, or by other services.\n\n\n\nCurrently, all Automation types support all triggers, with the following exceptions: `Create Folder` and `Run Remote Server Sync` are not supported by the \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\" pulumi-lang-hcl=\"`action`\"\u003e`action`\u003c/span\u003e trigger.\n\n\n\nAutomations can be triggered manually if trigger is not set to \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\" pulumi-lang-hcl=\"`action`\"\u003e`action`\u003c/span\u003e.\n\n\n\n## Destinations\n\n\n\nThe \u003cspan pulumi-lang-nodejs=\"`destinations`\" pulumi-lang-dotnet=\"`Destinations`\" pulumi-lang-go=\"`destinations`\" pulumi-lang-python=\"`destinations`\" pulumi-lang-yaml=\"`destinations`\" pulumi-lang-java=\"`destinations`\" pulumi-lang-hcl=\"`destinations`\"\u003e`destinations`\u003c/span\u003e parameter is a list of paths where files will be copied, moved, or created. It may include formatting parameters to dynamically determine the destination at runtime.\n\n\n\n### Relative vs. Absolute Paths\n\n\n\nIn order to specify a relative path, it must start with either `./` or `../`. All other paths are considered absolute. In general, leading slashes should never be used on Files.com paths, including here. Paths are interpreted as absolute in all contexts, even without a leading slash.\n\n\n\n### Files vs. Folders\n\n\n\nIf the destination path ends with a `/`, the filename from the source path will be preserved and put into the folder of this name. If the destination path does not end with a `/`, it will be interpreted as a filename and will override the source file's filename entirely.\n\n\n\n### Formatting Parameters\n\n\n\n**Action-Triggered Automations**\n\n\n\n* `%tf` : The name of the file that triggered the automation.\n\n* `%tp` : The path of the file that triggered the automation.\n\n* `%td` : The directory of the file that triggered the automation.\n\n* `%tb` : The name of the file (without extension) that triggered the automation.\n\n* `%te` : The extension of the file that triggered the automation.\n\n\n\nFor example, if the triggering file is at `path/to/file.txt`, then the automation destination `path/to/dest/incoming-%tf` will result in the actual destination being `path/to/dest/incoming-file.txt`.\n\n\n\n**Parent Folders**\n\n\n\nTo reference the parent folder of a source file, use `%p1`, `%p2`, `%p3`, etc. for the first, second, third, etc. parent folder, respectively.\n\n\n\nTo reference path components from the root downward, use `%P1`, `%P2`, `%P3`, etc. for the first, second, third, etc. path component, respectively.\n\n\n\nFor example, if the source file is at `accounts/file.txt`, then the automation destination `path/to/dest/%p1/some_file_name.txt` will result in the actual destination being `path/to/dest/accounts/some_file_name.txt`.\n\n\n\nIf the source file is at `partner/app/team/inbound/file.txt`, then the automation destination `path/to/dest/%P1/%P3/%P4/file.txt` will result in the actual destination being `path/to/dest/partner/team/inbound/file.txt`.\n\n\n\n**Source File Name**\n\n\n\nTo reference the name of the source file being processed, use the following tokens:\n\n\n\n* `%Ff` : The name of the source file, with extension.\n\n* `%Fb` : The name of the source file, without extension.\n\n* `%Fe` : The extension of the source file.\n\n* `%Fl` : The name of the source file, with extension, converted to lowercase.\n\n* `%Fn` : The name of the source file, without non-alphanumeric characters, with extension.\n\n* `%Fp` : The name of the source file, with extension, spaces removed, lowercase, non-ASCII normalized.\n\n\n\nFor example, if the source file is `Daily Report.xlsx` and the destination is `archive/%Y-%m-%d/%Fb.xlsx`, the resolved destination will be `archive/2024-01-15/Daily Report.xlsx`.\n\n\n\n**Dates and Times**\n\n\n\n* `%Y` : The current year (4 digits)\n\n* `%m` : The current month (2 digits)\n\n* `%B` : The current month (full name)\n\n* `%d` : The current day (2 digits)\n\n* `%H` : The current hour (2 digits, 24-hour clock)\n\n* `%M` : The current minute (2 digits)\n\n* `%S` : The current second (2 digits)\n\n* `%z` : UTC Time Zone (e.g. -0900)\n\n\n\nFor example, if the current date is June 23, 2023 and the source file is named `daily_sales.csv`, then the following automation destination `path/to/dest/%Y/%m/%d/` will result in the actual destination being `path/to/dest/2023/06/23/daily_sales.csv`.\n\n\n\n### Replacing Text\n\n\n\nTo replace text in the source filename, use the \u003cspan pulumi-lang-nodejs=\"`destinationReplaceFrom`\" pulumi-lang-dotnet=\"`DestinationReplaceFrom`\" pulumi-lang-go=\"`destinationReplaceFrom`\" pulumi-lang-python=\"`destination_replace_from`\" pulumi-lang-yaml=\"`destinationReplaceFrom`\" pulumi-lang-java=\"`destinationReplaceFrom`\" pulumi-lang-hcl=\"`destination_replace_from`\"\u003e`destinationReplaceFrom`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`destinationReplaceTo`\" pulumi-lang-dotnet=\"`DestinationReplaceTo`\" pulumi-lang-go=\"`destinationReplaceTo`\" pulumi-lang-python=\"`destination_replace_to`\" pulumi-lang-yaml=\"`destinationReplaceTo`\" pulumi-lang-java=\"`destinationReplaceTo`\" pulumi-lang-hcl=\"`destination_replace_to`\"\u003e`destinationReplaceTo`\u003c/span\u003e parameters. This will perform a simple text replacement on the source filename before inserting it into the destination path.\n\n\n\nFor example, if the \u003cspan pulumi-lang-nodejs=\"`destinationReplaceFrom`\" pulumi-lang-dotnet=\"`DestinationReplaceFrom`\" pulumi-lang-go=\"`destinationReplaceFrom`\" pulumi-lang-python=\"`destination_replace_from`\" pulumi-lang-yaml=\"`destinationReplaceFrom`\" pulumi-lang-java=\"`destinationReplaceFrom`\" pulumi-lang-hcl=\"`destination_replace_from`\"\u003e`destinationReplaceFrom`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`incoming`\" pulumi-lang-dotnet=\"`Incoming`\" pulumi-lang-go=\"`incoming`\" pulumi-lang-python=\"`incoming`\" pulumi-lang-yaml=\"`incoming`\" pulumi-lang-java=\"`incoming`\" pulumi-lang-hcl=\"`incoming`\"\u003e`incoming`\u003c/span\u003e and the \u003cspan pulumi-lang-nodejs=\"`destinationReplaceTo`\" pulumi-lang-dotnet=\"`DestinationReplaceTo`\" pulumi-lang-go=\"`destinationReplaceTo`\" pulumi-lang-python=\"`destination_replace_to`\" pulumi-lang-yaml=\"`destinationReplaceTo`\" pulumi-lang-java=\"`destinationReplaceTo`\" pulumi-lang-hcl=\"`destination_replace_to`\"\u003e`destinationReplaceTo`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`outgoing`\" pulumi-lang-dotnet=\"`Outgoing`\" pulumi-lang-go=\"`outgoing`\" pulumi-lang-python=\"`outgoing`\" pulumi-lang-yaml=\"`outgoing`\" pulumi-lang-java=\"`outgoing`\" pulumi-lang-hcl=\"`outgoing`\"\u003e`outgoing`\u003c/span\u003e, then `path/to/incoming.txt` will translate to `path/to/outgoing.txt`.\n\n\n\n\n\n## Automation Types\n\n\n\nThere are several types of automations: Create Folder, Copy File, Move File, Delete File and, Run Remote Server Sync.\n\n\n\n\n\n### Create Folder\n\n\n\nCreates the folder with named by \u003cspan pulumi-lang-nodejs=\"`destinations`\" pulumi-lang-dotnet=\"`Destinations`\" pulumi-lang-go=\"`destinations`\" pulumi-lang-python=\"`destinations`\" pulumi-lang-yaml=\"`destinations`\" pulumi-lang-java=\"`destinations`\" pulumi-lang-hcl=\"`destinations`\"\u003e`destinations`\u003c/span\u003e in the path named by \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e.\n\nDestination may include formatting parameters to insert the date/time into the destination name.\n\n\n\nExample Use case: Our business files sales tax for each division in 11 states every quarter.\n\nI want to create the folders where those sales tax forms and data will be collected.\n\n\n\nI could create a Create Folder automation as follows:\n\n\n\n* Trigger: \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e\n\n* Interval: \u003cspan pulumi-lang-nodejs=\"`quarterEnd`\" pulumi-lang-dotnet=\"`QuarterEnd`\" pulumi-lang-go=\"`quarterEnd`\" pulumi-lang-python=\"`quarter_end`\" pulumi-lang-yaml=\"`quarterEnd`\" pulumi-lang-java=\"`quarterEnd`\" pulumi-lang-hcl=\"`quarter_end`\"\u003e`quarterEnd`\u003c/span\u003e\n\n* Path: `AccountingAndTax/SalesTax/State/*/`\n\n* Destinations: `%Y/Quarter-ending-%m-%d`\n\n\n\nNote this assumes you have folders in `AccountingAndTax/SalesTax/State/` already created for each state, e.g. `AccountingAndTax/SalesTax/State/CA/`.\n\n\n\n\n\n### Delete File\n\n\n\nDeletes the file with path matching \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e (wildcards allowed) in the path named by \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e.\n\n\n\n\n\n### Copy File\n\n\n\nCopies files in the folder named by \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e to the path specified in \u003cspan pulumi-lang-nodejs=\"`destinations`\" pulumi-lang-dotnet=\"`Destinations`\" pulumi-lang-go=\"`destinations`\" pulumi-lang-python=\"`destinations`\" pulumi-lang-yaml=\"`destinations`\" pulumi-lang-java=\"`destinations`\" pulumi-lang-hcl=\"`destinations`\"\u003e`destinations`\u003c/span\u003e.\n\nThe automation will only fire on files matching the \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e (wildcards allowed). In the case of an action-triggered automation, it will only operate on the actual file that triggered the automation.\n\nIf the parameter \u003cspan pulumi-lang-nodejs=\"`limit`\" pulumi-lang-dotnet=\"`Limit`\" pulumi-lang-go=\"`limit`\" pulumi-lang-python=\"`limit`\" pulumi-lang-yaml=\"`limit`\" pulumi-lang-java=\"`limit`\" pulumi-lang-hcl=\"`limit`\"\u003e`limit`\u003c/span\u003e exists, the automation will only copy the newest \u003cspan pulumi-lang-nodejs=\"`limit`\" pulumi-lang-dotnet=\"`Limit`\" pulumi-lang-go=\"`limit`\" pulumi-lang-python=\"`limit`\" pulumi-lang-yaml=\"`limit`\" pulumi-lang-java=\"`limit`\" pulumi-lang-hcl=\"`limit`\"\u003e`limit`\u003c/span\u003e files in each matching folder.\n\n\n\n\n\n### Move File\n\n\n\nMoves files in the folder named by \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e to the path specified in \u003cspan pulumi-lang-nodejs=\"`destinations`\" pulumi-lang-dotnet=\"`Destinations`\" pulumi-lang-go=\"`destinations`\" pulumi-lang-python=\"`destinations`\" pulumi-lang-yaml=\"`destinations`\" pulumi-lang-java=\"`destinations`\" pulumi-lang-hcl=\"`destinations`\"\u003e`destinations`\u003c/span\u003e.\n\nThe automation will only fire on files matching the \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e (wildcards allowed). In the case of an action-triggered automation, it will only operate on the actual file that triggered the automation.\n\nIf the parameter \u003cspan pulumi-lang-nodejs=\"`limit`\" pulumi-lang-dotnet=\"`Limit`\" pulumi-lang-go=\"`limit`\" pulumi-lang-python=\"`limit`\" pulumi-lang-yaml=\"`limit`\" pulumi-lang-java=\"`limit`\" pulumi-lang-hcl=\"`limit`\"\u003e`limit`\u003c/span\u003e exists, the automation will only move the newest \u003cspan pulumi-lang-nodejs=\"`limit`\" pulumi-lang-dotnet=\"`Limit`\" pulumi-lang-go=\"`limit`\" pulumi-lang-python=\"`limit`\" pulumi-lang-yaml=\"`limit`\" pulumi-lang-java=\"`limit`\" pulumi-lang-hcl=\"`limit`\"\u003e`limit`\u003c/span\u003e files in each matching folder.\n\nNote that for a move with multiple destinations, all but one destination is treated as a copy.\n\n\n\n\n\n### Run Remote Server Sync\n\n\n\nThe Run Remote Server Sync automation runs the remote server syncs specified by the \u003cspan pulumi-lang-nodejs=\"`syncIds`\" pulumi-lang-dotnet=\"`SyncIds`\" pulumi-lang-go=\"`syncIds`\" pulumi-lang-python=\"`sync_ids`\" pulumi-lang-yaml=\"`syncIds`\" pulumi-lang-java=\"`syncIds`\" pulumi-lang-hcl=\"`sync_ids`\"\u003e`syncIds`\u003c/span\u003e.\n\n\n\nTypically when this automation is used, the remote server syncs in question are set to the manual\n\nscheduling mode (\u003cspan pulumi-lang-nodejs=\"`manual`\" pulumi-lang-dotnet=\"`Manual`\" pulumi-lang-go=\"`manual`\" pulumi-lang-python=\"`manual`\" pulumi-lang-yaml=\"`manual`\" pulumi-lang-java=\"`manual`\" pulumi-lang-hcl=\"`manual`\"\u003e`manual`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e via the API) to disable the built in sync scheduler.\n\n\n\n\n\n### Import File\n\n\n\nRetrieves files from one or more URLs and saves the results under the path specified in \u003cspan pulumi-lang-nodejs=\"`destinations`\" pulumi-lang-dotnet=\"`Destinations`\" pulumi-lang-go=\"`destinations`\" pulumi-lang-python=\"`destinations`\" pulumi-lang-yaml=\"`destinations`\" pulumi-lang-java=\"`destinations`\" pulumi-lang-hcl=\"`destinations`\"\u003e`destinations`\u003c/span\u003e.\n\n\n\nThe URLs to retrieve are specified as a JSON array in the \u003cspan pulumi-lang-nodejs=\"`importUrls`\" pulumi-lang-dotnet=\"`ImportUrls`\" pulumi-lang-go=\"`importUrls`\" pulumi-lang-python=\"`import_urls`\" pulumi-lang-yaml=\"`importUrls`\" pulumi-lang-java=\"`importUrls`\" pulumi-lang-hcl=\"`import_urls`\"\u003e`importUrls`\u003c/span\u003e property.\n\n\n\n```json\n\n[\n\n {\n\n \"name\": \"response.json\",\n\n \"url\": \"https://example.com/api\",\n\n \"method\": \"post\",\n\n \"headers\": {\n\n \"Content-Type\": \"application/json\"\n\n },\n\n \"content\": { \"trigger-file\": \"%tp\" }\n\n }\n\n]\n\n```\n\n\n\nThe recognized keys are:\n\n\n\n* \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\" pulumi-lang-hcl=\"`name`\"\u003e`name`\u003c/span\u003e: The file name which will be used to save the returned content. Required. `%` tokens will be replaced as described under Formatting Parameters.\n\n* \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\" pulumi-lang-hcl=\"`url`\"\u003e`url`\u003c/span\u003e: The URL which will be requested. Required.\n\n* \u003cspan pulumi-lang-nodejs=\"`method`\" pulumi-lang-dotnet=\"`Method`\" pulumi-lang-go=\"`method`\" pulumi-lang-python=\"`method`\" pulumi-lang-yaml=\"`method`\" pulumi-lang-java=\"`method`\" pulumi-lang-hcl=\"`method`\"\u003e`method`\u003c/span\u003e: The HTTP method to be used for the request. May be either \u003cspan pulumi-lang-nodejs=\"`get`\" pulumi-lang-dotnet=\"`Get`\" pulumi-lang-go=\"`get`\" pulumi-lang-python=\"`get`\" pulumi-lang-yaml=\"`get`\" pulumi-lang-java=\"`get`\" pulumi-lang-hcl=\"`get`\"\u003e`get`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`post`\" pulumi-lang-dotnet=\"`Post`\" pulumi-lang-go=\"`post`\" pulumi-lang-python=\"`post`\" pulumi-lang-yaml=\"`post`\" pulumi-lang-java=\"`post`\" pulumi-lang-hcl=\"`post`\"\u003e`post`\u003c/span\u003e (case insensitive). Defaults to \u003cspan pulumi-lang-nodejs=\"`get`\" pulumi-lang-dotnet=\"`Get`\" pulumi-lang-go=\"`get`\" pulumi-lang-python=\"`get`\" pulumi-lang-yaml=\"`get`\" pulumi-lang-java=\"`get`\" pulumi-lang-hcl=\"`get`\"\u003e`get`\u003c/span\u003e.\n\n* \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\" pulumi-lang-hcl=\"`headers`\"\u003e`headers`\u003c/span\u003e: Optional headers to be included in the request. `%` tokens in the values will be replaced as described under Formatting Parameters.\n\n* \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\" pulumi-lang-hcl=\"`content`\"\u003e`content`\u003c/span\u003e: Optional body to send for POST request. If supplied as a string, `%` tokens will be expanded. If supplied as a JSON Object, `%` tokens will be expanded for top-level values. Other JSON types will be sent as-is.\n\n\n\n\n\n### Help us build the future of Automations\n\n\n\nDo you have an idea for something that would work well as a Files.com Automation? Let us know!\n\nWe are actively improving the types of automations offered on our platform.\n\n\n\n\n\n## Retrying Failures\n\n\n\nAutomations will automatically retry individual action steps up to 3 times, with pauses between retries that increase from 15 seconds to 1 minute. If individual action steps fail after our 3rd attempt, that action will fail. If every action step in an Automation Run fails, that automation run will move to a \u003cspan pulumi-lang-nodejs=\"`failure`\" pulumi-lang-dotnet=\"`Failure`\" pulumi-lang-go=\"`failure`\" pulumi-lang-python=\"`failure`\" pulumi-lang-yaml=\"`failure`\" pulumi-lang-java=\"`failure`\" pulumi-lang-hcl=\"`failure`\"\u003e`failure`\u003c/span\u003e status. If at least one step succeeds and one step fails, that automation run will move to a \u003cspan pulumi-lang-nodejs=\"`partialFailure`\" pulumi-lang-dotnet=\"`PartialFailure`\" pulumi-lang-go=\"`partialFailure`\" pulumi-lang-python=\"`partial_failure`\" pulumi-lang-yaml=\"`partialFailure`\" pulumi-lang-java=\"`partialFailure`\" pulumi-lang-hcl=\"`partial_failure`\"\u003e`partialFailure`\u003c/span\u003e status.\n\n\n\nAutomation Runs can be retried automatically when they enter a \u003cspan pulumi-lang-nodejs=\"`failure`\" pulumi-lang-dotnet=\"`Failure`\" pulumi-lang-go=\"`failure`\" pulumi-lang-python=\"`failure`\" pulumi-lang-yaml=\"`failure`\" pulumi-lang-java=\"`failure`\" pulumi-lang-hcl=\"`failure`\"\u003e`failure`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`partialFailure`\" pulumi-lang-dotnet=\"`PartialFailure`\" pulumi-lang-go=\"`partialFailure`\" pulumi-lang-python=\"`partial_failure`\" pulumi-lang-yaml=\"`partialFailure`\" pulumi-lang-java=\"`partialFailure`\" pulumi-lang-hcl=\"`partial_failure`\"\u003e`partialFailure`\u003c/span\u003e status as described above. A retry will re-run the automation from scratch, including the \"planning\" phase, which expands globs (wildcards) and identifies which files to transfer or skip.\n\n\n\nRetrying of entire Automation Runs must be explicitly enabled by setting the \u003cspan pulumi-lang-nodejs=\"`retryOnFailureIntervalInMinutes`\" pulumi-lang-dotnet=\"`RetryOnFailureIntervalInMinutes`\" pulumi-lang-go=\"`retryOnFailureIntervalInMinutes`\" pulumi-lang-python=\"`retry_on_failure_interval_in_minutes`\" pulumi-lang-yaml=\"`retryOnFailureIntervalInMinutes`\" pulumi-lang-java=\"`retryOnFailureIntervalInMinutes`\" pulumi-lang-hcl=\"`retry_on_failure_interval_in_minutes`\"\u003e`retryOnFailureIntervalInMinutes`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`retryOnFailureNumberOfAttempts`\" pulumi-lang-dotnet=\"`RetryOnFailureNumberOfAttempts`\" pulumi-lang-go=\"`retryOnFailureNumberOfAttempts`\" pulumi-lang-python=\"`retry_on_failure_number_of_attempts`\" pulumi-lang-yaml=\"`retryOnFailureNumberOfAttempts`\" pulumi-lang-java=\"`retryOnFailureNumberOfAttempts`\" pulumi-lang-hcl=\"`retry_on_failure_number_of_attempts`\"\u003e`retryOnFailureNumberOfAttempts`\u003c/span\u003e values on the Automation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleAutomation = filescom.getAutomation({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_automation = filescom.get_automation(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleAutomation = Filescom.GetAutomation.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetAutomation(ctx, \u0026filescom.LookupAutomationArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getautomation\" \"exampleAutomation\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetAutomationArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleAutomation = FilescomFunctions.getAutomation(GetAutomationArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleAutomation:\n    fn::invoke:\n      function: filescom:getAutomation\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getAutomation.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Automation ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getAutomation.\n",
                "properties": {
                    "alwaysOverwriteSizeMatchingFiles": {
                        "description": "Ordinarily, files with identical size in the source and destination will be skipped from copy operations to prevent wasted transfer.  If this flag is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e we will overwrite the destination file always.  Note that this may cause large amounts of wasted transfer usage.  This setting has no effect unless \u003cspan pulumi-lang-nodejs=\"`overwriteFiles`\" pulumi-lang-dotnet=\"`OverwriteFiles`\" pulumi-lang-go=\"`overwriteFiles`\" pulumi-lang-python=\"`overwrite_files`\" pulumi-lang-yaml=\"`overwriteFiles`\" pulumi-lang-java=\"`overwriteFiles`\" pulumi-lang-hcl=\"`overwrite_files`\"\u003e`overwriteFiles`\u003c/span\u003e is also set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n",
                        "type": "boolean"
                    },
                    "alwaysSerializeJobs": {
                        "description": "Ordinarily, we will allow automation runs to run in parallel for non-scheduled automations. If this flag is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e we will force automation runs to be serialized (run one at a time, one after another). This can resolve some issues with race conditions on remote systems at the cost of some performance.\n",
                        "type": "boolean"
                    },
                    "automation": {
                        "description": "Automation type\n",
                        "type": "string"
                    },
                    "definition": {
                        "$ref": "#/types/filescom:index/getAutomationDefinition:getAutomationDefinition",
                        "description": "Automation v2 graph definition.\n"
                    },
                    "deleted": {
                        "description": "Indicates if the automation has been deleted.\n",
                        "type": "boolean"
                    },
                    "description": {
                        "description": "Description for the this Automation.\n",
                        "type": "string"
                    },
                    "destinationReplaceFrom": {
                        "description": "If set, this string in the destination path will be replaced with the value in \u003cspan pulumi-lang-nodejs=\"`destinationReplaceTo`\" pulumi-lang-dotnet=\"`DestinationReplaceTo`\" pulumi-lang-go=\"`destinationReplaceTo`\" pulumi-lang-python=\"`destination_replace_to`\" pulumi-lang-yaml=\"`destinationReplaceTo`\" pulumi-lang-java=\"`destinationReplaceTo`\" pulumi-lang-hcl=\"`destination_replace_to`\"\u003e`destinationReplaceTo`\u003c/span\u003e.\n",
                        "type": "string"
                    },
                    "destinationReplaceTo": {
                        "description": "If set, this string will replace the value \u003cspan pulumi-lang-nodejs=\"`destinationReplaceFrom`\" pulumi-lang-dotnet=\"`DestinationReplaceFrom`\" pulumi-lang-go=\"`destinationReplaceFrom`\" pulumi-lang-python=\"`destination_replace_from`\" pulumi-lang-yaml=\"`destinationReplaceFrom`\" pulumi-lang-java=\"`destinationReplaceFrom`\" pulumi-lang-hcl=\"`destination_replace_from`\"\u003e`destinationReplaceFrom`\u003c/span\u003e in the destination filename. You can use special patterns here.\n",
                        "type": "string"
                    },
                    "destinations": {
                        "description": "Destination Paths\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "disabled": {
                        "description": "If true, this automation will not run.\n",
                        "type": "boolean"
                    },
                    "excludePattern": {
                        "description": "If set, this glob pattern will exclude files from the automation. Supports globs, except on remote mounts.\n",
                        "type": "string"
                    },
                    "flattenDestinationStructure": {
                        "description": "Normally copy and move automations that use globs will implicitly preserve the source folder structure in the destination.  If this flag is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the source folder structure will be flattened in the destination.  This is useful for copying or moving files from multiple folders into a single destination folder.\n",
                        "type": "boolean"
                    },
                    "groupIds": {
                        "description": "IDs of Groups for the Automation (i.e. who to Request File from)\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "holidayRegion": {
                        "description": "Skip the automation if there is a formal, observed holiday for this region.\n",
                        "type": "string"
                    },
                    "humanReadableSchedule": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e with times, Human readable schedule description for when the automation should be run.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Automation ID\n",
                        "type": "integer"
                    },
                    "ignoreLockedFolders": {
                        "description": "If true, the Lock Folders behavior will be disregarded for automated actions.\n",
                        "type": "boolean"
                    },
                    "importUrls": {
                        "$ref": "pulumi.json#/Any",
                        "description": "List of URLs to be imported and names to be used.\n"
                    },
                    "inboundEmailAddress": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\" pulumi-lang-hcl=\"`email`\"\u003e`email`\u003c/span\u003e, this is the address that triggers the Automation.\n",
                        "type": "string"
                    },
                    "interval": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies how often to run this automation.  One of: \u003cspan pulumi-lang-nodejs=\"`day`\" pulumi-lang-dotnet=\"`Day`\" pulumi-lang-go=\"`day`\" pulumi-lang-python=\"`day`\" pulumi-lang-yaml=\"`day`\" pulumi-lang-java=\"`day`\" pulumi-lang-hcl=\"`day`\"\u003e`day`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`weekEnd`\" pulumi-lang-dotnet=\"`WeekEnd`\" pulumi-lang-go=\"`weekEnd`\" pulumi-lang-python=\"`week_end`\" pulumi-lang-yaml=\"`weekEnd`\" pulumi-lang-java=\"`weekEnd`\" pulumi-lang-hcl=\"`week_end`\"\u003e`weekEnd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`monthEnd`\" pulumi-lang-dotnet=\"`MonthEnd`\" pulumi-lang-go=\"`monthEnd`\" pulumi-lang-python=\"`month_end`\" pulumi-lang-yaml=\"`monthEnd`\" pulumi-lang-java=\"`monthEnd`\" pulumi-lang-hcl=\"`month_end`\"\u003e`monthEnd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarterEnd`\" pulumi-lang-dotnet=\"`QuarterEnd`\" pulumi-lang-go=\"`quarterEnd`\" pulumi-lang-python=\"`quarter_end`\" pulumi-lang-yaml=\"`quarterEnd`\" pulumi-lang-java=\"`quarterEnd`\" pulumi-lang-hcl=\"`quarter_end`\"\u003e`quarterEnd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`yearEnd`\" pulumi-lang-dotnet=\"`YearEnd`\" pulumi-lang-go=\"`yearEnd`\" pulumi-lang-python=\"`year_end`\" pulumi-lang-yaml=\"`yearEnd`\" pulumi-lang-java=\"`yearEnd`\" pulumi-lang-hcl=\"`year_end`\"\u003e`yearEnd`\u003c/span\u003e\n",
                        "type": "string"
                    },
                    "lastModifiedAt": {
                        "description": "Time when automation was last modified. Does not change for name or description updates.\n",
                        "type": "string"
                    },
                    "legacyFolderMatching": {
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, use the legacy behavior for this automation, where it can operate on folders in addition to just files.  This behavior no longer works and should not be used.\n",
                        "type": "boolean"
                    },
                    "legacySyncIds": {
                        "description": "IDs of remote sync folder behaviors to run by this Automation\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "name": {
                        "description": "Name for this automation.\n",
                        "type": "string"
                    },
                    "overwriteFiles": {
                        "description": "If true, existing files will be overwritten with new files on Move/Copy automations.  Note: by default files will not be overwritten on Copy automations if they appear to be the same file size as the newly incoming file.  Use the \u003cspan pulumi-lang-nodejs=\"`alwaysOverwriteSizeMatchingFiles`\" pulumi-lang-dotnet=\"`AlwaysOverwriteSizeMatchingFiles`\" pulumi-lang-go=\"`alwaysOverwriteSizeMatchingFiles`\" pulumi-lang-python=\"`always_overwrite_size_matching_files`\" pulumi-lang-yaml=\"`alwaysOverwriteSizeMatchingFiles`\" pulumi-lang-java=\"`alwaysOverwriteSizeMatchingFiles`\" pulumi-lang-hcl=\"`always_overwrite_size_matching_files`\"\u003e`alwaysOverwriteSizeMatchingFiles`\u003c/span\u003e option in conjunction with \u003cspan pulumi-lang-nodejs=\"`overwriteFiles`\" pulumi-lang-dotnet=\"`OverwriteFiles`\" pulumi-lang-go=\"`overwriteFiles`\" pulumi-lang-python=\"`overwrite_files`\" pulumi-lang-yaml=\"`overwriteFiles`\" pulumi-lang-java=\"`overwriteFiles`\" pulumi-lang-hcl=\"`overwrite_files`\"\u003e`overwriteFiles`\u003c/span\u003e to override this behavior and overwrite files no matter what.\n",
                        "type": "boolean"
                    },
                    "path": {
                        "description": "Path on which this Automation runs.  Supports globs, except on remote mounts. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n",
                        "type": "string"
                    },
                    "pathTimeZone": {
                        "description": "Timezone to use when rendering timestamps in paths.\n",
                        "type": "string"
                    },
                    "recurringDay": {
                        "description": "If trigger type is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies a day number to run in one of the supported intervals: \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e.\n",
                        "type": "integer"
                    },
                    "recurringDays": {
                        "description": "If trigger type is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies one or more day numbers to run in one of the supported intervals: \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e.\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "retryOnFailureIntervalInMinutes": {
                        "description": "If the Automation fails, retry at this interval (in minutes).  Acceptable values are 5 through 1440 (one day).  Set to null to disable.\n",
                        "type": "integer"
                    },
                    "retryOnFailureNumberOfAttempts": {
                        "description": "If the Automation fails, retry at most this many times.  Maximum allowed value: 10.  Set to null to disable.\n",
                        "type": "integer"
                    },
                    "schedule": {
                        "$ref": "pulumi.json#/Any",
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, Custom schedule description for when the automation should be run in json format.\n"
                    },
                    "scheduleDaysOfWeeks": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, Custom schedule description for when the automation should be run. 0 is Sunday, 1 is Monday, etc.\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "scheduleId": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the reusable Schedule used instead of the automation's schedule fields.\n",
                        "type": "integer"
                    },
                    "scheduleTimeZone": {
                        "description": "Time zone for the schedule. If not set, times are interpreted as UTC.\n",
                        "type": "string"
                    },
                    "scheduleTimesOfDays": {
                        "description": "Times of day to run in HH:MM format (24-hour). For \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, run at these times on specified days of week. For \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, run at these times on the scheduled interval date.\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "source": {
                        "description": "Source path/glob.  See Automation docs for exact description, but this is used to filter for files in the \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e to find files to operate on. Supports globs, except on remote mounts.\n",
                        "type": "string"
                    },
                    "syncIds": {
                        "description": "IDs of syncs to run by this Automation. This is the new way to specify syncs, and it is recommended to use this instead of \u003cspan pulumi-lang-nodejs=\"`legacySyncIds`\" pulumi-lang-dotnet=\"`LegacySyncIds`\" pulumi-lang-go=\"`legacySyncIds`\" pulumi-lang-python=\"`legacy_sync_ids`\" pulumi-lang-yaml=\"`legacySyncIds`\" pulumi-lang-java=\"`legacySyncIds`\" pulumi-lang-hcl=\"`legacy_sync_ids`\"\u003e`legacySyncIds`\u003c/span\u003e.\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "trigger": {
                        "description": "How this automation is triggered to run.\n",
                        "type": "string"
                    },
                    "triggerActions": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\" pulumi-lang-hcl=\"`action`\"\u003e`action`\u003c/span\u003e, this is the list of action types on which to trigger the automation. Valid actions are create, copy, move, archived_delete, update, read, destroy\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "userId": {
                        "description": "User ID of the Automation's creator.\n",
                        "type": "integer"
                    },
                    "userIds": {
                        "description": "IDs of Users for the Automation (i.e. who to Request File from)\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "value": {
                        "$ref": "pulumi.json#/Any",
                        "description": "A Hash of attributes specific to the automation type.\n"
                    },
                    "version": {
                        "description": "Current Automation v2 definition version.\n",
                        "type": "integer"
                    },
                    "webhookUrl": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`webhook`\" pulumi-lang-dotnet=\"`Webhook`\" pulumi-lang-go=\"`webhook`\" pulumi-lang-python=\"`webhook`\" pulumi-lang-yaml=\"`webhook`\" pulumi-lang-java=\"`webhook`\" pulumi-lang-hcl=\"`webhook`\"\u003e`webhook`\u003c/span\u003e, this is the URL of the webhook to trigger the Automation.\n",
                        "type": "string"
                    },
                    "workspaceId": {
                        "description": "Workspace ID\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "alwaysOverwriteSizeMatchingFiles",
                    "alwaysSerializeJobs",
                    "automation",
                    "definition",
                    "deleted",
                    "description",
                    "destinationReplaceFrom",
                    "destinationReplaceTo",
                    "destinations",
                    "disabled",
                    "excludePattern",
                    "flattenDestinationStructure",
                    "groupIds",
                    "holidayRegion",
                    "humanReadableSchedule",
                    "id",
                    "ignoreLockedFolders",
                    "importUrls",
                    "inboundEmailAddress",
                    "interval",
                    "lastModifiedAt",
                    "legacyFolderMatching",
                    "legacySyncIds",
                    "name",
                    "overwriteFiles",
                    "path",
                    "pathTimeZone",
                    "recurringDay",
                    "recurringDays",
                    "retryOnFailureIntervalInMinutes",
                    "retryOnFailureNumberOfAttempts",
                    "schedule",
                    "scheduleDaysOfWeeks",
                    "scheduleId",
                    "scheduleTimeZone",
                    "scheduleTimesOfDays",
                    "source",
                    "syncIds",
                    "trigger",
                    "triggerActions",
                    "userId",
                    "userIds",
                    "value",
                    "version",
                    "webhookUrl",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getAutomationRun:getAutomationRun": {
            "description": "An AutomationRun is a record with information about a single execution of a given Automation.\n\n\n\nAutomation Runs can be retried upon \u003cspan pulumi-lang-nodejs=\"`failure`\" pulumi-lang-dotnet=\"`Failure`\" pulumi-lang-go=\"`failure`\" pulumi-lang-python=\"`failure`\" pulumi-lang-yaml=\"`failure`\" pulumi-lang-java=\"`failure`\" pulumi-lang-hcl=\"`failure`\"\u003e`failure`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`partialFailure`\" pulumi-lang-dotnet=\"`PartialFailure`\" pulumi-lang-go=\"`partialFailure`\" pulumi-lang-python=\"`partial_failure`\" pulumi-lang-yaml=\"`partialFailure`\" pulumi-lang-java=\"`partialFailure`\" pulumi-lang-hcl=\"`partial_failure`\"\u003e`partialFailure`\u003c/span\u003e by setting the \u003cspan pulumi-lang-nodejs=\"`retryOnFailureIntervalInMinutes`\" pulumi-lang-dotnet=\"`RetryOnFailureIntervalInMinutes`\" pulumi-lang-go=\"`retryOnFailureIntervalInMinutes`\" pulumi-lang-python=\"`retry_on_failure_interval_in_minutes`\" pulumi-lang-yaml=\"`retryOnFailureIntervalInMinutes`\" pulumi-lang-java=\"`retryOnFailureIntervalInMinutes`\" pulumi-lang-hcl=\"`retry_on_failure_interval_in_minutes`\"\u003e`retryOnFailureIntervalInMinutes`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`retryOnFailureNumberOfAttempts`\" pulumi-lang-dotnet=\"`RetryOnFailureNumberOfAttempts`\" pulumi-lang-go=\"`retryOnFailureNumberOfAttempts`\" pulumi-lang-python=\"`retry_on_failure_number_of_attempts`\" pulumi-lang-yaml=\"`retryOnFailureNumberOfAttempts`\" pulumi-lang-java=\"`retryOnFailureNumberOfAttempts`\" pulumi-lang-hcl=\"`retry_on_failure_number_of_attempts`\"\u003e`retryOnFailureNumberOfAttempts`\u003c/span\u003e settings on the associated Automation.\n\n\n\nWhen retries occur, a new AutomationRun will be created for each retry. The property \u003cspan pulumi-lang-nodejs=\"`retryAt`\" pulumi-lang-dotnet=\"`RetryAt`\" pulumi-lang-go=\"`retryAt`\" pulumi-lang-python=\"`retry_at`\" pulumi-lang-yaml=\"`retryAt`\" pulumi-lang-java=\"`retryAt`\" pulumi-lang-hcl=\"`retry_at`\"\u003e`retryAt`\u003c/span\u003e on the original run, if set, represents when that run will be retried next. The properties \u003cspan pulumi-lang-nodejs=\"`retriedAt`\" pulumi-lang-dotnet=\"`RetriedAt`\" pulumi-lang-go=\"`retriedAt`\" pulumi-lang-python=\"`retried_at`\" pulumi-lang-yaml=\"`retriedAt`\" pulumi-lang-java=\"`retriedAt`\" pulumi-lang-hcl=\"`retried_at`\"\u003e`retriedAt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`retriedInRunId`\" pulumi-lang-dotnet=\"`RetriedInRunId`\" pulumi-lang-go=\"`retriedInRunId`\" pulumi-lang-python=\"`retried_in_run_id`\" pulumi-lang-yaml=\"`retriedInRunId`\" pulumi-lang-java=\"`retriedInRunId`\" pulumi-lang-hcl=\"`retried_in_run_id`\"\u003e`retriedInRunId`\u003c/span\u003e will be set in the original run that failed, at the time of retry. The property \u003cspan pulumi-lang-nodejs=\"`retryOfRunId`\" pulumi-lang-dotnet=\"`RetryOfRunId`\" pulumi-lang-go=\"`retryOfRunId`\" pulumi-lang-python=\"`retry_of_run_id`\" pulumi-lang-yaml=\"`retryOfRunId`\" pulumi-lang-java=\"`retryOfRunId`\" pulumi-lang-hcl=\"`retry_of_run_id`\"\u003e`retryOfRunId`\u003c/span\u003e will be set in the new run.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleAutomationRun = filescom.getAutomationRun({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_automation_run = filescom.get_automation_run(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleAutomationRun = Filescom.GetAutomationRun.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetAutomationRun(ctx, \u0026filescom.GetAutomationRunArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getautomationrun\" \"exampleAutomationRun\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetAutomationRunArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleAutomationRun = FilescomFunctions.getAutomationRun(GetAutomationRunArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleAutomationRun:\n    fn::invoke:\n      function: filescom:getAutomationRun\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getAutomationRun.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "ID.\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getAutomationRun.\n",
                "properties": {
                    "automationId": {
                        "description": "ID of the associated Automation.\n",
                        "type": "integer"
                    },
                    "automationVersionId": {
                        "description": "ID of the immutable Automation version pinned by this run.\n",
                        "type": "integer"
                    },
                    "cancelRequestedAt": {
                        "description": "Date/time at which cancellation was requested.\n",
                        "type": "string"
                    },
                    "completedAt": {
                        "description": "Automation run completion/failure date/time.\n",
                        "type": "string"
                    },
                    "createdAt": {
                        "description": "Automation run start date/time.\n",
                        "type": "string"
                    },
                    "definition": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Automation definition snapshot pinned by this run. For performance reasons, this is not provided when listing Automation runs.\n"
                    },
                    "executionNodes": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Execution status, timing, and bounded output summaries for each node. For performance reasons, this is not provided when listing Automation runs.\n"
                    },
                    "failedOperations": {
                        "description": "Count of failed operations.\n",
                        "type": "integer"
                    },
                    "id": {
                        "description": "ID.\n",
                        "type": "integer"
                    },
                    "journalUrl": {
                        "description": "Link to the run journal artifact.\n",
                        "type": "string"
                    },
                    "nodeStates": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Status and execution stage for each node in this run. For performance reasons, this is not provided when listing Automation runs.\n"
                    },
                    "rerunFromNodeId": {
                        "description": "Node at which this run resumed execution.\n",
                        "type": "string"
                    },
                    "rerunOfRunId": {
                        "description": "ID of the run whose persisted node outputs this run reused.\n",
                        "type": "integer"
                    },
                    "retriedAt": {
                        "description": "If set, this Automation run was retried due to \u003cspan pulumi-lang-nodejs=\"`failure`\" pulumi-lang-dotnet=\"`Failure`\" pulumi-lang-go=\"`failure`\" pulumi-lang-python=\"`failure`\" pulumi-lang-yaml=\"`failure`\" pulumi-lang-java=\"`failure`\" pulumi-lang-hcl=\"`failure`\"\u003e`failure`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`partialFailure`\" pulumi-lang-dotnet=\"`PartialFailure`\" pulumi-lang-go=\"`partialFailure`\" pulumi-lang-python=\"`partial_failure`\" pulumi-lang-yaml=\"`partialFailure`\" pulumi-lang-java=\"`partialFailure`\" pulumi-lang-hcl=\"`partial_failure`\"\u003e`partialFailure`\u003c/span\u003e.\n",
                        "type": "string"
                    },
                    "retriedInRunId": {
                        "description": "ID of the run that is or will be retrying this run.\n",
                        "type": "integer"
                    },
                    "retryAt": {
                        "description": "If set, this automation will be retried at this date/time due to \u003cspan pulumi-lang-nodejs=\"`failure`\" pulumi-lang-dotnet=\"`Failure`\" pulumi-lang-go=\"`failure`\" pulumi-lang-python=\"`failure`\" pulumi-lang-yaml=\"`failure`\" pulumi-lang-java=\"`failure`\" pulumi-lang-hcl=\"`failure`\"\u003e`failure`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`partialFailure`\" pulumi-lang-dotnet=\"`PartialFailure`\" pulumi-lang-go=\"`partialFailure`\" pulumi-lang-python=\"`partial_failure`\" pulumi-lang-yaml=\"`partialFailure`\" pulumi-lang-java=\"`partialFailure`\" pulumi-lang-hcl=\"`partial_failure`\"\u003e`partialFailure`\u003c/span\u003e.\n",
                        "type": "string"
                    },
                    "retryOfRunId": {
                        "description": "ID of the original run that this run is retrying.\n",
                        "type": "integer"
                    },
                    "runtime": {
                        "description": "Automation run runtime.\n",
                        "type": "number"
                    },
                    "status": {
                        "description": "The status of the AutomationRun. One of \u003cspan pulumi-lang-nodejs=\"`queued`\" pulumi-lang-dotnet=\"`Queued`\" pulumi-lang-go=\"`queued`\" pulumi-lang-python=\"`queued`\" pulumi-lang-yaml=\"`queued`\" pulumi-lang-java=\"`queued`\" pulumi-lang-hcl=\"`queued`\"\u003e`queued`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`running`\" pulumi-lang-dotnet=\"`Running`\" pulumi-lang-go=\"`running`\" pulumi-lang-python=\"`running`\" pulumi-lang-yaml=\"`running`\" pulumi-lang-java=\"`running`\" pulumi-lang-hcl=\"`running`\"\u003e`running`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`success`\" pulumi-lang-dotnet=\"`Success`\" pulumi-lang-go=\"`success`\" pulumi-lang-python=\"`success`\" pulumi-lang-yaml=\"`success`\" pulumi-lang-java=\"`success`\" pulumi-lang-hcl=\"`success`\"\u003e`success`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`partialFailure`\" pulumi-lang-dotnet=\"`PartialFailure`\" pulumi-lang-go=\"`partialFailure`\" pulumi-lang-python=\"`partial_failure`\" pulumi-lang-yaml=\"`partialFailure`\" pulumi-lang-java=\"`partialFailure`\" pulumi-lang-hcl=\"`partial_failure`\"\u003e`partialFailure`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`failure`\" pulumi-lang-dotnet=\"`Failure`\" pulumi-lang-go=\"`failure`\" pulumi-lang-python=\"`failure`\" pulumi-lang-yaml=\"`failure`\" pulumi-lang-java=\"`failure`\" pulumi-lang-hcl=\"`failure`\"\u003e`failure`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`skipped`\" pulumi-lang-dotnet=\"`Skipped`\" pulumi-lang-go=\"`skipped`\" pulumi-lang-python=\"`skipped`\" pulumi-lang-yaml=\"`skipped`\" pulumi-lang-java=\"`skipped`\" pulumi-lang-hcl=\"`skipped`\"\u003e`skipped`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`canceled`\" pulumi-lang-dotnet=\"`Canceled`\" pulumi-lang-go=\"`canceled`\" pulumi-lang-python=\"`canceled`\" pulumi-lang-yaml=\"`canceled`\" pulumi-lang-java=\"`canceled`\" pulumi-lang-hcl=\"`canceled`\"\u003e`canceled`\u003c/span\u003e.\n",
                        "type": "string"
                    },
                    "statusMessagesUrl": {
                        "description": "Link to status messages log file.\n",
                        "type": "string"
                    },
                    "successfulOperations": {
                        "description": "Count of successful operations.\n",
                        "type": "integer"
                    },
                    "version": {
                        "description": "Pinned Automation v2 definition version.\n",
                        "type": "integer"
                    },
                    "workspaceId": {
                        "description": "Workspace ID.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "automationId",
                    "automationVersionId",
                    "cancelRequestedAt",
                    "completedAt",
                    "createdAt",
                    "definition",
                    "executionNodes",
                    "failedOperations",
                    "id",
                    "journalUrl",
                    "nodeStates",
                    "rerunFromNodeId",
                    "rerunOfRunId",
                    "retriedAt",
                    "retriedInRunId",
                    "retryAt",
                    "retryOfRunId",
                    "runtime",
                    "status",
                    "statusMessagesUrl",
                    "successfulOperations",
                    "version",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getBehavior:getBehavior": {
            "description": "A Behavior is an API resource for what are also known as Folder Settings. Every behavior is associated with a folder.\n\n\n\nDepending on the behavior, it may also operate on child folders. It may be overridable at the child folder level or maybe can be added to at the child folder level. The exact options for each behavior type are explained in the table below.\n\n\n\nEach behavior type also has a recursion mode in the behavior type documentation. \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\" pulumi-lang-hcl=\"`always`\"\u003e`always`\u003c/span\u003e means the behavior is always recursive, \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\" pulumi-lang-hcl=\"`never`\"\u003e`never`\u003c/span\u003e means it is never recursive, and \u003cspan pulumi-lang-nodejs=\"`sometimes`\" pulumi-lang-dotnet=\"`Sometimes`\" pulumi-lang-go=\"`sometimes`\" pulumi-lang-python=\"`sometimes`\" pulumi-lang-yaml=\"`sometimes`\" pulumi-lang-java=\"`sometimes`\" pulumi-lang-hcl=\"`sometimes`\"\u003e`sometimes`\u003c/span\u003e means callers may choose the value of the \u003cspan pulumi-lang-nodejs=\"`recursive`\" pulumi-lang-dotnet=\"`Recursive`\" pulumi-lang-go=\"`recursive`\" pulumi-lang-python=\"`recursive`\" pulumi-lang-yaml=\"`recursive`\" pulumi-lang-java=\"`recursive`\" pulumi-lang-hcl=\"`recursive`\"\u003e`recursive`\u003c/span\u003e field.\n\n\n\nAdditionally, some behaviors are visible to non-admins, and others are even settable by non-admins. All the details are below.\n\n\n\nEach behavior uses a different format for storing its settings value. Next to each behavior type is an example value. Our API and SDKs currently require that the value for behaviors be sent as raw JSON within the \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\" pulumi-lang-hcl=\"`value`\"\u003e`value`\u003c/span\u003e field. Our SDK generator and API documentation generator doesn't fully keep up with this requirement, so if you need any help finding the exact syntax to use for your language or use case, just reach out.\n\n\n\nNote: Append Timestamp behavior removed. Check Override Upload Filename behavior which have even more functionality to modify name on upload.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleBehavior = filescom.getBehavior({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_behavior = filescom.get_behavior(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleBehavior = Filescom.GetBehavior.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetBehavior(ctx, \u0026filescom.LookupBehaviorArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getbehavior\" \"exampleBehavior\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetBehaviorArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleBehavior = FilescomFunctions.getBehavior(GetBehaviorArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleBehavior:\n    fn::invoke:\n      function: filescom:getBehavior\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getBehavior.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Folder behavior ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getBehavior.\n",
                "properties": {
                    "attachmentUrl": {
                        "description": "URL for attached file\n",
                        "type": "string"
                    },
                    "behavior": {
                        "description": "Behavior type.\n",
                        "type": "string"
                    },
                    "description": {
                        "description": "Description for this behavior.\n",
                        "type": "string"
                    },
                    "disableParentFolderBehavior": {
                        "description": "If true, the parent folder's behavior will be disabled for this folder and its children.\n",
                        "type": "boolean"
                    },
                    "id": {
                        "description": "Folder behavior ID\n",
                        "type": "integer"
                    },
                    "inherited": {
                        "description": "If true, this behavior is inherited from a higher scope rather than owned by the requested workspace.\n",
                        "type": "boolean"
                    },
                    "managed": {
                        "description": "If true, this behavior is controlled by a parent-site policy and cannot be modified locally.\n",
                        "type": "boolean"
                    },
                    "name": {
                        "description": "Name for this behavior.\n",
                        "type": "string"
                    },
                    "path": {
                        "description": "Folder path.  Note that Behavior paths cannot be updated once initially set.  You will need to remove and re-create the behavior on the new path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n",
                        "type": "string"
                    },
                    "publicHostingUrl": {
                        "description": "Public URL for this publicly hosted folder when the `Serve Publicly` behavior has a key configured.  When a Custom Domain with \u003cspan pulumi-lang-nodejs=\"`publicHosting`\" pulumi-lang-dotnet=\"`PublicHosting`\" pulumi-lang-go=\"`publicHosting`\" pulumi-lang-python=\"`public_hosting`\" pulumi-lang-yaml=\"`publicHosting`\" pulumi-lang-java=\"`publicHosting`\" pulumi-lang-hcl=\"`public_hosting`\"\u003e`publicHosting`\u003c/span\u003e destination is attached to this behavior, the URL uses that domain.  Otherwise it uses the site's `subdomain.hosted-by-files.com` host.\n",
                        "type": "string"
                    },
                    "recursive": {
                        "description": "Whether this behavior is recursive for this record. \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\" pulumi-lang-hcl=\"`always`\"\u003e`always`\u003c/span\u003e behaviors are always \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\" pulumi-lang-hcl=\"`never`\"\u003e`never`\u003c/span\u003e behaviors are always \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`sometimes`\" pulumi-lang-dotnet=\"`Sometimes`\" pulumi-lang-go=\"`sometimes`\" pulumi-lang-python=\"`sometimes`\" pulumi-lang-yaml=\"`sometimes`\" pulumi-lang-java=\"`sometimes`\" pulumi-lang-hcl=\"`sometimes`\"\u003e`sometimes`\u003c/span\u003e behaviors may be either value.\n",
                        "type": "boolean"
                    },
                    "rootBehaviorSiteAdminOnly": {
                        "description": "If true, this behavior may only be modified by a site admin because it is at the site root or disables a root behavior.\n",
                        "type": "boolean"
                    },
                    "value": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Settings for this behavior.  See the section above for an example value to provide here.  Formatting is different for each Behavior type.  Write this property as nested JSON.  A JSON-encoded string creates the behavior, and then every later plan fails.  The bridge cannot change the runtime type of a Dynamic property (pulumi/pulumi-terraform-bridge#3122).\n"
                    }
                },
                "required": [
                    "attachmentUrl",
                    "behavior",
                    "description",
                    "disableParentFolderBehavior",
                    "id",
                    "inherited",
                    "managed",
                    "name",
                    "path",
                    "publicHostingUrl",
                    "recursive",
                    "rootBehaviorSiteAdminOnly",
                    "value"
                ],
                "type": "object"
            }
        },
        "filescom:index/getBundle:getBundle": {
            "description": "A Bundle is the API/SDK term for the feature called Share Links in the web interface.\n\nThe API provides the full set of actions related to Share Links, including sending them via E-Mail.\n\n\n\nPlease note that we very closely monitor the E-Mailing feature and any abuse will result in disabling of your site.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleBundle = filescom.getBundle({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_bundle = filescom.get_bundle(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleBundle = Filescom.GetBundle.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetBundle(ctx, \u0026filescom.LookupBundleArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getbundle\" \"exampleBundle\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetBundleArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleBundle = FilescomFunctions.getBundle(GetBundleArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleBundle:\n    fn::invoke:\n      function: filescom:getBundle\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getBundle.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Bundle ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getBundle.\n",
                "properties": {
                    "bundlepaths": {
                        "$ref": "pulumi.json#/Any",
                        "description": "A list of bundlepaths in this bundle.  For performance reasons, this is not provided when listing bundles.\n"
                    },
                    "bypassesSiteExpirationRules": {
                        "description": "If true, this Share Link bypasses site-wide expiration rules. Only site admins may set this.\n",
                        "type": "boolean"
                    },
                    "clickwrapBody": {
                        "description": "Legal text that must be agreed to prior to accessing Bundle.\n",
                        "type": "string"
                    },
                    "clickwrapId": {
                        "description": "ID of the clickwrap to use with this bundle.\n",
                        "type": "integer"
                    },
                    "code": {
                        "description": "Bundle code.  This code forms the end part of the Public URL.\n",
                        "type": "string"
                    },
                    "colorLeft": {
                        "description": "Page link and button color\n",
                        "type": "string"
                    },
                    "colorLink": {
                        "description": "Top bar link color\n",
                        "type": "string"
                    },
                    "colorText": {
                        "description": "Page link and button color\n",
                        "type": "string"
                    },
                    "colorTop": {
                        "description": "Top bar background color\n",
                        "type": "string"
                    },
                    "colorTopText": {
                        "description": "Top bar text color\n",
                        "type": "string"
                    },
                    "createdAt": {
                        "description": "Bundle created at date/time\n",
                        "type": "string"
                    },
                    "deleted": {
                        "description": "Indicates if the bundle has been deleted.\n",
                        "type": "boolean"
                    },
                    "deletedAt": {
                        "description": "Bundle deleted at date/time\n",
                        "type": "string"
                    },
                    "description": {
                        "description": "Public description\n",
                        "type": "string"
                    },
                    "dontAllowFoldersInUploads": {
                        "description": "Should folder uploads be prevented?\n",
                        "type": "boolean"
                    },
                    "dontSeparateSubmissionsByFolder": {
                        "description": "Do not create subfolders for files uploaded to this share. Note: there are subtle security pitfalls with allowing anonymous uploads from multiple users to live in the same folder. We strongly discourage use of this option unless absolutely required.\n",
                        "type": "boolean"
                    },
                    "expiresAt": {
                        "description": "Bundle expiration date/time\n",
                        "type": "string"
                    },
                    "formFieldSet": {
                        "description": "Custom Form to use\n",
                        "type": "string"
                    },
                    "groupId": {
                        "description": "Owning group ID. If set, members of this group can view, edit, and share this Share Link.\n",
                        "type": "integer"
                    },
                    "hasInbox": {
                        "description": "Does this bundle have an associated inbox?\n",
                        "type": "boolean"
                    },
                    "id": {
                        "description": "Bundle ID\n",
                        "type": "integer"
                    },
                    "inboxId": {
                        "description": "ID of the associated inbox, if available.\n",
                        "type": "integer"
                    },
                    "internalName": {
                        "description": "Internal name for identifying this Share Link.\n",
                        "type": "string"
                    },
                    "maxUses": {
                        "description": "Maximum number of times bundle can be accessed\n",
                        "type": "integer"
                    },
                    "note": {
                        "description": "Bundle internal note\n",
                        "type": "string"
                    },
                    "passwordProtected": {
                        "description": "Is this bundle password protected?\n",
                        "type": "boolean"
                    },
                    "pathTemplate": {
                        "description": "Template for creating submission subfolders. Can use the uploader's name, email address, ip, company, \u003cspan pulumi-lang-nodejs=\"`strftime`\" pulumi-lang-dotnet=\"`Strftime`\" pulumi-lang-go=\"`strftime`\" pulumi-lang-python=\"`strftime`\" pulumi-lang-yaml=\"`strftime`\" pulumi-lang-java=\"`strftime`\" pulumi-lang-hcl=\"`strftime`\"\u003e`strftime`\u003c/span\u003e directives, and any custom form data.\n",
                        "type": "string"
                    },
                    "pathTemplateTimeZone": {
                        "description": "Timezone to use when rendering timestamps in path templates.\n",
                        "type": "string"
                    },
                    "paths": {
                        "description": "A list of paths in this bundle.  For performance reasons, this is not provided when listing bundles.\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "permissions": {
                        "description": "Permissions that apply to Folders in this Share Link.\n",
                        "type": "string"
                    },
                    "previewOnly": {
                        "type": "boolean"
                    },
                    "requestedUploadSlots": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Upload slots requested by the associated Inbox. Each slot contains a name used as its label and destination subfolder name.\n"
                    },
                    "requireLogout": {
                        "description": "If true, we will hide the 'Remember Me' box on the Bundle registration page, requiring that the user logout and log back in every time they visit the page.\n",
                        "type": "boolean"
                    },
                    "requireRegistration": {
                        "description": "Show a registration page that captures the downloader's name and email address?\n",
                        "type": "boolean"
                    },
                    "requireShareRecipient": {
                        "description": "Only allow access to recipients who have explicitly received the share via an email sent through the Files.com UI?\n",
                        "type": "boolean"
                    },
                    "sendEmailReceiptToUploader": {
                        "description": "Send delivery receipt to the uploader. Note: For writable share only\n",
                        "type": "boolean"
                    },
                    "sendOneTimePasswordToRecipientAtRegistration": {
                        "description": "If true, require*share*recipient bundles will send a one-time password to the recipient when they register. Cannot be enabled if the bundle has a password set.\n",
                        "type": "boolean"
                    },
                    "skipCompany": {
                        "description": "BundleRegistrations can be saved without providing company?\n",
                        "type": "boolean"
                    },
                    "skipEmail": {
                        "description": "BundleRegistrations can be saved without providing email?\n",
                        "type": "boolean"
                    },
                    "skipName": {
                        "description": "BundleRegistrations can be saved without providing name?\n",
                        "type": "boolean"
                    },
                    "snapshotId": {
                        "description": "ID of the snapshot containing this bundle's contents.\n",
                        "type": "integer"
                    },
                    "startAccessOnDate": {
                        "description": "Date when share will start to be accessible. If \u003cspan pulumi-lang-nodejs=\"`nil`\" pulumi-lang-dotnet=\"`Nil`\" pulumi-lang-go=\"`nil`\" pulumi-lang-python=\"`nil`\" pulumi-lang-yaml=\"`nil`\" pulumi-lang-java=\"`nil`\" pulumi-lang-hcl=\"`nil`\"\u003e`nil`\u003c/span\u003e access granted right after create.\n",
                        "type": "string"
                    },
                    "url": {
                        "description": "Public URL of Share Link\n",
                        "type": "string"
                    },
                    "userId": {
                        "description": "Bundle creator user ID\n",
                        "type": "integer"
                    },
                    "username": {
                        "description": "Bundle creator username\n",
                        "type": "string"
                    },
                    "watermarkAttachment": {
                        "description": "Preview watermark image applied to all bundle items.\n",
                        "type": "string"
                    },
                    "watermarkValue": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Preview watermark settings applied to all bundle items. Uses the same keys as Behavior.value\n"
                    },
                    "workspaceId": {
                        "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "bundlepaths",
                    "bypassesSiteExpirationRules",
                    "clickwrapBody",
                    "clickwrapId",
                    "code",
                    "colorLeft",
                    "colorLink",
                    "colorText",
                    "colorTop",
                    "colorTopText",
                    "createdAt",
                    "deleted",
                    "deletedAt",
                    "description",
                    "dontAllowFoldersInUploads",
                    "dontSeparateSubmissionsByFolder",
                    "expiresAt",
                    "formFieldSet",
                    "groupId",
                    "hasInbox",
                    "id",
                    "inboxId",
                    "internalName",
                    "maxUses",
                    "note",
                    "passwordProtected",
                    "pathTemplate",
                    "pathTemplateTimeZone",
                    "paths",
                    "permissions",
                    "previewOnly",
                    "requestedUploadSlots",
                    "requireLogout",
                    "requireRegistration",
                    "requireShareRecipient",
                    "sendEmailReceiptToUploader",
                    "sendOneTimePasswordToRecipientAtRegistration",
                    "skipCompany",
                    "skipEmail",
                    "skipName",
                    "snapshotId",
                    "startAccessOnDate",
                    "url",
                    "userId",
                    "username",
                    "watermarkAttachment",
                    "watermarkValue",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getBundleNotification:getBundleNotification": {
            "description": "A BundleNotification is an E-Mail sent out to users when certain actions are performed on or within a shared set of files and folders.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleBundleNotification = filescom.getBundleNotification({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_bundle_notification = filescom.get_bundle_notification(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleBundleNotification = Filescom.GetBundleNotification.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetBundleNotification(ctx, \u0026filescom.LookupBundleNotificationArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getbundlenotification\" \"exampleBundleNotification\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetBundleNotificationArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleBundleNotification = FilescomFunctions.getBundleNotification(GetBundleNotificationArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleBundleNotification:\n    fn::invoke:\n      function: filescom:getBundleNotification\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getBundleNotification.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Bundle Notification ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getBundleNotification.\n",
                "properties": {
                    "bundleId": {
                        "description": "Bundle ID to notify on\n",
                        "type": "integer"
                    },
                    "id": {
                        "description": "Bundle Notification ID\n",
                        "type": "integer"
                    },
                    "notifyCurrentUser": {
                        "description": "Is the current user the user to notify?\n",
                        "type": "boolean"
                    },
                    "notifyOnRegistration": {
                        "description": "Triggers bundle notification when a registration action occurs for it.\n",
                        "type": "boolean"
                    },
                    "notifyOnUpload": {
                        "description": "Triggers bundle notification when a upload action occurs for it.\n",
                        "type": "boolean"
                    },
                    "notifyUserId": {
                        "description": "The id of the user to notify.\n",
                        "type": "integer"
                    },
                    "workspaceId": {
                        "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "bundleId",
                    "id",
                    "notifyCurrentUser",
                    "notifyOnRegistration",
                    "notifyOnUpload",
                    "notifyUserId",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getChatSession:getChatSession": {
            "description": "A ChatSession represents one conversation with the Files.com AI Assistant.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleChatSession = filescom.getChatSession({\n    id: \"id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_chat_session = filescom.get_chat_session(id=\"id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleChatSession = Filescom.GetChatSession.Invoke(new()\n    {\n        Id = \"id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetChatSession(ctx, \u0026filescom.GetChatSessionArgs{\n\t\t\tId: \"id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getchatsession\" \"exampleChatSession\" {\n  id = \"id\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetChatSessionArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleChatSession = FilescomFunctions.getChatSession(GetChatSessionArgs.builder()\n            .id(\"id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleChatSession:\n    fn::invoke:\n      function: filescom:getChatSession\n      arguments:\n        id: id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getChatSession.\n",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "Chat Session ID.\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getChatSession.\n",
                "properties": {
                    "aiTaskId": {
                        "description": "AI Task ID. Present when the conversation was started by an AI Task.\n",
                        "type": "integer"
                    },
                    "createdAt": {
                        "description": "Chat session creation date/time.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Chat Session ID.\n",
                        "type": "string"
                    },
                    "lastActiveAt": {
                        "description": "Most recent chat activity date/time.\n",
                        "type": "string"
                    },
                    "messages": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Visible conversation messages in this chat session. For performance reasons, this is not provided when listing chat sessions.\n"
                    },
                    "title": {
                        "description": "Short AI-generated chat title.\n",
                        "type": "string"
                    },
                    "userId": {
                        "description": "User ID.\n",
                        "type": "integer"
                    },
                    "workspaceId": {
                        "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "aiTaskId",
                    "createdAt",
                    "id",
                    "lastActiveAt",
                    "messages",
                    "title",
                    "userId",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getChildSiteManagementPolicy:getChildSiteManagementPolicy": {
            "description": "A Child Site Management Policy is a centralized policy defined by a parent site to enforce consistent configurations across child sites. These policies allow parent sites to maintain control over specific aspects of their child sites' functionality and appearance.\n\n\n\nNon-default policies apply only to the child sites listed in \u003cspan pulumi-lang-nodejs=\"`childSiteIds`\" pulumi-lang-dotnet=\"`ChildSiteIds`\" pulumi-lang-go=\"`childSiteIds`\" pulumi-lang-python=\"`child_site_ids`\" pulumi-lang-yaml=\"`childSiteIds`\" pulumi-lang-java=\"`childSiteIds`\" pulumi-lang-hcl=\"`child_site_ids`\"\u003e`childSiteIds`\u003c/span\u003e, and each child site can be explicitly assigned to only one policy.\n\n\n\nOne policy can be designated as the default policy. It applies to every child site not explicitly assigned to another policy or listed in its \u003cspan pulumi-lang-nodejs=\"`skipChildSiteIds`\" pulumi-lang-dotnet=\"`SkipChildSiteIds`\" pulumi-lang-go=\"`skipChildSiteIds`\" pulumi-lang-python=\"`skip_child_site_ids`\" pulumi-lang-yaml=\"`skipChildSiteIds`\" pulumi-lang-java=\"`skipChildSiteIds`\" pulumi-lang-hcl=\"`skip_child_site_ids`\"\u003e`skipChildSiteIds`\u003c/span\u003e, including newly created child sites. Only a default policy can exclude child sites. The \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\" pulumi-lang-hcl=\"`value`\"\u003e`value`\u003c/span\u003e field contains the policy configuration data, with the format varying based on the policy type. When a policy is active, its managed configurations are automatically enforced on applicable child sites, and attribute modifications are not permitted.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleChildSiteManagementPolicy = filescom.getChildSiteManagementPolicy({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_child_site_management_policy = filescom.get_child_site_management_policy(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleChildSiteManagementPolicy = Filescom.GetChildSiteManagementPolicy.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetChildSiteManagementPolicy(ctx, \u0026filescom.LookupChildSiteManagementPolicyArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getchildsitemanagementpolicy\" \"exampleChildSiteManagementPolicy\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetChildSiteManagementPolicyArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleChildSiteManagementPolicy = FilescomFunctions.getChildSiteManagementPolicy(GetChildSiteManagementPolicyArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleChildSiteManagementPolicy:\n    fn::invoke:\n      function: filescom:getChildSiteManagementPolicy\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getChildSiteManagementPolicy.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Policy ID.\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getChildSiteManagementPolicy.\n",
                "properties": {
                    "appliedChildSiteIds": {
                        "description": "IDs of child sites that this policy has been applied to. This field is read-only.\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "childSiteIds": {
                        "description": "IDs of child sites explicitly assigned to this non-default policy.\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "createdAt": {
                        "description": "When this policy was created.\n",
                        "type": "string"
                    },
                    "defaultPolicy": {
                        "description": "Whether this policy applies to child sites not explicitly assigned to another policy.\n",
                        "type": "boolean"
                    },
                    "description": {
                        "description": "Description for this policy.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Policy ID.\n",
                        "type": "integer"
                    },
                    "name": {
                        "description": "Name for this policy.\n",
                        "type": "string"
                    },
                    "policyType": {
                        "description": "Type of policy.  Valid values: \u003cspan pulumi-lang-nodejs=\"`settings`\" pulumi-lang-dotnet=\"`Settings`\" pulumi-lang-go=\"`settings`\" pulumi-lang-python=\"`settings`\" pulumi-lang-yaml=\"`settings`\" pulumi-lang-java=\"`settings`\" pulumi-lang-hcl=\"`settings`\"\u003e`settings`\u003c/span\u003e.\n",
                        "type": "string"
                    },
                    "skipChildSiteIds": {
                        "description": "IDs of child sites excluded from this default policy.\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "updatedAt": {
                        "description": "When this policy was last updated.\n",
                        "type": "string"
                    },
                    "value": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Policy configuration data. Settings policies accept site settings plus an optional \u003cspan pulumi-lang-nodejs=\"`folderBehaviors`\" pulumi-lang-dotnet=\"`FolderBehaviors`\" pulumi-lang-go=\"`folderBehaviors`\" pulumi-lang-python=\"`folder_behaviors`\" pulumi-lang-yaml=\"`folderBehaviors`\" pulumi-lang-java=\"`folderBehaviors`\" pulumi-lang-hcl=\"`folder_behaviors`\"\u003e`folderBehaviors`\u003c/span\u003e array for parent-managed root behaviors on child sites. For more information, refer to the Value Hash section of the developer documentation.\n"
                    }
                },
                "required": [
                    "appliedChildSiteIds",
                    "childSiteIds",
                    "createdAt",
                    "defaultPolicy",
                    "description",
                    "id",
                    "name",
                    "policyType",
                    "skipChildSiteIds",
                    "updatedAt",
                    "value"
                ],
                "type": "object"
            }
        },
        "filescom:index/getClickwrap:getClickwrap": {
            "description": "A Clickwrap is a legal agreement (such as an NDA or Terms of Use) that your Users and/or Bundle/Inbox participants will need to agree to via a \"Clickwrap\" UI before accessing the site, bundle, or inbox.\n\n\n\nThe values for \u003cspan pulumi-lang-nodejs=\"`useWithUsers`\" pulumi-lang-dotnet=\"`UseWithUsers`\" pulumi-lang-go=\"`useWithUsers`\" pulumi-lang-python=\"`use_with_users`\" pulumi-lang-yaml=\"`useWithUsers`\" pulumi-lang-java=\"`useWithUsers`\" pulumi-lang-hcl=\"`use_with_users`\"\u003e`useWithUsers`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`useWithBundles`\" pulumi-lang-dotnet=\"`UseWithBundles`\" pulumi-lang-go=\"`useWithBundles`\" pulumi-lang-python=\"`use_with_bundles`\" pulumi-lang-yaml=\"`useWithBundles`\" pulumi-lang-java=\"`useWithBundles`\" pulumi-lang-hcl=\"`use_with_bundles`\"\u003e`useWithBundles`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`useWithInboxes`\" pulumi-lang-dotnet=\"`UseWithInboxes`\" pulumi-lang-go=\"`useWithInboxes`\" pulumi-lang-python=\"`use_with_inboxes`\" pulumi-lang-yaml=\"`useWithInboxes`\" pulumi-lang-java=\"`useWithInboxes`\" pulumi-lang-hcl=\"`use_with_inboxes`\"\u003e`useWithInboxes`\u003c/span\u003e are explained as follows:\n\n\n\n* \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e - This Clickwrap may not be used in this context.\n\n* \u003cspan pulumi-lang-nodejs=\"`availableToAllUsers`\" pulumi-lang-dotnet=\"`AvailableToAllUsers`\" pulumi-lang-go=\"`availableToAllUsers`\" pulumi-lang-python=\"`available_to_all_users`\" pulumi-lang-yaml=\"`availableToAllUsers`\" pulumi-lang-java=\"`availableToAllUsers`\" pulumi-lang-hcl=\"`available_to_all_users`\"\u003e`availableToAllUsers`\u003c/span\u003e - This Clickwrap may be assigned in this context by any user.\n\n* \u003cspan pulumi-lang-nodejs=\"`available`\" pulumi-lang-dotnet=\"`Available`\" pulumi-lang-go=\"`available`\" pulumi-lang-python=\"`available`\" pulumi-lang-yaml=\"`available`\" pulumi-lang-java=\"`available`\" pulumi-lang-hcl=\"`available`\"\u003e`available`\u003c/span\u003e - This Clickwrap may be assigned in this context, but only by Site Admins. We recognize that the name of this setting is somewhat ambiguous, but we maintain it for legacy reasons.\n\n* \u003cspan pulumi-lang-nodejs=\"`required`\" pulumi-lang-dotnet=\"`Required`\" pulumi-lang-go=\"`required`\" pulumi-lang-python=\"`required`\" pulumi-lang-yaml=\"`required`\" pulumi-lang-java=\"`required`\" pulumi-lang-hcl=\"`required`\"\u003e`required`\u003c/span\u003e - This Clickwrap will always be used in this context, and may not be overridden.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleClickwrap = filescom.getClickwrap({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_clickwrap = filescom.get_clickwrap(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleClickwrap = Filescom.GetClickwrap.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetClickwrap(ctx, \u0026filescom.LookupClickwrapArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getclickwrap\" \"exampleClickwrap\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetClickwrapArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleClickwrap = FilescomFunctions.getClickwrap(GetClickwrapArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleClickwrap:\n    fn::invoke:\n      function: filescom:getClickwrap\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getClickwrap.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Clickwrap ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getClickwrap.\n",
                "properties": {
                    "body": {
                        "description": "Body text of Clickwrap (supports Markdown formatting).\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Clickwrap ID\n",
                        "type": "integer"
                    },
                    "name": {
                        "description": "Name of the Clickwrap agreement (used when selecting from multiple Clickwrap agreements.)\n",
                        "type": "string"
                    },
                    "useWithBundles": {
                        "description": "Use this Clickwrap for Bundles?\n",
                        "type": "string"
                    },
                    "useWithInboxes": {
                        "description": "Use this Clickwrap for Inboxes?\n",
                        "type": "string"
                    },
                    "useWithUsers": {
                        "description": "Use this Clickwrap for Users?  Values: \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`require`\" pulumi-lang-dotnet=\"`Require`\" pulumi-lang-go=\"`require`\" pulumi-lang-python=\"`require`\" pulumi-lang-yaml=\"`require`\" pulumi-lang-java=\"`require`\" pulumi-lang-hcl=\"`require`\"\u003e`require`\u003c/span\u003e (new user signup via email invitation only), \u003cspan pulumi-lang-nodejs=\"`requireAllUsersOnce`\" pulumi-lang-dotnet=\"`RequireAllUsersOnce`\" pulumi-lang-go=\"`requireAllUsersOnce`\" pulumi-lang-python=\"`require_all_users_once`\" pulumi-lang-yaml=\"`requireAllUsersOnce`\" pulumi-lang-java=\"`requireAllUsersOnce`\" pulumi-lang-hcl=\"`require_all_users_once`\"\u003e`requireAllUsersOnce`\u003c/span\u003e (show to all users at their next web login; once accepted, not shown again), \u003cspan pulumi-lang-nodejs=\"`requireAllUsersAlways`\" pulumi-lang-dotnet=\"`RequireAllUsersAlways`\" pulumi-lang-go=\"`requireAllUsersAlways`\" pulumi-lang-python=\"`require_all_users_always`\" pulumi-lang-yaml=\"`requireAllUsersAlways`\" pulumi-lang-java=\"`requireAllUsersAlways`\" pulumi-lang-hcl=\"`require_all_users_always`\"\u003e`requireAllUsersAlways`\u003c/span\u003e (show to all users on every web login).\n",
                        "type": "string"
                    }
                },
                "required": [
                    "body",
                    "id",
                    "name",
                    "useWithBundles",
                    "useWithInboxes",
                    "useWithUsers"
                ],
                "type": "object"
            }
        },
        "filescom:index/getCustomDomain:getCustomDomain": {
            "description": "A CustomDomain object represents an additional customer-owned domain that routes to a Files.com site.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleCustomDomain = filescom.getCustomDomain({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_custom_domain = filescom.get_custom_domain(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleCustomDomain = Filescom.GetCustomDomain.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetCustomDomain(ctx, \u0026filescom.LookupCustomDomainArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getcustomdomain\" \"exampleCustomDomain\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetCustomDomainArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleCustomDomain = FilescomFunctions.getCustomDomain(GetCustomDomainArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCustomDomain:\n    fn::invoke:\n      function: filescom:getCustomDomain\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getCustomDomain.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Custom Domain ID.\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getCustomDomain.\n",
                "properties": {
                    "brickManaged": {
                        "description": "Is this domain's SSL certificate automatically managed and renewed by Files.com?\n",
                        "type": "boolean"
                    },
                    "createdAt": {
                        "description": "When this Custom Domain was created.\n",
                        "type": "string"
                    },
                    "destination": {
                        "description": "Where this custom domain routes. Can be \u003cspan pulumi-lang-nodejs=\"`siteAlias`\" pulumi-lang-dotnet=\"`SiteAlias`\" pulumi-lang-go=\"`siteAlias`\" pulumi-lang-python=\"`site_alias`\" pulumi-lang-yaml=\"`siteAlias`\" pulumi-lang-java=\"`siteAlias`\" pulumi-lang-hcl=\"`site_alias`\"\u003e`siteAlias`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`publicHosting`\" pulumi-lang-dotnet=\"`PublicHosting`\" pulumi-lang-go=\"`publicHosting`\" pulumi-lang-python=\"`public_hosting`\" pulumi-lang-yaml=\"`publicHosting`\" pulumi-lang-java=\"`publicHosting`\" pulumi-lang-hcl=\"`public_hosting`\"\u003e`publicHosting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`s3Endpoint`\" pulumi-lang-dotnet=\"`S3Endpoint`\" pulumi-lang-go=\"`s3Endpoint`\" pulumi-lang-python=\"`s3_endpoint`\" pulumi-lang-yaml=\"`s3Endpoint`\" pulumi-lang-java=\"`s3Endpoint`\" pulumi-lang-hcl=\"`s3_endpoint`\"\u003e`s3Endpoint`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`unassigned`\" pulumi-lang-dotnet=\"`Unassigned`\" pulumi-lang-go=\"`unassigned`\" pulumi-lang-python=\"`unassigned`\" pulumi-lang-yaml=\"`unassigned`\" pulumi-lang-java=\"`unassigned`\" pulumi-lang-hcl=\"`unassigned`\"\u003e`unassigned`\u003c/span\u003e (not routing traffic). Set to \u003cspan pulumi-lang-nodejs=\"`unassigned`\" pulumi-lang-dotnet=\"`Unassigned`\" pulumi-lang-go=\"`unassigned`\" pulumi-lang-python=\"`unassigned`\" pulumi-lang-yaml=\"`unassigned`\" pulumi-lang-java=\"`unassigned`\" pulumi-lang-hcl=\"`unassigned`\"\u003e`unassigned`\u003c/span\u003e automatically when a bound \u003cspan pulumi-lang-nodejs=\"`publicHosting`\" pulumi-lang-dotnet=\"`PublicHosting`\" pulumi-lang-go=\"`publicHosting`\" pulumi-lang-python=\"`public_hosting`\" pulumi-lang-yaml=\"`publicHosting`\" pulumi-lang-java=\"`publicHosting`\" pulumi-lang-hcl=\"`public_hosting`\"\u003e`publicHosting`\u003c/span\u003e folder behavior is deleted, and can be set manually via the API for any reason.\n",
                        "type": "string"
                    },
                    "dnsStatus": {
                        "description": "Current DNS verification status.\n",
                        "type": "string"
                    },
                    "domain": {
                        "description": "Customer-owned domain name.\n",
                        "type": "string"
                    },
                    "folderBehaviorId": {
                        "description": "Public Hosting behavior ID when this domain routes to a specific Public Hosting behavior.  Preserved as historical context when \u003cspan pulumi-lang-nodejs=\"`destination`\" pulumi-lang-dotnet=\"`Destination`\" pulumi-lang-go=\"`destination`\" pulumi-lang-python=\"`destination`\" pulumi-lang-yaml=\"`destination`\" pulumi-lang-java=\"`destination`\" pulumi-lang-hcl=\"`destination`\"\u003e`destination`\u003c/span\u003e becomes \u003cspan pulumi-lang-nodejs=\"`unassigned`\" pulumi-lang-dotnet=\"`Unassigned`\" pulumi-lang-go=\"`unassigned`\" pulumi-lang-python=\"`unassigned`\" pulumi-lang-yaml=\"`unassigned`\" pulumi-lang-java=\"`unassigned`\" pulumi-lang-hcl=\"`unassigned`\"\u003e`unassigned`\u003c/span\u003e.\n",
                        "type": "integer"
                    },
                    "id": {
                        "description": "Custom Domain ID.\n",
                        "type": "integer"
                    },
                    "sslCertificateId": {
                        "description": "Current SSL certificate ID.\n",
                        "type": "integer"
                    },
                    "updatedAt": {
                        "description": "When this Custom Domain was last updated.\n",
                        "type": "string"
                    }
                },
                "required": [
                    "brickManaged",
                    "createdAt",
                    "destination",
                    "dnsStatus",
                    "domain",
                    "folderBehaviorId",
                    "id",
                    "sslCertificateId",
                    "updatedAt"
                ],
                "type": "object"
            }
        },
        "filescom:index/getDesktopConfigurationProfile:getDesktopConfigurationProfile": {
            "description": "A Desktop Configuration Profile centrally defines desktop mount point mappings for users in a Site or Workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleDesktopConfigurationProfile = filescom.getDesktopConfigurationProfile({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_desktop_configuration_profile = filescom.get_desktop_configuration_profile(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleDesktopConfigurationProfile = Filescom.GetDesktopConfigurationProfile.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetDesktopConfigurationProfile(ctx, \u0026filescom.LookupDesktopConfigurationProfileArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getdesktopconfigurationprofile\" \"exampleDesktopConfigurationProfile\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetDesktopConfigurationProfileArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleDesktopConfigurationProfile = FilescomFunctions.getDesktopConfigurationProfile(GetDesktopConfigurationProfileArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleDesktopConfigurationProfile:\n    fn::invoke:\n      function: filescom:getDesktopConfigurationProfile\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getDesktopConfigurationProfile.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Desktop Configuration Profile ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getDesktopConfigurationProfile.\n",
                "properties": {
                    "disableDriveMounting": {
                        "description": "Whether the desktop app should hide drive mounting, prevent new drive mounts, and unmount active drive mounts for users with this profile\n",
                        "type": "boolean"
                    },
                    "id": {
                        "description": "Desktop Configuration Profile ID\n",
                        "type": "integer"
                    },
                    "mountMappings": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Mount point mappings for the desktop app. Keys must be a single uppercase Windows drive letter other than A, B, or C, and values are Files.com paths to mount there.\n"
                    },
                    "name": {
                        "description": "Profile name\n",
                        "type": "string"
                    },
                    "useForAllUsers": {
                        "description": "Whether this profile applies to all users in the Workspace by default\n",
                        "type": "boolean"
                    },
                    "workspaceId": {
                        "description": "Workspace ID\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "disableDriveMounting",
                    "id",
                    "mountMappings",
                    "name",
                    "useForAllUsers",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getEventChannel:getEventChannel": {
            "description": "An EventChannel is a named grouping of EventSubscriptions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleEventChannel = filescom.getEventChannel({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_event_channel = filescom.get_event_channel(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleEventChannel = Filescom.GetEventChannel.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetEventChannel(ctx, \u0026filescom.LookupEventChannelArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_geteventchannel\" \"exampleEventChannel\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetEventChannelArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleEventChannel = FilescomFunctions.getEventChannel(GetEventChannelArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleEventChannel:\n    fn::invoke:\n      function: filescom:getEventChannel\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getEventChannel.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Event Channel ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getEventChannel.\n",
                "properties": {
                    "createdAt": {
                        "description": "Event Channel create date/time.\n",
                        "type": "string"
                    },
                    "defaultChannel": {
                        "description": "Whether this Event Channel is the default destination for newly published events.\n",
                        "type": "boolean"
                    },
                    "description": {
                        "description": "Event Channel description.\n",
                        "type": "string"
                    },
                    "enabled": {
                        "description": "Whether this Event Channel can dispatch events.\n",
                        "type": "boolean"
                    },
                    "id": {
                        "description": "Event Channel ID\n",
                        "type": "integer"
                    },
                    "name": {
                        "description": "Event Channel name.\n",
                        "type": "string"
                    },
                    "updatedAt": {
                        "description": "Event Channel update date/time.\n",
                        "type": "string"
                    },
                    "workspaceId": {
                        "description": "Workspace ID. 0 means the default workspace.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "createdAt",
                    "defaultChannel",
                    "description",
                    "enabled",
                    "id",
                    "name",
                    "updatedAt",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getEventDeliveryAttempt:getEventDeliveryAttempt": {
            "description": "An EventDeliveryAttempt records delivery state for an EventRecord and EventTarget.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleEventDeliveryAttempt = filescom.getEventDeliveryAttempt({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_event_delivery_attempt = filescom.get_event_delivery_attempt(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleEventDeliveryAttempt = Filescom.GetEventDeliveryAttempt.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetEventDeliveryAttempt(ctx, \u0026filescom.GetEventDeliveryAttemptArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_geteventdeliveryattempt\" \"exampleEventDeliveryAttempt\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetEventDeliveryAttemptArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleEventDeliveryAttempt = FilescomFunctions.getEventDeliveryAttempt(GetEventDeliveryAttemptArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleEventDeliveryAttempt:\n    fn::invoke:\n      function: filescom:getEventDeliveryAttempt\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getEventDeliveryAttempt.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Event Delivery Attempt ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getEventDeliveryAttempt.\n",
                "properties": {
                    "attemptNumber": {
                        "description": "Number of delivery attempts made.\n",
                        "type": "integer"
                    },
                    "createdAt": {
                        "description": "Delivery Attempt create date/time.\n",
                        "type": "string"
                    },
                    "deliveredAt": {
                        "description": "Successful delivery date/time.\n",
                        "type": "string"
                    },
                    "errorMessage": {
                        "description": "Delivery error message, if applicable.\n",
                        "type": "string"
                    },
                    "eventRecordId": {
                        "description": "Event Record ID\n",
                        "type": "integer"
                    },
                    "eventSubscriptionId": {
                        "description": "Event Subscription ID\n",
                        "type": "integer"
                    },
                    "eventTargetId": {
                        "description": "Event Target ID\n",
                        "type": "integer"
                    },
                    "id": {
                        "description": "Event Delivery Attempt ID\n",
                        "type": "integer"
                    },
                    "lastAttemptedAt": {
                        "description": "Most recent attempt date/time.\n",
                        "type": "string"
                    },
                    "latencyMs": {
                        "description": "Delivery latency in milliseconds.\n",
                        "type": "integer"
                    },
                    "nextAttemptAt": {
                        "description": "Next scheduled attempt date/time.\n",
                        "type": "string"
                    },
                    "responseBody": {
                        "description": "Delivery response body, if applicable.\n",
                        "type": "string"
                    },
                    "responseCode": {
                        "description": "HTTP response code, if applicable.\n",
                        "type": "integer"
                    },
                    "status": {
                        "description": "Delivery status.\n",
                        "type": "string"
                    },
                    "workspaceId": {
                        "description": "Workspace ID. 0 means the default workspace or site-wide.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "attemptNumber",
                    "createdAt",
                    "deliveredAt",
                    "errorMessage",
                    "eventRecordId",
                    "eventSubscriptionId",
                    "eventTargetId",
                    "id",
                    "lastAttemptedAt",
                    "latencyMs",
                    "nextAttemptAt",
                    "responseBody",
                    "responseCode",
                    "status",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getEventRecord:getEventRecord": {
            "description": "An EventRecord is a durable event emitted by Files.com for routing through Event Channels.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleEventRecord = filescom.getEventRecord({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_event_record = filescom.get_event_record(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleEventRecord = Filescom.GetEventRecord.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetEventRecord(ctx, \u0026filescom.GetEventRecordArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_geteventrecord\" \"exampleEventRecord\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetEventRecordArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleEventRecord = FilescomFunctions.getEventRecord(GetEventRecordArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleEventRecord:\n    fn::invoke:\n      function: filescom:getEventRecord\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getEventRecord.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Event Record ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getEventRecord.\n",
                "properties": {
                    "actor": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Actor associated with the event.\n"
                    },
                    "createdAt": {
                        "description": "Event Record create date/time.\n",
                        "type": "string"
                    },
                    "eventType": {
                        "description": "Versioned event type string.\n",
                        "type": "string"
                    },
                    "eventUuid": {
                        "description": "Stable event UUID.\n",
                        "type": "string"
                    },
                    "humanFields": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Human-readable event detail fields.\n"
                    },
                    "humanSummary": {
                        "description": "Human-readable event summary.\n",
                        "type": "string"
                    },
                    "humanTitle": {
                        "description": "Human-readable event title.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Event Record ID\n",
                        "type": "integer"
                    },
                    "occurredAt": {
                        "description": "Event occurrence date/time.\n",
                        "type": "string"
                    },
                    "payload": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Event payload.\n"
                    },
                    "resources": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Resources associated with the event.\n"
                    },
                    "severity": {
                        "description": "Event severity.\n",
                        "type": "string"
                    },
                    "sourceId": {
                        "description": "Source record ID.\n",
                        "type": "integer"
                    },
                    "sourceType": {
                        "description": "Source record type.\n",
                        "type": "string"
                    },
                    "workspaceId": {
                        "description": "Workspace ID. 0 means the default workspace or site-wide.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "actor",
                    "createdAt",
                    "eventType",
                    "eventUuid",
                    "humanFields",
                    "humanSummary",
                    "humanTitle",
                    "id",
                    "occurredAt",
                    "payload",
                    "resources",
                    "severity",
                    "sourceId",
                    "sourceType",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getEventSubscription:getEventSubscription": {
            "description": "An EventSubscription selects EventRecords for an EventChannel and sends them to one or more EventTargets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleEventSubscription = filescom.getEventSubscription({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_event_subscription = filescom.get_event_subscription(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleEventSubscription = Filescom.GetEventSubscription.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetEventSubscription(ctx, \u0026filescom.LookupEventSubscriptionArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_geteventsubscription\" \"exampleEventSubscription\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetEventSubscriptionArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleEventSubscription = FilescomFunctions.getEventSubscription(GetEventSubscriptionArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleEventSubscription:\n    fn::invoke:\n      function: filescom:getEventSubscription\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getEventSubscription.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Event Subscription ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getEventSubscription.\n",
                "properties": {
                    "applyToAllWorkspaces": {
                        "description": "If true, this default-workspace subscription applies to events from all workspaces.\n",
                        "type": "boolean"
                    },
                    "createdAt": {
                        "description": "Event Subscription create date/time.\n",
                        "type": "string"
                    },
                    "deliveryPolicy": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Event Subscription delivery policy.\n"
                    },
                    "enabled": {
                        "description": "Whether this Event Subscription can dispatch events.\n",
                        "type": "boolean"
                    },
                    "eventChannelId": {
                        "description": "Event Channel ID\n",
                        "type": "integer"
                    },
                    "eventTargetIds": {
                        "description": "Event Target IDs this subscription sends to.\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "eventTypes": {
                        "description": "Event type strings matched by this subscription. Blank means all event types.\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "filter": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Structured event payload filter.\n"
                    },
                    "id": {
                        "description": "Event Subscription ID\n",
                        "type": "integer"
                    },
                    "message": {
                        "description": "Custom message to include in notification emails.\n",
                        "type": "string"
                    },
                    "name": {
                        "description": "Event Subscription name.\n",
                        "type": "string"
                    },
                    "subject": {
                        "description": "Custom subject line to use for notification emails.\n",
                        "type": "string"
                    },
                    "updatedAt": {
                        "description": "Event Subscription update date/time.\n",
                        "type": "string"
                    },
                    "workspaceId": {
                        "description": "Workspace ID. 0 means the default workspace or site-wide.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "applyToAllWorkspaces",
                    "createdAt",
                    "deliveryPolicy",
                    "enabled",
                    "eventChannelId",
                    "eventTargetIds",
                    "eventTypes",
                    "filter",
                    "id",
                    "message",
                    "name",
                    "subject",
                    "updatedAt",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getEventTarget:getEventTarget": {
            "description": "An EventTarget is a delivery destination for EventRecords.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleEventTarget = filescom.getEventTarget({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_event_target = filescom.get_event_target(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleEventTarget = Filescom.GetEventTarget.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetEventTarget(ctx, \u0026filescom.LookupEventTargetArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_geteventtarget\" \"exampleEventTarget\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetEventTargetArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleEventTarget = FilescomFunctions.getEventTarget(GetEventTargetArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleEventTarget:\n    fn::invoke:\n      function: filescom:getEventTarget\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getEventTarget.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Event Target ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getEventTarget.\n",
                "properties": {
                    "applyToAllWorkspaces": {
                        "description": "If true, this default-workspace target can receive events from all workspaces.\n",
                        "type": "boolean"
                    },
                    "config": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Event Target configuration. Folder targets accept path and format (json or csv).\n"
                    },
                    "createdAt": {
                        "description": "Event Target create date/time.\n",
                        "type": "string"
                    },
                    "deliveryPolicy": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Event Target delivery policy. Email and folder targets support\u003cspan pulumi-lang-nodejs=\" batchInterval \" pulumi-lang-dotnet=\" BatchInterval \" pulumi-lang-go=\" batchInterval \" pulumi-lang-python=\" batch_interval \" pulumi-lang-yaml=\" batchInterval \" pulumi-lang-java=\" batchInterval \" pulumi-lang-hcl=\" batch_interval \"\u003e batchInterval \u003c/span\u003ein seconds, between 600 and 86400.\n"
                    },
                    "enabled": {
                        "description": "Whether this Event Target can receive events.\n",
                        "type": "boolean"
                    },
                    "id": {
                        "description": "Event Target ID\n",
                        "type": "integer"
                    },
                    "name": {
                        "description": "Event Target name.\n",
                        "type": "string"
                    },
                    "targetType": {
                        "description": "Event Target type.\n",
                        "type": "string"
                    },
                    "updatedAt": {
                        "description": "Event Target update date/time.\n",
                        "type": "string"
                    },
                    "workspaceId": {
                        "description": "Workspace ID. 0 means the default workspace or site-wide.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "applyToAllWorkspaces",
                    "config",
                    "createdAt",
                    "deliveryPolicy",
                    "enabled",
                    "id",
                    "name",
                    "targetType",
                    "updatedAt",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getExpectation:getExpectation": {
            "description": "Expectations let your Files.com site define what “correct” file delivery looks like, continuously evaluate whether it happened, and keep history when it did not.\n\n\n\nExpectations are meant to answer operational questions like:\n\n\n\n* Did the expected file arrive?\n\n* Was it on time?\n\n* Did it meet the required shape and count rules?\n\n* Is there an active issue someone needs to acknowledge?\n\n\n\nExpectations are different from Automations and Syncs. Automations and Syncs act on files; Expectations monitor whether expected files arrived on time, in the right place, and in the right shape. In practice, Expectations are the sensor and Automations are the actuator.\n\n\n\nAn Expectation combines four concepts:\n\n\n\n1. **Scope**: where to look for candidate files, using \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e, and optional \u003cspan pulumi-lang-nodejs=\"`excludePattern`\" pulumi-lang-dotnet=\"`ExcludePattern`\" pulumi-lang-go=\"`excludePattern`\" pulumi-lang-python=\"`exclude_pattern`\" pulumi-lang-yaml=\"`excludePattern`\" pulumi-lang-java=\"`excludePattern`\" pulumi-lang-hcl=\"`exclude_pattern`\"\u003e`excludePattern`\u003c/span\u003e.\n\n2. **Trigger / timing**: when a window opens and how long it stays eligible, using \u003cspan pulumi-lang-nodejs=\"`trigger`\" pulumi-lang-dotnet=\"`Trigger`\" pulumi-lang-go=\"`trigger`\" pulumi-lang-python=\"`trigger`\" pulumi-lang-yaml=\"`trigger`\" pulumi-lang-java=\"`trigger`\" pulumi-lang-hcl=\"`trigger`\"\u003e`trigger`\u003c/span\u003e, schedule fields, \u003cspan pulumi-lang-nodejs=\"`lookbackInterval`\" pulumi-lang-dotnet=\"`LookbackInterval`\" pulumi-lang-go=\"`lookbackInterval`\" pulumi-lang-python=\"`lookback_interval`\" pulumi-lang-yaml=\"`lookbackInterval`\" pulumi-lang-java=\"`lookbackInterval`\" pulumi-lang-hcl=\"`lookback_interval`\"\u003e`lookbackInterval`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lateAcceptanceInterval`\" pulumi-lang-dotnet=\"`LateAcceptanceInterval`\" pulumi-lang-go=\"`lateAcceptanceInterval`\" pulumi-lang-python=\"`late_acceptance_interval`\" pulumi-lang-yaml=\"`lateAcceptanceInterval`\" pulumi-lang-java=\"`lateAcceptanceInterval`\" pulumi-lang-hcl=\"`late_acceptance_interval`\"\u003e`lateAcceptanceInterval`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`inactivityInterval`\" pulumi-lang-dotnet=\"`InactivityInterval`\" pulumi-lang-go=\"`inactivityInterval`\" pulumi-lang-python=\"`inactivity_interval`\" pulumi-lang-yaml=\"`inactivityInterval`\" pulumi-lang-java=\"`inactivityInterval`\" pulumi-lang-hcl=\"`inactivity_interval`\"\u003e`inactivityInterval`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`maxOpenInterval`\" pulumi-lang-dotnet=\"`MaxOpenInterval`\" pulumi-lang-go=\"`maxOpenInterval`\" pulumi-lang-python=\"`max_open_interval`\" pulumi-lang-yaml=\"`maxOpenInterval`\" pulumi-lang-java=\"`maxOpenInterval`\" pulumi-lang-hcl=\"`max_open_interval`\"\u003e`maxOpenInterval`\u003c/span\u003e.\n\n3. **Criteria**: what must be true for the window to succeed, using the structured \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\" pulumi-lang-hcl=\"`criteria`\"\u003e`criteria`\u003c/span\u003e JSON document.\n\n4. **Outcome history**: what happened over time, exposed through `ExpectationEvaluation` history and `ExpectationIncident` lifecycle records.\n\n\n\n## Scope and matching\n\n\n\nExpectations reuse the familiar Files.com path-plus-glob model.\n\n\n\nThe \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e field identifies the folder scope, while \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e identifies which files within that scope are candidates. \u003cspan pulumi-lang-nodejs=\"`excludePattern`\" pulumi-lang-dotnet=\"`ExcludePattern`\" pulumi-lang-go=\"`excludePattern`\" pulumi-lang-python=\"`exclude_pattern`\" pulumi-lang-yaml=\"`excludePattern`\" pulumi-lang-java=\"`excludePattern`\" pulumi-lang-hcl=\"`exclude_pattern`\"\u003e`excludePattern`\u003c/span\u003e removes files from consideration.\n\n\n\nLike Automations, these fields support glob-style matching. Expectations treat those matches as one logical candidate set for each window. A single Expectation does not implicitly fan out into separate per-customer or per-folder evaluations just because the path contains wildcards.\n\n\n\n## Expectation windows\n\n\n\nExpectations are evaluated in windows.\n\n\n\nEach window is persisted as an `ExpectationEvaluation` record. A window opens, remains \u003cspan pulumi-lang-nodejs=\"`open`\" pulumi-lang-dotnet=\"`Open`\" pulumi-lang-go=\"`open`\" pulumi-lang-python=\"`open`\" pulumi-lang-yaml=\"`open`\" pulumi-lang-java=\"`open`\" pulumi-lang-hcl=\"`open`\"\u003e`open`\u003c/span\u003e while evidence can still arrive, and then closes into a terminal result such as \u003cspan pulumi-lang-nodejs=\"`success`\" pulumi-lang-dotnet=\"`Success`\" pulumi-lang-go=\"`success`\" pulumi-lang-python=\"`success`\" pulumi-lang-yaml=\"`success`\" pulumi-lang-java=\"`success`\" pulumi-lang-hcl=\"`success`\"\u003e`success`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`late`\" pulumi-lang-dotnet=\"`Late`\" pulumi-lang-go=\"`late`\" pulumi-lang-python=\"`late`\" pulumi-lang-yaml=\"`late`\" pulumi-lang-java=\"`late`\" pulumi-lang-hcl=\"`late`\"\u003e`late`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`missing`\" pulumi-lang-dotnet=\"`Missing`\" pulumi-lang-go=\"`missing`\" pulumi-lang-python=\"`missing`\" pulumi-lang-yaml=\"`missing`\" pulumi-lang-java=\"`missing`\" pulumi-lang-hcl=\"`missing`\"\u003e`missing`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`invalid`\" pulumi-lang-dotnet=\"`Invalid`\" pulumi-lang-go=\"`invalid`\" pulumi-lang-python=\"`invalid`\" pulumi-lang-yaml=\"`invalid`\" pulumi-lang-java=\"`invalid`\" pulumi-lang-hcl=\"`invalid`\"\u003e`invalid`\u003c/span\u003e.\n\n\n\nAn Expectation has only one open window at a time.\n\n\n\n## Trigger modes\n\n\n\nExpectations can open windows in three ways:\n\n\n\n* \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e: run on a recurring daily/weekly/monthly/quarterly/yearly cadence using \u003cspan pulumi-lang-nodejs=\"`interval`\" pulumi-lang-dotnet=\"`Interval`\" pulumi-lang-go=\"`interval`\" pulumi-lang-python=\"`interval`\" pulumi-lang-yaml=\"`interval`\" pulumi-lang-java=\"`interval`\" pulumi-lang-hcl=\"`interval`\"\u003e`interval`\u003c/span\u003e and either \u003cspan pulumi-lang-nodejs=\"`recurringDay`\" pulumi-lang-dotnet=\"`RecurringDay`\" pulumi-lang-go=\"`recurringDay`\" pulumi-lang-python=\"`recurring_day`\" pulumi-lang-yaml=\"`recurringDay`\" pulumi-lang-java=\"`recurringDay`\" pulumi-lang-hcl=\"`recurring_day`\"\u003e`recurringDay`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`recurringDays`\" pulumi-lang-dotnet=\"`RecurringDays`\" pulumi-lang-go=\"`recurringDays`\" pulumi-lang-python=\"`recurring_days`\" pulumi-lang-yaml=\"`recurringDays`\" pulumi-lang-java=\"`recurringDays`\" pulumi-lang-hcl=\"`recurring_days`\"\u003e`recurringDays`\u003c/span\u003e.\n\n* \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e: run using either the reusable Site-level Schedule selected by \u003cspan pulumi-lang-nodejs=\"`scheduleId`\" pulumi-lang-dotnet=\"`ScheduleId`\" pulumi-lang-go=\"`scheduleId`\" pulumi-lang-python=\"`schedule_id`\" pulumi-lang-yaml=\"`scheduleId`\" pulumi-lang-java=\"`scheduleId`\" pulumi-lang-hcl=\"`schedule_id`\"\u003e`scheduleId`\u003c/span\u003e or specific weekdays and times stored on the Expectation.\n\n* \u003cspan pulumi-lang-nodejs=\"`manual`\" pulumi-lang-dotnet=\"`Manual`\" pulumi-lang-go=\"`manual`\" pulumi-lang-python=\"`manual`\" pulumi-lang-yaml=\"`manual`\" pulumi-lang-java=\"`manual`\" pulumi-lang-hcl=\"`manual`\"\u003e`manual`\u003c/span\u003e: an operator explicitly opens the window.\n\n\n\nSchedule-driven expectations define an on-time deadline and may optionally remain eligible to close as \u003cspan pulumi-lang-nodejs=\"`late`\" pulumi-lang-dotnet=\"`Late`\" pulumi-lang-go=\"`late`\" pulumi-lang-python=\"`late`\" pulumi-lang-yaml=\"`late`\" pulumi-lang-java=\"`late`\" pulumi-lang-hcl=\"`late`\"\u003e`late`\u003c/span\u003e during \u003cspan pulumi-lang-nodejs=\"`lateAcceptanceInterval`\" pulumi-lang-dotnet=\"`LateAcceptanceInterval`\" pulumi-lang-go=\"`lateAcceptanceInterval`\" pulumi-lang-python=\"`late_acceptance_interval`\" pulumi-lang-yaml=\"`lateAcceptanceInterval`\" pulumi-lang-java=\"`lateAcceptanceInterval`\" pulumi-lang-hcl=\"`late_acceptance_interval`\"\u003e`lateAcceptanceInterval`\u003c/span\u003e.\n\n\n\nManual expectations have no concept of \u003cspan pulumi-lang-nodejs=\"`late`\" pulumi-lang-dotnet=\"`Late`\" pulumi-lang-go=\"`late`\" pulumi-lang-python=\"`late`\" pulumi-lang-yaml=\"`late`\" pulumi-lang-java=\"`late`\" pulumi-lang-hcl=\"`late`\"\u003e`late`\u003c/span\u003e; they open when triggered and close based on inactivity or hard-stop timing.\n\n\n\n## Success criteria\n\n\n\nThe \u003cspan pulumi-lang-nodejs=\"`criteria`\" pulumi-lang-dotnet=\"`Criteria`\" pulumi-lang-go=\"`criteria`\" pulumi-lang-python=\"`criteria`\" pulumi-lang-yaml=\"`criteria`\" pulumi-lang-java=\"`criteria`\" pulumi-lang-hcl=\"`criteria`\"\u003e`criteria`\u003c/span\u003e field is a structured JSON object describing what counts as success for the window.\n\n\n\nCriteria v1 can express things like:\n\n\n\n* file count constraints\n\n* total byte constraints\n\n* allowed extensions\n\n* filename regex validation\n\n* forbidden files\n\n* required named or globbed files with their own per-file constraints\n\n\n\nCriteria v2 adds \u003cspan pulumi-lang-nodejs=\"`contentValidation`\" pulumi-lang-dotnet=\"`ContentValidation`\" pulumi-lang-go=\"`contentValidation`\" pulumi-lang-python=\"`content_validation`\" pulumi-lang-yaml=\"`contentValidation`\" pulumi-lang-java=\"`contentValidation`\" pulumi-lang-hcl=\"`content_validation`\"\u003e`contentValidation`\u003c/span\u003e, which runs a customer-authored Files Transform Script in either \u003cspan pulumi-lang-nodejs=\"`perFile`\" pulumi-lang-dotnet=\"`PerFile`\" pulumi-lang-go=\"`perFile`\" pulumi-lang-python=\"`per_file`\" pulumi-lang-yaml=\"`perFile`\" pulumi-lang-java=\"`perFile`\" pulumi-lang-hcl=\"`per_file`\"\u003e`perFile`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`wholeBatch`\" pulumi-lang-dotnet=\"`WholeBatch`\" pulumi-lang-go=\"`wholeBatch`\" pulumi-lang-python=\"`whole_batch`\" pulumi-lang-yaml=\"`wholeBatch`\" pulumi-lang-java=\"`wholeBatch`\" pulumi-lang-hcl=\"`whole_batch`\"\u003e`wholeBatch`\u003c/span\u003e mode. Per-file scripts receive the file contents parsed by FTS as \u003cspan pulumi-lang-nodejs=\"`payload`\" pulumi-lang-dotnet=\"`Payload`\" pulumi-lang-go=\"`payload`\" pulumi-lang-python=\"`payload`\" pulumi-lang-yaml=\"`payload`\" pulumi-lang-java=\"`payload`\" pulumi-lang-hcl=\"`payload`\"\u003e`payload`\u003c/span\u003e. Whole-batch scripts receive an array of file objects containing \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\" pulumi-lang-hcl=\"`name`\"\u003e`name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`size`\" pulumi-lang-dotnet=\"`Size`\" pulumi-lang-go=\"`size`\" pulumi-lang-python=\"`size`\" pulumi-lang-yaml=\"`size`\" pulumi-lang-java=\"`size`\" pulumi-lang-hcl=\"`size`\"\u003e`size`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lastModifiedAt`\" pulumi-lang-dotnet=\"`LastModifiedAt`\" pulumi-lang-go=\"`lastModifiedAt`\" pulumi-lang-python=\"`last_modified_at`\" pulumi-lang-yaml=\"`lastModifiedAt`\" pulumi-lang-java=\"`lastModifiedAt`\" pulumi-lang-hcl=\"`last_modified_at`\"\u003e`lastModifiedAt`\u003c/span\u003e, and each file's parsed \u003cspan pulumi-lang-nodejs=\"`payload`\" pulumi-lang-dotnet=\"`Payload`\" pulumi-lang-go=\"`payload`\" pulumi-lang-python=\"`payload`\" pulumi-lang-yaml=\"`payload`\" pulumi-lang-java=\"`payload`\" pulumi-lang-hcl=\"`payload`\"\u003e`payload`\u003c/span\u003e.\n\n\n\nA content-validation script returns \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e or `{ success: true }` to pass. It returns \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e or `{ success: false, errors: [...] }` to fail. Error entries may be strings or structured objects with values such as \u003cspan pulumi-lang-nodejs=\"`message`\" pulumi-lang-dotnet=\"`Message`\" pulumi-lang-go=\"`message`\" pulumi-lang-python=\"`message`\" pulumi-lang-yaml=\"`message`\" pulumi-lang-java=\"`message`\" pulumi-lang-hcl=\"`message`\"\u003e`message`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`field`\" pulumi-lang-dotnet=\"`Field`\" pulumi-lang-go=\"`field`\" pulumi-lang-python=\"`field`\" pulumi-lang-yaml=\"`field`\" pulumi-lang-java=\"`field`\" pulumi-lang-hcl=\"`field`\"\u003e`field`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`row`\" pulumi-lang-dotnet=\"`Row`\" pulumi-lang-go=\"`row`\" pulumi-lang-python=\"`row`\" pulumi-lang-yaml=\"`row`\" pulumi-lang-java=\"`row`\" pulumi-lang-hcl=\"`row`\"\u003e`row`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`expected`\" pulumi-lang-dotnet=\"`Expected`\" pulumi-lang-go=\"`expected`\" pulumi-lang-python=\"`expected`\" pulumi-lang-yaml=\"`expected`\" pulumi-lang-java=\"`expected`\" pulumi-lang-hcl=\"`expected`\"\u003e`expected`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`actual`\" pulumi-lang-dotnet=\"`Actual`\" pulumi-lang-go=\"`actual`\" pulumi-lang-python=\"`actual`\" pulumi-lang-yaml=\"`actual`\" pulumi-lang-java=\"`actual`\" pulumi-lang-hcl=\"`actual`\"\u003e`actual`\u003c/span\u003e; these details are preserved in readable form in the Evaluation's \u003cspan pulumi-lang-nodejs=\"`criteriaErrors`\" pulumi-lang-dotnet=\"`CriteriaErrors`\" pulumi-lang-go=\"`criteriaErrors`\" pulumi-lang-python=\"`criteria_errors`\" pulumi-lang-yaml=\"`criteriaErrors`\" pulumi-lang-java=\"`criteriaErrors`\" pulumi-lang-hcl=\"`criteria_errors`\"\u003e`criteriaErrors`\u003c/span\u003e. Script, parsing, download, and size-limit errors also fail the criterion. Each file is limited to 100 MB, and whole-batch mode additionally limits the combined raw input to 100 MB.\n\n\n\nRequired file rule keys may also include standard strftime-style date/time tokens like `%Y`, `%m`, and `%d`. Those tokens are resolved at evaluation time using a stable window anchor: schedule-driven expectations use the window's \u003cspan pulumi-lang-nodejs=\"`deadlineAt`\" pulumi-lang-dotnet=\"`DeadlineAt`\" pulumi-lang-go=\"`deadlineAt`\" pulumi-lang-python=\"`deadline_at`\" pulumi-lang-yaml=\"`deadlineAt`\" pulumi-lang-java=\"`deadlineAt`\" pulumi-lang-hcl=\"`deadline_at`\"\u003e`deadlineAt`\u003c/span\u003e, while manual and upload expectations use the window's \u003cspan pulumi-lang-nodejs=\"`openedAt`\" pulumi-lang-dotnet=\"`OpenedAt`\" pulumi-lang-go=\"`openedAt`\" pulumi-lang-python=\"`opened_at`\" pulumi-lang-yaml=\"`openedAt`\" pulumi-lang-java=\"`openedAt`\" pulumi-lang-hcl=\"`opened_at`\"\u003e`openedAt`\u003c/span\u003e.\n\n\n\n## History and incidents\n\n\n\nThe Expectation itself stores summary state like \u003cspan pulumi-lang-nodejs=\"`lastEvaluatedAt`\" pulumi-lang-dotnet=\"`LastEvaluatedAt`\" pulumi-lang-go=\"`lastEvaluatedAt`\" pulumi-lang-python=\"`last_evaluated_at`\" pulumi-lang-yaml=\"`lastEvaluatedAt`\" pulumi-lang-java=\"`lastEvaluatedAt`\" pulumi-lang-hcl=\"`last_evaluated_at`\"\u003e`lastEvaluatedAt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lastSuccessAt`\" pulumi-lang-dotnet=\"`LastSuccessAt`\" pulumi-lang-go=\"`lastSuccessAt`\" pulumi-lang-python=\"`last_success_at`\" pulumi-lang-yaml=\"`lastSuccessAt`\" pulumi-lang-java=\"`lastSuccessAt`\" pulumi-lang-hcl=\"`last_success_at`\"\u003e`lastSuccessAt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lastFailureAt`\" pulumi-lang-dotnet=\"`LastFailureAt`\" pulumi-lang-go=\"`lastFailureAt`\" pulumi-lang-python=\"`last_failure_at`\" pulumi-lang-yaml=\"`lastFailureAt`\" pulumi-lang-java=\"`lastFailureAt`\" pulumi-lang-hcl=\"`last_failure_at`\"\u003e`lastFailureAt`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`lastResult`\" pulumi-lang-dotnet=\"`LastResult`\" pulumi-lang-go=\"`lastResult`\" pulumi-lang-python=\"`last_result`\" pulumi-lang-yaml=\"`lastResult`\" pulumi-lang-java=\"`lastResult`\" pulumi-lang-hcl=\"`last_result`\"\u003e`lastResult`\u003c/span\u003e.\n\n\n\nFor deeper inspection:\n\n\n\n* `ExpectationEvaluation` history shows each open or closed window and the evidence captured for it.\n\n* `ExpectationIncident` records track ongoing failure situations over time, including acknowledge, snooze, and resolve actions.\n\n\n\nManual windows do not open incidents in v1. Schedule-driven failures can open incidents, and later qualifying success can resolve them.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleExpectation = filescom.getExpectation({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_expectation = filescom.get_expectation(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleExpectation = Filescom.GetExpectation.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetExpectation(ctx, \u0026filescom.LookupExpectationArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getexpectation\" \"exampleExpectation\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetExpectationArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleExpectation = FilescomFunctions.getExpectation(GetExpectationArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleExpectation:\n    fn::invoke:\n      function: filescom:getExpectation\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getExpectation.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Expectation ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getExpectation.\n",
                "properties": {
                    "createdAt": {
                        "description": "Creation time.\n",
                        "type": "string"
                    },
                    "criteria": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Versioned success criteria definition for the expectation. Criteria v2 supports optional FTS content validation.\n"
                    },
                    "description": {
                        "description": "Expectation description.\n",
                        "type": "string"
                    },
                    "disabled": {
                        "description": "If true, the expectation is disabled.\n",
                        "type": "boolean"
                    },
                    "excludePattern": {
                        "description": "Optional source exclusion glob.\n",
                        "type": "string"
                    },
                    "expectationsVersion": {
                        "description": "Criteria schema version for this expectation.\n",
                        "type": "integer"
                    },
                    "holidayRegion": {
                        "description": "Optional holiday region used by the Expectation schedule.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Expectation ID\n",
                        "type": "integer"
                    },
                    "inactivityInterval": {
                        "description": "How many quiet seconds are required before final closure.\n",
                        "type": "integer"
                    },
                    "interval": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies how often to run the expectation.\n",
                        "type": "string"
                    },
                    "lastEvaluatedAt": {
                        "description": "Last time this expectation was evaluated.\n",
                        "type": "string"
                    },
                    "lastFailureAt": {
                        "description": "Last time this expectation closed with a failure result.\n",
                        "type": "string"
                    },
                    "lastResult": {
                        "description": "Most recent terminal result for this expectation.\n",
                        "type": "string"
                    },
                    "lastSuccessAt": {
                        "description": "Last time this expectation closed successfully.\n",
                        "type": "string"
                    },
                    "lateAcceptanceInterval": {
                        "description": "How many seconds a schedule-driven window may remain eligible to close as late.\n",
                        "type": "integer"
                    },
                    "lookbackInterval": {
                        "description": "How many seconds before the due boundary the window starts.\n",
                        "type": "integer"
                    },
                    "maxOpenInterval": {
                        "description": "Hard-stop duration in seconds for unscheduled expectations.\n",
                        "type": "integer"
                    },
                    "name": {
                        "description": "Expectation name.\n",
                        "type": "string"
                    },
                    "path": {
                        "description": "Path scope for the expectation. Supports workspace-relative presentation. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n",
                        "type": "string"
                    },
                    "recurringDay": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this selects the day number inside the chosen interval.\n",
                        "type": "integer"
                    },
                    "recurringDays": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this selects one or more day numbers inside a \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e interval.\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "scheduleDaysOfWeeks": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the 0-based weekdays used by the schedule.\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "scheduleId": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the reusable Schedule used instead of the Expectation's schedule fields.\n",
                        "type": "integer"
                    },
                    "scheduleTimeZone": {
                        "description": "Time zone used by the Expectation schedule.\n",
                        "type": "string"
                    },
                    "scheduleTimesOfDays": {
                        "description": "Times of day in HH:MM format for the Expectation schedule.\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "source": {
                        "description": "Source glob used to select candidate files.\n",
                        "type": "string"
                    },
                    "trigger": {
                        "description": "How this expectation opens windows.\n",
                        "type": "string"
                    },
                    "updatedAt": {
                        "description": "Last update time.\n",
                        "type": "string"
                    },
                    "workspaceId": {
                        "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "createdAt",
                    "criteria",
                    "description",
                    "disabled",
                    "excludePattern",
                    "expectationsVersion",
                    "holidayRegion",
                    "id",
                    "inactivityInterval",
                    "interval",
                    "lastEvaluatedAt",
                    "lastFailureAt",
                    "lastResult",
                    "lastSuccessAt",
                    "lateAcceptanceInterval",
                    "lookbackInterval",
                    "maxOpenInterval",
                    "name",
                    "path",
                    "recurringDay",
                    "recurringDays",
                    "scheduleDaysOfWeeks",
                    "scheduleId",
                    "scheduleTimeZone",
                    "scheduleTimesOfDays",
                    "source",
                    "trigger",
                    "updatedAt",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getExpectationEvaluation:getExpectationEvaluation": {
            "description": "An ExpectationEvaluation records one open or closed window for an Expectation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleExpectationEvaluation = filescom.getExpectationEvaluation({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_expectation_evaluation = filescom.get_expectation_evaluation(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleExpectationEvaluation = Filescom.GetExpectationEvaluation.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetExpectationEvaluation(ctx, \u0026filescom.GetExpectationEvaluationArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getexpectationevaluation\" \"exampleExpectationEvaluation\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetExpectationEvaluationArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleExpectationEvaluation = FilescomFunctions.getExpectationEvaluation(GetExpectationEvaluationArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleExpectationEvaluation:\n    fn::invoke:\n      function: filescom:getExpectationEvaluation\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getExpectationEvaluation.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "ExpectationEvaluation ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getExpectationEvaluation.\n",
                "properties": {
                    "closedAt": {
                        "description": "When the evaluation row was finalized.\n",
                        "type": "string"
                    },
                    "createdAt": {
                        "description": "Creation time.\n",
                        "type": "string"
                    },
                    "criteriaErrors": {
                        "description": "Captured criteria failures for the window, including file-scoped FTS errors and returned validation details.\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "deadlineAt": {
                        "description": "Logical due boundary for schedule-driven windows.\n",
                        "type": "string"
                    },
                    "expectationId": {
                        "description": "Expectation ID.\n",
                        "type": "integer"
                    },
                    "hardCloseAt": {
                        "description": "Hard stop after which the window may not remain open.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "ExpectationEvaluation ID\n",
                        "type": "integer"
                    },
                    "lateAcceptanceCutoffAt": {
                        "description": "Logical cutoff for late acceptance, when present.\n",
                        "type": "string"
                    },
                    "matchedFiles": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Captured evidence for files that matched the window.\n"
                    },
                    "missingFiles": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Captured evidence for required files that were missing.\n"
                    },
                    "openedAt": {
                        "description": "When the evaluation row was opened.\n",
                        "type": "string"
                    },
                    "openedVia": {
                        "description": "How the evaluation window was opened.\n",
                        "type": "string"
                    },
                    "status": {
                        "description": "Evaluation status.\n",
                        "type": "string"
                    },
                    "summary": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Compact evaluator summary payload.\n"
                    },
                    "updatedAt": {
                        "description": "Last update time.\n",
                        "type": "string"
                    },
                    "windowEndAt": {
                        "description": "Actual candidate cutoff boundary for the window.\n",
                        "type": "string"
                    },
                    "windowStartAt": {
                        "description": "Logical start of the candidate window.\n",
                        "type": "string"
                    },
                    "workspaceId": {
                        "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "closedAt",
                    "createdAt",
                    "criteriaErrors",
                    "deadlineAt",
                    "expectationId",
                    "hardCloseAt",
                    "id",
                    "lateAcceptanceCutoffAt",
                    "matchedFiles",
                    "missingFiles",
                    "openedAt",
                    "openedVia",
                    "status",
                    "summary",
                    "updatedAt",
                    "windowEndAt",
                    "windowStartAt",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getExpectationIncident:getExpectationIncident": {
            "description": "An ExpectationIncident groups ongoing failure behavior for an Expectation over time.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleExpectationIncident = filescom.getExpectationIncident({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_expectation_incident = filescom.get_expectation_incident(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleExpectationIncident = Filescom.GetExpectationIncident.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetExpectationIncident(ctx, \u0026filescom.GetExpectationIncidentArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getexpectationincident\" \"exampleExpectationIncident\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetExpectationIncidentArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleExpectationIncident = FilescomFunctions.getExpectationIncident(GetExpectationIncidentArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleExpectationIncident:\n    fn::invoke:\n      function: filescom:getExpectationIncident\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getExpectationIncident.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Expectation Incident ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getExpectationIncident.\n",
                "properties": {
                    "acknowledgedAt": {
                        "description": "When the incident was acknowledged.\n",
                        "type": "string"
                    },
                    "createdAt": {
                        "description": "Creation time.\n",
                        "type": "string"
                    },
                    "expectationId": {
                        "description": "Expectation ID.\n",
                        "type": "integer"
                    },
                    "id": {
                        "description": "Expectation Incident ID\n",
                        "type": "integer"
                    },
                    "lastEvaluationId": {
                        "description": "Most recent evaluation linked to the incident.\n",
                        "type": "integer"
                    },
                    "lastFailedAt": {
                        "description": "When the most recent failing evaluation contributing to the incident occurred.\n",
                        "type": "string"
                    },
                    "openedAt": {
                        "description": "When the incident was opened.\n",
                        "type": "string"
                    },
                    "openedByEvaluationId": {
                        "description": "Evaluation that first opened the incident.\n",
                        "type": "integer"
                    },
                    "resolvedAt": {
                        "description": "When the incident was resolved.\n",
                        "type": "string"
                    },
                    "resolvedByEvaluationId": {
                        "description": "Evaluation that resolved the incident.\n",
                        "type": "integer"
                    },
                    "snoozedUntil": {
                        "description": "When the current snooze expires.\n",
                        "type": "string"
                    },
                    "status": {
                        "description": "Incident status.\n",
                        "type": "string"
                    },
                    "summary": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Compact incident summary payload.\n"
                    },
                    "updatedAt": {
                        "description": "Last update time.\n",
                        "type": "string"
                    },
                    "workspaceId": {
                        "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "acknowledgedAt",
                    "createdAt",
                    "expectationId",
                    "id",
                    "lastEvaluationId",
                    "lastFailedAt",
                    "openedAt",
                    "openedByEvaluationId",
                    "resolvedAt",
                    "resolvedByEvaluationId",
                    "snoozedUntil",
                    "status",
                    "summary",
                    "updatedAt",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getExternalEvent:getExternalEvent": {
            "description": "An ExternalEvent is a log that is sent to the cloud from a client application such as the Files.com CLI.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleExternalEvent = filescom.getExternalEvent({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_external_event = filescom.get_external_event(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleExternalEvent = Filescom.GetExternalEvent.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetExternalEvent(ctx, \u0026filescom.GetExternalEventArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getexternalevent\" \"exampleExternalEvent\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetExternalEventArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleExternalEvent = FilescomFunctions.getExternalEvent(GetExternalEventArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleExternalEvent:\n    fn::invoke:\n      function: filescom:getExternalEvent\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getExternalEvent.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Event ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getExternalEvent.\n",
                "properties": {
                    "body": {
                        "description": "Event body\n",
                        "type": "string"
                    },
                    "bodyUrl": {
                        "description": "Link to log file.\n",
                        "type": "string"
                    },
                    "createdAt": {
                        "description": "External event create date/time\n",
                        "type": "string"
                    },
                    "eventType": {
                        "description": "Type of event being recorded.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Event ID\n",
                        "type": "integer"
                    },
                    "status": {
                        "description": "Status of event.\n",
                        "type": "string"
                    }
                },
                "required": [
                    "body",
                    "bodyUrl",
                    "createdAt",
                    "eventType",
                    "id",
                    "status"
                ],
                "type": "object"
            }
        },
        "filescom:index/getFile:getFile": {
            "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleFile = filescom.getFile({\n    path: \"path\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_file = filescom.get_file(path=\"path\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleFile = Filescom.GetFile.Invoke(new()\n    {\n        Path = \"path\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetFile(ctx, \u0026filescom.LookupFileArgs{\n\t\t\tPath: \"path\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getfile\" \"exampleFile\" {\n  path = \"path\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetFileArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleFile = FilescomFunctions.getFile(GetFileArgs.builder()\n            .path(\"path\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleFile:\n    fn::invoke:\n      function: filescom:getFile\n      arguments:\n        path: path\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getFile.\n",
                "properties": {
                    "path": {
                        "type": "string",
                        "description": "File/Folder path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                    }
                },
                "type": "object",
                "required": [
                    "path"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getFile.\n",
                "properties": {
                    "crc32": {
                        "description": "File CRC32 checksum. This is sometimes delayed, so if you get a blank response, wait and try again.\n",
                        "type": "string"
                    },
                    "createdAt": {
                        "description": "File created date/time\n",
                        "type": "string"
                    },
                    "createdByApiKeyId": {
                        "description": "ID of the API key that created the file/folder\n",
                        "type": "integer"
                    },
                    "createdByAs2IncomingMessageId": {
                        "description": "ID of the AS2 Incoming Message that created the file/folder\n",
                        "type": "integer"
                    },
                    "createdByAutomationId": {
                        "description": "ID of the Automation that created the file/folder\n",
                        "type": "integer"
                    },
                    "createdByBundleRegistrationId": {
                        "description": "ID of the Bundle Registration that created the file/folder\n",
                        "type": "integer"
                    },
                    "createdById": {
                        "description": "User ID of the User who created the file/folder\n",
                        "type": "integer"
                    },
                    "createdByInboxId": {
                        "description": "ID of the Inbox that created the file/folder\n",
                        "type": "integer"
                    },
                    "createdByRemoteServerId": {
                        "description": "ID of the Remote Server that created the file/folder\n",
                        "type": "integer"
                    },
                    "createdBySyncId": {
                        "description": "ID of the Sync that created the file/folder\n",
                        "type": "integer"
                    },
                    "customMetadata": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Custom metadata map of keys and values. Limited to 32 keys, 256 characters per key and 1024 characters per value.\n"
                    },
                    "directConnectionInfo": {
                        "description": "Optional direct connection information for direct Agent transfer attempts\n",
                        "type": "string"
                    },
                    "displayName": {
                        "description": "File/Folder display name\n",
                        "type": "string"
                    },
                    "downloadUri": {
                        "description": "Link to download file. Provided only in response to a download request.\n",
                        "type": "string"
                    },
                    "isLocked": {
                        "description": "Is this folder locked and unable to be modified?\n",
                        "type": "boolean"
                    },
                    "lastModifiedByApiKeyId": {
                        "description": "ID of the API key that last modified the file/folder\n",
                        "type": "integer"
                    },
                    "lastModifiedByAutomationId": {
                        "description": "ID of the Automation that last modified the file/folder\n",
                        "type": "integer"
                    },
                    "lastModifiedByBundleRegistrationId": {
                        "description": "ID of the Bundle Registration that last modified the file/folder\n",
                        "type": "integer"
                    },
                    "lastModifiedById": {
                        "description": "User ID of the User who last modified the file/folder\n",
                        "type": "integer"
                    },
                    "lastModifiedByRemoteServerId": {
                        "description": "ID of the Remote Server that last modified the file/folder\n",
                        "type": "integer"
                    },
                    "lastModifiedBySyncId": {
                        "description": "ID of the Sync that last modified the file/folder\n",
                        "type": "integer"
                    },
                    "md5": {
                        "description": "File MD5 checksum. This is sometimes delayed, so if you get a blank response, wait and try again.\n",
                        "type": "string"
                    },
                    "mimeType": {
                        "description": "MIME Type.  This is determined by the filename extension and is not stored separately internally.\n",
                        "type": "string"
                    },
                    "mtime": {
                        "description": "File last modified date/time, according to the server.  This is the timestamp of the last Files.com operation of the file, regardless of what modified timestamp was sent.\n",
                        "type": "string"
                    },
                    "path": {
                        "description": "File/Folder path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n",
                        "type": "string"
                    },
                    "permissions": {
                        "description": "A short string representing the current user's permissions.  Can be \u003cspan pulumi-lang-nodejs=\"`r`\" pulumi-lang-dotnet=\"`R`\" pulumi-lang-go=\"`r`\" pulumi-lang-python=\"`r`\" pulumi-lang-yaml=\"`r`\" pulumi-lang-java=\"`r`\" pulumi-lang-hcl=\"`r`\"\u003e`r`\u003c/span\u003e (Read),\u003cspan pulumi-lang-nodejs=\"`w`\" pulumi-lang-dotnet=\"`W`\" pulumi-lang-go=\"`w`\" pulumi-lang-python=\"`w`\" pulumi-lang-yaml=\"`w`\" pulumi-lang-java=\"`w`\" pulumi-lang-hcl=\"`w`\"\u003e`w`\u003c/span\u003e (Write),\u003cspan pulumi-lang-nodejs=\"`d`\" pulumi-lang-dotnet=\"`D`\" pulumi-lang-go=\"`d`\" pulumi-lang-python=\"`d`\" pulumi-lang-yaml=\"`d`\" pulumi-lang-java=\"`d`\" pulumi-lang-hcl=\"`d`\"\u003e`d`\u003c/span\u003e (Delete), \u003cspan pulumi-lang-nodejs=\"`l`\" pulumi-lang-dotnet=\"`L`\" pulumi-lang-go=\"`l`\" pulumi-lang-python=\"`l`\" pulumi-lang-yaml=\"`l`\" pulumi-lang-java=\"`l`\" pulumi-lang-hcl=\"`l`\"\u003e`l`\u003c/span\u003e (List) or any combination\n",
                        "type": "string"
                    },
                    "preview": {
                        "description": "File preview\n",
                        "type": "string"
                    },
                    "previewId": {
                        "description": "File preview ID\n",
                        "type": "integer"
                    },
                    "priorityColor": {
                        "description": "Bookmark/priority color of file/folder\n",
                        "type": "string"
                    },
                    "providedMtime": {
                        "description": "File last modified date/time, according to the client who set it.  Files.com allows desktop, FTP, SFTP, and WebDAV clients to set modified at times.  This allows Desktop\u003c-\u003eCloud syncing to preserve modified at times.\n",
                        "type": "string"
                    },
                    "region": {
                        "description": "Region location\n",
                        "type": "string"
                    },
                    "sha1": {
                        "description": "File SHA1 checksum. This is sometimes delayed, so if you get a blank response, wait and try again.\n",
                        "type": "string"
                    },
                    "sha256": {
                        "description": "File SHA256 checksum. This is sometimes delayed, so if you get a blank response, wait and try again.\n",
                        "type": "string"
                    },
                    "size": {
                        "description": "File/Folder size\n",
                        "type": "integer"
                    },
                    "subfoldersLocked": {
                        "description": "Are subfolders locked and unable to be modified?\n",
                        "type": "boolean"
                    },
                    "type": {
                        "description": "Type: \u003cspan pulumi-lang-nodejs=\"`directory`\" pulumi-lang-dotnet=\"`Directory`\" pulumi-lang-go=\"`directory`\" pulumi-lang-python=\"`directory`\" pulumi-lang-yaml=\"`directory`\" pulumi-lang-java=\"`directory`\" pulumi-lang-hcl=\"`directory`\"\u003e`directory`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\" pulumi-lang-hcl=\"`file`\"\u003e`file`\u003c/span\u003e.\n",
                        "type": "string"
                    }
                },
                "required": [
                    "crc32",
                    "createdAt",
                    "createdByApiKeyId",
                    "createdByAs2IncomingMessageId",
                    "createdByAutomationId",
                    "createdByBundleRegistrationId",
                    "createdById",
                    "createdByInboxId",
                    "createdByRemoteServerId",
                    "createdBySyncId",
                    "customMetadata",
                    "directConnectionInfo",
                    "displayName",
                    "downloadUri",
                    "isLocked",
                    "lastModifiedByApiKeyId",
                    "lastModifiedByAutomationId",
                    "lastModifiedByBundleRegistrationId",
                    "lastModifiedById",
                    "lastModifiedByRemoteServerId",
                    "lastModifiedBySyncId",
                    "md5",
                    "mimeType",
                    "mtime",
                    "path",
                    "permissions",
                    "preview",
                    "previewId",
                    "priorityColor",
                    "providedMtime",
                    "region",
                    "sha1",
                    "sha256",
                    "size",
                    "subfoldersLocked",
                    "type"
                ],
                "type": "object"
            }
        },
        "filescom:index/getFileComment:getFileComment": {
            "description": "A FileComment is a comment attached to a file by a user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleFileComment = filescom.getFileComment({\n    id: 1,\n    path: \"path\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_file_comment = filescom.get_file_comment(id=1,\n    path=\"path\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleFileComment = Filescom.GetFileComment.Invoke(new()\n    {\n        Id = 1,\n        Path = \"path\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetFileComment(ctx, \u0026filescom.LookupFileCommentArgs{\n\t\t\tId:   1,\n\t\t\tPath: \"path\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getfilecomment\" \"exampleFileComment\" {\n  id   = 1\n  path = \"path\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetFileCommentArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleFileComment = FilescomFunctions.getFileComment(GetFileCommentArgs.builder()\n            .id(1)\n            .path(\"path\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleFileComment:\n    fn::invoke:\n      function: filescom:getFileComment\n      arguments:\n        id: 1\n        path: path\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getFileComment.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "File Comment ID\n"
                    },
                    "path": {
                        "type": "string",
                        "description": "File path.\n"
                    }
                },
                "type": "object",
                "required": [
                    "id",
                    "path"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getFileComment.\n",
                "properties": {
                    "body": {
                        "description": "Comment body.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "File Comment ID\n",
                        "type": "integer"
                    },
                    "path": {
                        "description": "File path.\n",
                        "type": "string"
                    },
                    "reactions": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Reactions to this comment.\n"
                    }
                },
                "required": [
                    "body",
                    "id",
                    "path",
                    "reactions"
                ],
                "type": "object"
            }
        },
        "filescom:index/getFileMigration:getFileMigration": {
            "description": "A FileMigration is a background operation on one or more files, such as a copy or a region migration.\n\n\n\nIf no \u003cspan pulumi-lang-nodejs=\"`operation`\" pulumi-lang-dotnet=\"`Operation`\" pulumi-lang-go=\"`operation`\" pulumi-lang-python=\"`operation`\" pulumi-lang-yaml=\"`operation`\" pulumi-lang-java=\"`operation`\" pulumi-lang-hcl=\"`operation`\"\u003e`operation`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`destPath`\" pulumi-lang-dotnet=\"`DestPath`\" pulumi-lang-go=\"`destPath`\" pulumi-lang-python=\"`dest_path`\" pulumi-lang-yaml=\"`destPath`\" pulumi-lang-java=\"`destPath`\" pulumi-lang-hcl=\"`dest_path`\"\u003e`destPath`\u003c/span\u003e is present, then the record represents a region migration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleFileMigration = filescom.getFileMigration({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_file_migration = filescom.get_file_migration(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleFileMigration = Filescom.GetFileMigration.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetFileMigration(ctx, \u0026filescom.GetFileMigrationArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getfilemigration\" \"exampleFileMigration\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetFileMigrationArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleFileMigration = FilescomFunctions.getFileMigration(GetFileMigrationArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleFileMigration:\n    fn::invoke:\n      function: filescom:getFileMigration\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getFileMigration.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "File migration ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getFileMigration.\n",
                "properties": {
                    "destPath": {
                        "description": "Destination path\n",
                        "type": "string"
                    },
                    "failureMessage": {
                        "description": "Reason for the failure, if applicable.\n",
                        "type": "string"
                    },
                    "filesMoved": {
                        "description": "Number of files processed\n",
                        "type": "integer"
                    },
                    "filesTotal": {
                        "type": "integer"
                    },
                    "id": {
                        "description": "File migration ID\n",
                        "type": "integer"
                    },
                    "logUrl": {
                        "description": "Link to download the log file for this migration.\n",
                        "type": "string"
                    },
                    "operation": {
                        "description": "The type of operation\n",
                        "type": "string"
                    },
                    "path": {
                        "description": "Source path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n",
                        "type": "string"
                    },
                    "region": {
                        "description": "Region\n",
                        "type": "string"
                    },
                    "status": {
                        "description": "Status\n",
                        "type": "string"
                    }
                },
                "required": [
                    "destPath",
                    "failureMessage",
                    "filesMoved",
                    "filesTotal",
                    "id",
                    "logUrl",
                    "operation",
                    "path",
                    "region",
                    "status"
                ],
                "type": "object"
            }
        },
        "filescom:index/getFolder:getFolder": {
            "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleFolder = filescom.getFolder({\n    path: \"path\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_folder = filescom.get_folder(path=\"path\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleFolder = Filescom.GetFolder.Invoke(new()\n    {\n        Path = \"path\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetFolder(ctx, \u0026filescom.LookupFolderArgs{\n\t\t\tPath: \"path\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getfolder\" \"exampleFolder\" {\n  path = \"path\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetFolderArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleFolder = FilescomFunctions.getFolder(GetFolderArgs.builder()\n            .path(\"path\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleFolder:\n    fn::invoke:\n      function: filescom:getFolder\n      arguments:\n        path: path\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getFolder.\n",
                "properties": {
                    "path": {
                        "type": "string",
                        "description": "File/Folder path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                    }
                },
                "type": "object",
                "required": [
                    "path"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getFolder.\n",
                "properties": {
                    "crc32": {
                        "description": "File CRC32 checksum. This is sometimes delayed, so if you get a blank response, wait and try again.\n",
                        "type": "string"
                    },
                    "createdAt": {
                        "description": "File created date/time\n",
                        "type": "string"
                    },
                    "createdByApiKeyId": {
                        "description": "ID of the API key that created the file/folder\n",
                        "type": "integer"
                    },
                    "createdByAs2IncomingMessageId": {
                        "description": "ID of the AS2 Incoming Message that created the file/folder\n",
                        "type": "integer"
                    },
                    "createdByAutomationId": {
                        "description": "ID of the Automation that created the file/folder\n",
                        "type": "integer"
                    },
                    "createdByBundleRegistrationId": {
                        "description": "ID of the Bundle Registration that created the file/folder\n",
                        "type": "integer"
                    },
                    "createdById": {
                        "description": "User ID of the User who created the file/folder\n",
                        "type": "integer"
                    },
                    "createdByInboxId": {
                        "description": "ID of the Inbox that created the file/folder\n",
                        "type": "integer"
                    },
                    "createdByRemoteServerId": {
                        "description": "ID of the Remote Server that created the file/folder\n",
                        "type": "integer"
                    },
                    "createdBySyncId": {
                        "description": "ID of the Sync that created the file/folder\n",
                        "type": "integer"
                    },
                    "customMetadata": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Custom metadata map of keys and values. Limited to 32 keys, 256 characters per key and 1024 characters per value.\n"
                    },
                    "directConnectionInfo": {
                        "description": "Optional direct connection information for direct Agent transfer attempts\n",
                        "type": "string"
                    },
                    "displayName": {
                        "description": "File/Folder display name\n",
                        "type": "string"
                    },
                    "downloadUri": {
                        "description": "Link to download file. Provided only in response to a download request.\n",
                        "type": "string"
                    },
                    "isLocked": {
                        "description": "Is this folder locked and unable to be modified?\n",
                        "type": "boolean"
                    },
                    "lastModifiedByApiKeyId": {
                        "description": "ID of the API key that last modified the file/folder\n",
                        "type": "integer"
                    },
                    "lastModifiedByAutomationId": {
                        "description": "ID of the Automation that last modified the file/folder\n",
                        "type": "integer"
                    },
                    "lastModifiedByBundleRegistrationId": {
                        "description": "ID of the Bundle Registration that last modified the file/folder\n",
                        "type": "integer"
                    },
                    "lastModifiedById": {
                        "description": "User ID of the User who last modified the file/folder\n",
                        "type": "integer"
                    },
                    "lastModifiedByRemoteServerId": {
                        "description": "ID of the Remote Server that last modified the file/folder\n",
                        "type": "integer"
                    },
                    "lastModifiedBySyncId": {
                        "description": "ID of the Sync that last modified the file/folder\n",
                        "type": "integer"
                    },
                    "md5": {
                        "description": "File MD5 checksum. This is sometimes delayed, so if you get a blank response, wait and try again.\n",
                        "type": "string"
                    },
                    "mimeType": {
                        "description": "MIME Type.  This is determined by the filename extension and is not stored separately internally.\n",
                        "type": "string"
                    },
                    "mtime": {
                        "description": "File last modified date/time, according to the server.  This is the timestamp of the last Files.com operation of the file, regardless of what modified timestamp was sent.\n",
                        "type": "string"
                    },
                    "path": {
                        "description": "File/Folder path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n",
                        "type": "string"
                    },
                    "permissions": {
                        "description": "A short string representing the current user's permissions.  Can be \u003cspan pulumi-lang-nodejs=\"`r`\" pulumi-lang-dotnet=\"`R`\" pulumi-lang-go=\"`r`\" pulumi-lang-python=\"`r`\" pulumi-lang-yaml=\"`r`\" pulumi-lang-java=\"`r`\" pulumi-lang-hcl=\"`r`\"\u003e`r`\u003c/span\u003e (Read),\u003cspan pulumi-lang-nodejs=\"`w`\" pulumi-lang-dotnet=\"`W`\" pulumi-lang-go=\"`w`\" pulumi-lang-python=\"`w`\" pulumi-lang-yaml=\"`w`\" pulumi-lang-java=\"`w`\" pulumi-lang-hcl=\"`w`\"\u003e`w`\u003c/span\u003e (Write),\u003cspan pulumi-lang-nodejs=\"`d`\" pulumi-lang-dotnet=\"`D`\" pulumi-lang-go=\"`d`\" pulumi-lang-python=\"`d`\" pulumi-lang-yaml=\"`d`\" pulumi-lang-java=\"`d`\" pulumi-lang-hcl=\"`d`\"\u003e`d`\u003c/span\u003e (Delete), \u003cspan pulumi-lang-nodejs=\"`l`\" pulumi-lang-dotnet=\"`L`\" pulumi-lang-go=\"`l`\" pulumi-lang-python=\"`l`\" pulumi-lang-yaml=\"`l`\" pulumi-lang-java=\"`l`\" pulumi-lang-hcl=\"`l`\"\u003e`l`\u003c/span\u003e (List) or any combination\n",
                        "type": "string"
                    },
                    "preview": {
                        "description": "File preview\n",
                        "type": "string"
                    },
                    "previewId": {
                        "description": "File preview ID\n",
                        "type": "integer"
                    },
                    "priorityColor": {
                        "description": "Bookmark/priority color of file/folder\n",
                        "type": "string"
                    },
                    "providedMtime": {
                        "description": "File last modified date/time, according to the client who set it.  Files.com allows desktop, FTP, SFTP, and WebDAV clients to set modified at times.  This allows Desktop\u003c-\u003eCloud syncing to preserve modified at times.\n",
                        "type": "string"
                    },
                    "region": {
                        "description": "Region location\n",
                        "type": "string"
                    },
                    "sha1": {
                        "description": "File SHA1 checksum. This is sometimes delayed, so if you get a blank response, wait and try again.\n",
                        "type": "string"
                    },
                    "sha256": {
                        "description": "File SHA256 checksum. This is sometimes delayed, so if you get a blank response, wait and try again.\n",
                        "type": "string"
                    },
                    "size": {
                        "description": "File/Folder size\n",
                        "type": "integer"
                    },
                    "subfoldersLocked": {
                        "description": "Are subfolders locked and unable to be modified?\n",
                        "type": "boolean"
                    },
                    "type": {
                        "description": "Type: \u003cspan pulumi-lang-nodejs=\"`directory`\" pulumi-lang-dotnet=\"`Directory`\" pulumi-lang-go=\"`directory`\" pulumi-lang-python=\"`directory`\" pulumi-lang-yaml=\"`directory`\" pulumi-lang-java=\"`directory`\" pulumi-lang-hcl=\"`directory`\"\u003e`directory`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\" pulumi-lang-hcl=\"`file`\"\u003e`file`\u003c/span\u003e.\n",
                        "type": "string"
                    }
                },
                "required": [
                    "crc32",
                    "createdAt",
                    "createdByApiKeyId",
                    "createdByAs2IncomingMessageId",
                    "createdByAutomationId",
                    "createdByBundleRegistrationId",
                    "createdById",
                    "createdByInboxId",
                    "createdByRemoteServerId",
                    "createdBySyncId",
                    "customMetadata",
                    "directConnectionInfo",
                    "displayName",
                    "downloadUri",
                    "isLocked",
                    "lastModifiedByApiKeyId",
                    "lastModifiedByAutomationId",
                    "lastModifiedByBundleRegistrationId",
                    "lastModifiedById",
                    "lastModifiedByRemoteServerId",
                    "lastModifiedBySyncId",
                    "md5",
                    "mimeType",
                    "mtime",
                    "path",
                    "permissions",
                    "preview",
                    "previewId",
                    "priorityColor",
                    "providedMtime",
                    "region",
                    "sha1",
                    "sha256",
                    "size",
                    "subfoldersLocked",
                    "type"
                ],
                "type": "object"
            }
        },
        "filescom:index/getFormFieldSet:getFormFieldSet": {
            "description": "A Form Field Set is a custom form to be used for bundle and inbox registrations.\n\n\n\nEach Form Field Set contains one or more Form Fields. A form and all of its form fields are submitted in a single create request. The order of form fields in the array is the order they will be displayed.\n\n\n\nOnce created, a form field set can then be associated with one or more bundle(s) and/or inbox(s). Once associated, you will be required to submit well-formatted form-data when creating a bundle-registration or inbox registration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleFormFieldSet = filescom.getFormFieldSet({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_form_field_set = filescom.get_form_field_set(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleFormFieldSet = Filescom.GetFormFieldSet.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetFormFieldSet(ctx, \u0026filescom.LookupFormFieldSetArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getformfieldset\" \"exampleFormFieldSet\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetFormFieldSetArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleFormFieldSet = FilescomFunctions.getFormFieldSet(GetFormFieldSetArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleFormFieldSet:\n    fn::invoke:\n      function: filescom:getFormFieldSet\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getFormFieldSet.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Form field set id\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getFormFieldSet.\n",
                "properties": {
                    "formFields": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Associated form fields\n"
                    },
                    "formLayouts": {
                        "description": "Layout of the form\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "id": {
                        "description": "Form field set id\n",
                        "type": "integer"
                    },
                    "inUse": {
                        "description": "Form Field Set is in use by an active Inbox / Bundle / Inbox Registration / Bundle Registration\n",
                        "type": "boolean"
                    },
                    "skipCompany": {
                        "description": "Any associated InboxRegistrations or BundleRegistrations can be saved without providing company\n",
                        "type": "boolean"
                    },
                    "skipEmail": {
                        "description": "Any associated InboxRegistrations or BundleRegistrations can be saved without providing email\n",
                        "type": "boolean"
                    },
                    "skipName": {
                        "description": "Any associated InboxRegistrations or BundleRegistrations can be saved without providing name\n",
                        "type": "boolean"
                    },
                    "title": {
                        "description": "Title to be displayed\n",
                        "type": "string"
                    }
                },
                "required": [
                    "formFields",
                    "formLayouts",
                    "id",
                    "inUse",
                    "skipCompany",
                    "skipEmail",
                    "skipName",
                    "title"
                ],
                "type": "object"
            }
        },
        "filescom:index/getGpgKey:getGpgKey": {
            "description": "A GPGKey object on Files.com is used to securely store both the private and public keys associated with a GPG (GNU Privacy Guard) encryption key pair. This object enables the encryption and decryption of data using GPG, allowing you to protect sensitive information.\n\n\n\nThe private key is kept confidential and is used for decrypting data or signing messages to prove authenticity, while the public key is used to encrypt messages that only the owner of the private key can decrypt.\n\n\n\nBy storing both keys together in a GPGKey object, Files.com makes it easier to understand encryption operations, ensuring secure and efficient handling of encrypted data within the platform.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleGpgKey = filescom.getGpgKey({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_gpg_key = filescom.get_gpg_key(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleGpgKey = Filescom.GetGpgKey.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetGpgKey(ctx, \u0026filescom.LookupGpgKeyArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getgpgkey\" \"exampleGpgKey\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetGpgKeyArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleGpgKey = FilescomFunctions.getGpgKey(GetGpgKeyArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleGpgKey:\n    fn::invoke:\n      function: filescom:getGpgKey\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getGpgKey.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "GPG key ID.\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getGpgKey.\n",
                "properties": {
                    "expiresAt": {
                        "description": "GPG key expiration date.\n",
                        "type": "string"
                    },
                    "generatedPrivateKey": {
                        "description": "GPG private key.\n",
                        "secret": true,
                        "type": "string"
                    },
                    "generatedPublicKey": {
                        "description": "GPG public key\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "GPG key ID.\n",
                        "type": "integer"
                    },
                    "name": {
                        "description": "GPG key name.\n",
                        "type": "string"
                    },
                    "partnerId": {
                        "description": "Partner ID who owns this GPG Key, if applicable.\n",
                        "type": "integer"
                    },
                    "partnerName": {
                        "description": "Name of the Partner who owns this GPG Key, if applicable.\n",
                        "type": "string"
                    },
                    "privateKeyMd5": {
                        "description": "MD5 hash of the GPG private key.\n",
                        "type": "string"
                    },
                    "privateKeyPasswordMd5": {
                        "description": "GPG private key password. Only required for password protected keys.\n",
                        "type": "string"
                    },
                    "publicKeyMd5": {
                        "description": "MD5 hash of the GPG public key\n",
                        "type": "string"
                    },
                    "userId": {
                        "description": "User ID who owns this GPG Key, if applicable.\n",
                        "type": "integer"
                    },
                    "workspaceId": {
                        "description": "Workspace ID (0 for default workspace).\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "expiresAt",
                    "generatedPrivateKey",
                    "generatedPublicKey",
                    "id",
                    "name",
                    "partnerId",
                    "partnerName",
                    "privateKeyMd5",
                    "privateKeyPasswordMd5",
                    "publicKeyMd5",
                    "userId",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getGroup:getGroup": {
            "description": "A Group is a powerful tool for permissions and user management on Files.com. Users can belong to multiple groups.\n\n\n\nAll permissions can be managed via Groups, and Groups can also be synced to your identity platform via LDAP or SCIM.\n\n\n\nFiles.com's Group Admin feature allows you to define Group Admins, who then have access to add and remove users within their groups.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleGroup = filescom.getGroup({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_group = filescom.get_group(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleGroup = Filescom.GetGroup.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetGroup(ctx, \u0026filescom.LookupGroupArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getgroup\" \"exampleGroup\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetGroupArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleGroup = FilescomFunctions.getGroup(GetGroupArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleGroup:\n    fn::invoke:\n      function: filescom:getGroup\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getGroup.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Group ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getGroup.\n",
                "properties": {
                    "adminIds": {
                        "description": "Comma-delimited list of user IDs who are group administrators (separated by commas)\n",
                        "type": "string"
                    },
                    "aiAssistantPersonalityId": {
                        "description": "AI Assistant Personality ID assigned to this Group, if any. Users in the Group inherit it unless a direct per-user or Partner assignment overrides it.\n",
                        "type": "integer"
                    },
                    "allowedIps": {
                        "description": "A list of allowed IPs if applicable.  Newline delimited\n",
                        "type": "string"
                    },
                    "davPermission": {
                        "description": "If true, users in this group can use WebDAV to login.  This will override a false value of \u003cspan pulumi-lang-nodejs=\"`davPermission`\" pulumi-lang-dotnet=\"`DavPermission`\" pulumi-lang-go=\"`davPermission`\" pulumi-lang-python=\"`dav_permission`\" pulumi-lang-yaml=\"`davPermission`\" pulumi-lang-java=\"`davPermission`\" pulumi-lang-hcl=\"`dav_permission`\"\u003e`davPermission`\u003c/span\u003e on the user level.\n",
                        "type": "boolean"
                    },
                    "desktopConfigurationProfileId": {
                        "description": "Desktop Configuration Profile ID assigned to this Group, if any. Users in the Group inherit it unless a direct per-user assignment overrides it.\n",
                        "type": "integer"
                    },
                    "ftpPermission": {
                        "description": "If true, users in this group can use FTP to login.  This will override a false value of \u003cspan pulumi-lang-nodejs=\"`ftpPermission`\" pulumi-lang-dotnet=\"`FtpPermission`\" pulumi-lang-go=\"`ftpPermission`\" pulumi-lang-python=\"`ftp_permission`\" pulumi-lang-yaml=\"`ftpPermission`\" pulumi-lang-java=\"`ftpPermission`\" pulumi-lang-hcl=\"`ftp_permission`\"\u003e`ftpPermission`\u003c/span\u003e on the user level.\n",
                        "type": "boolean"
                    },
                    "id": {
                        "description": "Group ID\n",
                        "type": "integer"
                    },
                    "integrationCentricProfileId": {
                        "description": "Integration Centric Profile ID assigned to this Group, if any. Users in the Group inherit it unless a direct per-user assignment overrides it.\n",
                        "type": "integer"
                    },
                    "name": {
                        "description": "Group name\n",
                        "type": "string"
                    },
                    "notes": {
                        "description": "Notes about this group\n",
                        "type": "string"
                    },
                    "restapiPermission": {
                        "description": "If true, users in this group can use the REST API to login.  This will override a false value of \u003cspan pulumi-lang-nodejs=\"`restapiPermission`\" pulumi-lang-dotnet=\"`RestapiPermission`\" pulumi-lang-go=\"`restapiPermission`\" pulumi-lang-python=\"`restapi_permission`\" pulumi-lang-yaml=\"`restapiPermission`\" pulumi-lang-java=\"`restapiPermission`\" pulumi-lang-hcl=\"`restapi_permission`\"\u003e`restapiPermission`\u003c/span\u003e on the user level.\n",
                        "type": "boolean"
                    },
                    "sftpPermission": {
                        "description": "If true, users in this group can use SFTP to login.  This will override a false value of \u003cspan pulumi-lang-nodejs=\"`sftpPermission`\" pulumi-lang-dotnet=\"`SftpPermission`\" pulumi-lang-go=\"`sftpPermission`\" pulumi-lang-python=\"`sftp_permission`\" pulumi-lang-yaml=\"`sftpPermission`\" pulumi-lang-java=\"`sftpPermission`\" pulumi-lang-hcl=\"`sftp_permission`\"\u003e`sftpPermission`\u003c/span\u003e on the user level.\n",
                        "type": "boolean"
                    },
                    "siteId": {
                        "description": "Site ID\n",
                        "type": "integer"
                    },
                    "userIds": {
                        "description": "Comma-delimited list of user IDs who belong to this group (separated by commas)\n",
                        "type": "string"
                    },
                    "usernames": {
                        "description": "Comma-delimited list of usernames who belong to this group (separated by commas)\n",
                        "type": "string"
                    },
                    "workspaceId": {
                        "description": "Workspace ID\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "adminIds",
                    "aiAssistantPersonalityId",
                    "allowedIps",
                    "davPermission",
                    "desktopConfigurationProfileId",
                    "ftpPermission",
                    "id",
                    "integrationCentricProfileId",
                    "name",
                    "notes",
                    "restapiPermission",
                    "sftpPermission",
                    "siteId",
                    "userIds",
                    "usernames",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getGroupUser:getGroupUser": {
            "description": "A GroupUser is a record about membership of a User within a Group.\n\n\n\n## Creating GroupUsers\n\nGroupUsers can be created via the normal \u003cspan pulumi-lang-nodejs=\"`create`\" pulumi-lang-dotnet=\"`Create`\" pulumi-lang-go=\"`create`\" pulumi-lang-python=\"`create`\" pulumi-lang-yaml=\"`create`\" pulumi-lang-java=\"`create`\" pulumi-lang-hcl=\"`create`\"\u003e`create`\u003c/span\u003e action. When using the \u003cspan pulumi-lang-nodejs=\"`update`\" pulumi-lang-dotnet=\"`Update`\" pulumi-lang-go=\"`update`\" pulumi-lang-python=\"`update`\" pulumi-lang-yaml=\"`update`\" pulumi-lang-java=\"`update`\" pulumi-lang-hcl=\"`update`\"\u003e`update`\u003c/span\u003e action, if the\n\nGroupUser record does not exist for the given user/group IDs it will be created.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleGroupUser = filescom.getGroupUser({\n    groupId: 1,\n    userId: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_group_user = filescom.get_group_user(group_id=1,\n    user_id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleGroupUser = Filescom.GetGroupUser.Invoke(new()\n    {\n        GroupId = 1,\n        UserId = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetGroupUser(ctx, \u0026filescom.LookupGroupUserArgs{\n\t\t\tGroupId: 1,\n\t\t\tUserId:  1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getgroupuser\" \"exampleGroupUser\" {\n  group_id = 1\n  user_id  = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetGroupUserArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleGroupUser = FilescomFunctions.getGroupUser(GetGroupUserArgs.builder()\n            .groupId(1)\n            .userId(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleGroupUser:\n    fn::invoke:\n      function: filescom:getGroupUser\n      arguments:\n        groupId: 1\n        userId: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getGroupUser.\n",
                "properties": {
                    "groupId": {
                        "type": "integer",
                        "description": "Group ID\n"
                    },
                    "userId": {
                        "type": "integer",
                        "description": "User ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "groupId",
                    "userId"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getGroupUser.\n",
                "properties": {
                    "admin": {
                        "description": "Is this user an administrator of this group?\n",
                        "type": "boolean"
                    },
                    "groupId": {
                        "description": "Group ID\n",
                        "type": "integer"
                    },
                    "groupName": {
                        "description": "Group name\n",
                        "type": "string"
                    },
                    "userId": {
                        "description": "User ID\n",
                        "type": "integer"
                    },
                    "username": {
                        "description": "Username of the user\n",
                        "type": "string"
                    }
                },
                "required": [
                    "admin",
                    "groupId",
                    "groupName",
                    "userId",
                    "username"
                ],
                "type": "object"
            }
        },
        "filescom:index/getHistoryExport:getHistoryExport": {
            "description": "A History Export is a resource on the API that is used to export historical action (history) logs.\n\n\n\nAll queries against the archive must be submitted as Exports. (Even our Web UI creates an Export behind\n\nthe scenes.)\n\n\n\nWe use Amazon Athena behind the scenes for processing these queries, and as such, have powerful\n\nsearch capabilities. We've done our best to expose search capabilities via this History Export API.\n\n\n\nIn any query field in this API, you may specify multiple values separated by commas. That means that commas\n\ncannot be searched for themselves, and neither can single quotation marks.\n\n\n\nWe do not currently partition data by date on the backend, so all queries result in a full scan of the entire\n\ndata lake. This means that all queries will take about the same amount of time to complete, and we incur about\n\nthe same cost per query internally. We don't typically bill our customers for these queries, assuming\n\nusage is occasional and manual.\n\n\n\nIf you intend to use this API for high volume or automated use, please contact us with more information\n\nabout your use case. We may decide to change the backend data schema to match your use case more closely, and\n\nwe may also need to charge an additional cost per query.\n\n\n\n## Example History Queries\n\n\n\n* History for a user: `{ \u003cspan pulumi-lang-nodejs=\"\"queryUserId\"\" pulumi-lang-dotnet=\"\"QueryUserId\"\" pulumi-lang-go=\"\"queryUserId\"\" pulumi-lang-python=\"\"query_user_id\"\" pulumi-lang-yaml=\"\"queryUserId\"\" pulumi-lang-java=\"\"queryUserId\"\" pulumi-lang-hcl=\"\"query_user_id\"\"\u003e\"queryUserId\"\u003c/span\u003e: 123 }`\n\n* History for a range of time: `{ \u003cspan pulumi-lang-nodejs=\"\"startAt\"\" pulumi-lang-dotnet=\"\"StartAt\"\" pulumi-lang-go=\"\"startAt\"\" pulumi-lang-python=\"\"start_at\"\" pulumi-lang-yaml=\"\"startAt\"\" pulumi-lang-java=\"\"startAt\"\" pulumi-lang-hcl=\"\"start_at\"\"\u003e\"startAt\"\u003c/span\u003e: \"2021-03-18 12:00:00\", \u003cspan pulumi-lang-nodejs=\"\"endAt\"\" pulumi-lang-dotnet=\"\"EndAt\"\" pulumi-lang-go=\"\"endAt\"\" pulumi-lang-python=\"\"end_at\"\" pulumi-lang-yaml=\"\"endAt\"\" pulumi-lang-java=\"\"endAt\"\" pulumi-lang-hcl=\"\"end_at\"\"\u003e\"endAt\"\u003c/span\u003e: \"2021-03-19 12:00:00\" }`\n\n* History of logins and failed logins: `{ \u003cspan pulumi-lang-nodejs=\"\"queryAction\"\" pulumi-lang-dotnet=\"\"QueryAction\"\" pulumi-lang-go=\"\"queryAction\"\" pulumi-lang-python=\"\"query_action\"\" pulumi-lang-yaml=\"\"queryAction\"\" pulumi-lang-java=\"\"queryAction\"\" pulumi-lang-hcl=\"\"query_action\"\"\u003e\"queryAction\"\u003c/span\u003e: \"login,failedlogin\" }`\n\n* A Complex query: `{ \u003cspan pulumi-lang-nodejs=\"\"queryFolder\"\" pulumi-lang-dotnet=\"\"QueryFolder\"\" pulumi-lang-go=\"\"queryFolder\"\" pulumi-lang-python=\"\"query_folder\"\" pulumi-lang-yaml=\"\"queryFolder\"\" pulumi-lang-java=\"\"queryFolder\"\" pulumi-lang-hcl=\"\"query_folder\"\"\u003e\"queryFolder\"\u003c/span\u003e: \"uploads\", \u003cspan pulumi-lang-nodejs=\"\"queryAction\"\" pulumi-lang-dotnet=\"\"QueryAction\"\" pulumi-lang-go=\"\"queryAction\"\" pulumi-lang-python=\"\"query_action\"\" pulumi-lang-yaml=\"\"queryAction\"\" pulumi-lang-java=\"\"queryAction\"\" pulumi-lang-hcl=\"\"query_action\"\"\u003e\"queryAction\"\u003c/span\u003e: \"create,copy,move\", \u003cspan pulumi-lang-nodejs=\"\"startAt\"\" pulumi-lang-dotnet=\"\"StartAt\"\" pulumi-lang-go=\"\"startAt\"\" pulumi-lang-python=\"\"start_at\"\" pulumi-lang-yaml=\"\"startAt\"\" pulumi-lang-java=\"\"startAt\"\" pulumi-lang-hcl=\"\"start_at\"\"\u003e\"startAt\"\u003c/span\u003e: \"2021-03-18 12:00:00\", \u003cspan pulumi-lang-nodejs=\"\"endAt\"\" pulumi-lang-dotnet=\"\"EndAt\"\" pulumi-lang-go=\"\"endAt\"\" pulumi-lang-python=\"\"end_at\"\" pulumi-lang-yaml=\"\"endAt\"\" pulumi-lang-java=\"\"endAt\"\" pulumi-lang-hcl=\"\"end_at\"\"\u003e\"endAt\"\u003c/span\u003e: \"2021-03-19 12:00:00\" }`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleHistoryExport = filescom.getHistoryExport({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_history_export = filescom.get_history_export(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleHistoryExport = Filescom.GetHistoryExport.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetHistoryExport(ctx, \u0026filescom.GetHistoryExportArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_gethistoryexport\" \"exampleHistoryExport\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetHistoryExportArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleHistoryExport = FilescomFunctions.getHistoryExport(GetHistoryExportArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleHistoryExport:\n    fn::invoke:\n      function: filescom:getHistoryExport\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getHistoryExport.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "History Export ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getHistoryExport.\n",
                "properties": {
                    "endAt": {
                        "description": "End date/time of export range.\n",
                        "type": "string"
                    },
                    "historyVersion": {
                        "description": "Version of the history for the export.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "History Export ID\n",
                        "type": "integer"
                    },
                    "queryAction": {
                        "description": "Filter results by this this action type. Valid values: \u003cspan pulumi-lang-nodejs=\"`create`\" pulumi-lang-dotnet=\"`Create`\" pulumi-lang-go=\"`create`\" pulumi-lang-python=\"`create`\" pulumi-lang-yaml=\"`create`\" pulumi-lang-java=\"`create`\" pulumi-lang-hcl=\"`create`\"\u003e`create`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\" pulumi-lang-hcl=\"`read`\"\u003e`read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`update`\" pulumi-lang-dotnet=\"`Update`\" pulumi-lang-go=\"`update`\" pulumi-lang-python=\"`update`\" pulumi-lang-yaml=\"`update`\" pulumi-lang-java=\"`update`\" pulumi-lang-hcl=\"`update`\"\u003e`update`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`destroy`\" pulumi-lang-dotnet=\"`Destroy`\" pulumi-lang-go=\"`destroy`\" pulumi-lang-python=\"`destroy`\" pulumi-lang-yaml=\"`destroy`\" pulumi-lang-java=\"`destroy`\" pulumi-lang-hcl=\"`destroy`\"\u003e`destroy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`move`\" pulumi-lang-dotnet=\"`Move`\" pulumi-lang-go=\"`move`\" pulumi-lang-python=\"`move`\" pulumi-lang-yaml=\"`move`\" pulumi-lang-java=\"`move`\" pulumi-lang-hcl=\"`move`\"\u003e`move`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`login`\" pulumi-lang-dotnet=\"`Login`\" pulumi-lang-go=\"`login`\" pulumi-lang-python=\"`login`\" pulumi-lang-yaml=\"`login`\" pulumi-lang-java=\"`login`\" pulumi-lang-hcl=\"`login`\"\u003e`login`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`failedlogin`\" pulumi-lang-dotnet=\"`Failedlogin`\" pulumi-lang-go=\"`failedlogin`\" pulumi-lang-python=\"`failedlogin`\" pulumi-lang-yaml=\"`failedlogin`\" pulumi-lang-java=\"`failedlogin`\" pulumi-lang-hcl=\"`failedlogin`\"\u003e`failedlogin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`copy`\" pulumi-lang-dotnet=\"`Copy`\" pulumi-lang-go=\"`copy`\" pulumi-lang-python=\"`copy`\" pulumi-lang-yaml=\"`copy`\" pulumi-lang-java=\"`copy`\" pulumi-lang-hcl=\"`copy`\"\u003e`copy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`userCreate`\" pulumi-lang-dotnet=\"`UserCreate`\" pulumi-lang-go=\"`userCreate`\" pulumi-lang-python=\"`user_create`\" pulumi-lang-yaml=\"`userCreate`\" pulumi-lang-java=\"`userCreate`\" pulumi-lang-hcl=\"`user_create`\"\u003e`userCreate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`userUpdate`\" pulumi-lang-dotnet=\"`UserUpdate`\" pulumi-lang-go=\"`userUpdate`\" pulumi-lang-python=\"`user_update`\" pulumi-lang-yaml=\"`userUpdate`\" pulumi-lang-java=\"`userUpdate`\" pulumi-lang-hcl=\"`user_update`\"\u003e`userUpdate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`userDestroy`\" pulumi-lang-dotnet=\"`UserDestroy`\" pulumi-lang-go=\"`userDestroy`\" pulumi-lang-python=\"`user_destroy`\" pulumi-lang-yaml=\"`userDestroy`\" pulumi-lang-java=\"`userDestroy`\" pulumi-lang-hcl=\"`user_destroy`\"\u003e`userDestroy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`groupCreate`\" pulumi-lang-dotnet=\"`GroupCreate`\" pulumi-lang-go=\"`groupCreate`\" pulumi-lang-python=\"`group_create`\" pulumi-lang-yaml=\"`groupCreate`\" pulumi-lang-java=\"`groupCreate`\" pulumi-lang-hcl=\"`group_create`\"\u003e`groupCreate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`groupUpdate`\" pulumi-lang-dotnet=\"`GroupUpdate`\" pulumi-lang-go=\"`groupUpdate`\" pulumi-lang-python=\"`group_update`\" pulumi-lang-yaml=\"`groupUpdate`\" pulumi-lang-java=\"`groupUpdate`\" pulumi-lang-hcl=\"`group_update`\"\u003e`groupUpdate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`groupDestroy`\" pulumi-lang-dotnet=\"`GroupDestroy`\" pulumi-lang-go=\"`groupDestroy`\" pulumi-lang-python=\"`group_destroy`\" pulumi-lang-yaml=\"`groupDestroy`\" pulumi-lang-java=\"`groupDestroy`\" pulumi-lang-hcl=\"`group_destroy`\"\u003e`groupDestroy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`permissionCreate`\" pulumi-lang-dotnet=\"`PermissionCreate`\" pulumi-lang-go=\"`permissionCreate`\" pulumi-lang-python=\"`permission_create`\" pulumi-lang-yaml=\"`permissionCreate`\" pulumi-lang-java=\"`permissionCreate`\" pulumi-lang-hcl=\"`permission_create`\"\u003e`permissionCreate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`permissionDestroy`\" pulumi-lang-dotnet=\"`PermissionDestroy`\" pulumi-lang-go=\"`permissionDestroy`\" pulumi-lang-python=\"`permission_destroy`\" pulumi-lang-yaml=\"`permissionDestroy`\" pulumi-lang-java=\"`permissionDestroy`\" pulumi-lang-hcl=\"`permission_destroy`\"\u003e`permissionDestroy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`apiKeyCreate`\" pulumi-lang-dotnet=\"`ApiKeyCreate`\" pulumi-lang-go=\"`apiKeyCreate`\" pulumi-lang-python=\"`api_key_create`\" pulumi-lang-yaml=\"`apiKeyCreate`\" pulumi-lang-java=\"`apiKeyCreate`\" pulumi-lang-hcl=\"`api_key_create`\"\u003e`apiKeyCreate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`apiKeyUpdate`\" pulumi-lang-dotnet=\"`ApiKeyUpdate`\" pulumi-lang-go=\"`apiKeyUpdate`\" pulumi-lang-python=\"`api_key_update`\" pulumi-lang-yaml=\"`apiKeyUpdate`\" pulumi-lang-java=\"`apiKeyUpdate`\" pulumi-lang-hcl=\"`api_key_update`\"\u003e`apiKeyUpdate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`apiKeyDestroy`\" pulumi-lang-dotnet=\"`ApiKeyDestroy`\" pulumi-lang-go=\"`apiKeyDestroy`\" pulumi-lang-python=\"`api_key_destroy`\" pulumi-lang-yaml=\"`apiKeyDestroy`\" pulumi-lang-java=\"`apiKeyDestroy`\" pulumi-lang-hcl=\"`api_key_destroy`\"\u003e`apiKeyDestroy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`archivedDelete`\" pulumi-lang-dotnet=\"`ArchivedDelete`\" pulumi-lang-go=\"`archivedDelete`\" pulumi-lang-python=\"`archived_delete`\" pulumi-lang-yaml=\"`archivedDelete`\" pulumi-lang-java=\"`archivedDelete`\" pulumi-lang-hcl=\"`archived_delete`\"\u003e`archivedDelete`\u003c/span\u003e\n",
                        "type": "string"
                    },
                    "queryDestination": {
                        "description": "Return results that are file moves with paths matching this pattern as destination.\n",
                        "type": "string"
                    },
                    "queryFailureType": {
                        "description": "If searching for Histories about login failures, this parameter restricts results to failures of this specific type.  Valid values: \u003cspan pulumi-lang-nodejs=\"`expiredTrial`\" pulumi-lang-dotnet=\"`ExpiredTrial`\" pulumi-lang-go=\"`expiredTrial`\" pulumi-lang-python=\"`expired_trial`\" pulumi-lang-yaml=\"`expiredTrial`\" pulumi-lang-java=\"`expiredTrial`\" pulumi-lang-hcl=\"`expired_trial`\"\u003e`expiredTrial`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`accountOverdue`\" pulumi-lang-dotnet=\"`AccountOverdue`\" pulumi-lang-go=\"`accountOverdue`\" pulumi-lang-python=\"`account_overdue`\" pulumi-lang-yaml=\"`accountOverdue`\" pulumi-lang-java=\"`accountOverdue`\" pulumi-lang-hcl=\"`account_overdue`\"\u003e`accountOverdue`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lockedOut`\" pulumi-lang-dotnet=\"`LockedOut`\" pulumi-lang-go=\"`lockedOut`\" pulumi-lang-python=\"`locked_out`\" pulumi-lang-yaml=\"`lockedOut`\" pulumi-lang-java=\"`lockedOut`\" pulumi-lang-hcl=\"`locked_out`\"\u003e`lockedOut`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipMismatch`\" pulumi-lang-dotnet=\"`IpMismatch`\" pulumi-lang-go=\"`ipMismatch`\" pulumi-lang-python=\"`ip_mismatch`\" pulumi-lang-yaml=\"`ipMismatch`\" pulumi-lang-java=\"`ipMismatch`\" pulumi-lang-hcl=\"`ip_mismatch`\"\u003e`ipMismatch`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`passwordMismatch`\" pulumi-lang-dotnet=\"`PasswordMismatch`\" pulumi-lang-go=\"`passwordMismatch`\" pulumi-lang-python=\"`password_mismatch`\" pulumi-lang-yaml=\"`passwordMismatch`\" pulumi-lang-java=\"`passwordMismatch`\" pulumi-lang-hcl=\"`password_mismatch`\"\u003e`passwordMismatch`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`siteMismatch`\" pulumi-lang-dotnet=\"`SiteMismatch`\" pulumi-lang-go=\"`siteMismatch`\" pulumi-lang-python=\"`site_mismatch`\" pulumi-lang-yaml=\"`siteMismatch`\" pulumi-lang-java=\"`siteMismatch`\" pulumi-lang-hcl=\"`site_mismatch`\"\u003e`siteMismatch`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`usernameNotFound`\" pulumi-lang-dotnet=\"`UsernameNotFound`\" pulumi-lang-go=\"`usernameNotFound`\" pulumi-lang-python=\"`username_not_found`\" pulumi-lang-yaml=\"`usernameNotFound`\" pulumi-lang-java=\"`usernameNotFound`\" pulumi-lang-hcl=\"`username_not_found`\"\u003e`usernameNotFound`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`noFtpPermission`\" pulumi-lang-dotnet=\"`NoFtpPermission`\" pulumi-lang-go=\"`noFtpPermission`\" pulumi-lang-python=\"`no_ftp_permission`\" pulumi-lang-yaml=\"`noFtpPermission`\" pulumi-lang-java=\"`noFtpPermission`\" pulumi-lang-hcl=\"`no_ftp_permission`\"\u003e`noFtpPermission`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`noWebPermission`\" pulumi-lang-dotnet=\"`NoWebPermission`\" pulumi-lang-go=\"`noWebPermission`\" pulumi-lang-python=\"`no_web_permission`\" pulumi-lang-yaml=\"`noWebPermission`\" pulumi-lang-java=\"`noWebPermission`\" pulumi-lang-hcl=\"`no_web_permission`\"\u003e`noWebPermission`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`noDirectory`\" pulumi-lang-dotnet=\"`NoDirectory`\" pulumi-lang-go=\"`noDirectory`\" pulumi-lang-python=\"`no_directory`\" pulumi-lang-yaml=\"`noDirectory`\" pulumi-lang-java=\"`noDirectory`\" pulumi-lang-hcl=\"`no_directory`\"\u003e`noDirectory`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`errnoEnoent`\" pulumi-lang-dotnet=\"`ErrnoEnoent`\" pulumi-lang-go=\"`errnoEnoent`\" pulumi-lang-python=\"`errno_enoent`\" pulumi-lang-yaml=\"`errnoEnoent`\" pulumi-lang-java=\"`errnoEnoent`\" pulumi-lang-hcl=\"`errno_enoent`\"\u003e`errnoEnoent`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`noSftpPermission`\" pulumi-lang-dotnet=\"`NoSftpPermission`\" pulumi-lang-go=\"`noSftpPermission`\" pulumi-lang-python=\"`no_sftp_permission`\" pulumi-lang-yaml=\"`noSftpPermission`\" pulumi-lang-java=\"`noSftpPermission`\" pulumi-lang-hcl=\"`no_sftp_permission`\"\u003e`noSftpPermission`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`noDavPermission`\" pulumi-lang-dotnet=\"`NoDavPermission`\" pulumi-lang-go=\"`noDavPermission`\" pulumi-lang-python=\"`no_dav_permission`\" pulumi-lang-yaml=\"`noDavPermission`\" pulumi-lang-java=\"`noDavPermission`\" pulumi-lang-hcl=\"`no_dav_permission`\"\u003e`noDavPermission`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`noRestapiPermission`\" pulumi-lang-dotnet=\"`NoRestapiPermission`\" pulumi-lang-go=\"`noRestapiPermission`\" pulumi-lang-python=\"`no_restapi_permission`\" pulumi-lang-yaml=\"`noRestapiPermission`\" pulumi-lang-java=\"`noRestapiPermission`\" pulumi-lang-hcl=\"`no_restapi_permission`\"\u003e`noRestapiPermission`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`keyMismatch`\" pulumi-lang-dotnet=\"`KeyMismatch`\" pulumi-lang-go=\"`keyMismatch`\" pulumi-lang-python=\"`key_mismatch`\" pulumi-lang-yaml=\"`keyMismatch`\" pulumi-lang-java=\"`keyMismatch`\" pulumi-lang-hcl=\"`key_mismatch`\"\u003e`keyMismatch`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`regionMismatch`\" pulumi-lang-dotnet=\"`RegionMismatch`\" pulumi-lang-go=\"`regionMismatch`\" pulumi-lang-python=\"`region_mismatch`\" pulumi-lang-yaml=\"`regionMismatch`\" pulumi-lang-java=\"`regionMismatch`\" pulumi-lang-hcl=\"`region_mismatch`\"\u003e`regionMismatch`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`expiredAccess`\" pulumi-lang-dotnet=\"`ExpiredAccess`\" pulumi-lang-go=\"`expiredAccess`\" pulumi-lang-python=\"`expired_access`\" pulumi-lang-yaml=\"`expiredAccess`\" pulumi-lang-java=\"`expiredAccess`\" pulumi-lang-hcl=\"`expired_access`\"\u003e`expiredAccess`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`desktopIpMismatch`\" pulumi-lang-dotnet=\"`DesktopIpMismatch`\" pulumi-lang-go=\"`desktopIpMismatch`\" pulumi-lang-python=\"`desktop_ip_mismatch`\" pulumi-lang-yaml=\"`desktopIpMismatch`\" pulumi-lang-java=\"`desktopIpMismatch`\" pulumi-lang-hcl=\"`desktop_ip_mismatch`\"\u003e`desktopIpMismatch`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`desktopApiKeyNotUsedQuicklyEnough`\" pulumi-lang-dotnet=\"`DesktopApiKeyNotUsedQuicklyEnough`\" pulumi-lang-go=\"`desktopApiKeyNotUsedQuicklyEnough`\" pulumi-lang-python=\"`desktop_api_key_not_used_quickly_enough`\" pulumi-lang-yaml=\"`desktopApiKeyNotUsedQuicklyEnough`\" pulumi-lang-java=\"`desktopApiKeyNotUsedQuicklyEnough`\" pulumi-lang-hcl=\"`desktop_api_key_not_used_quickly_enough`\"\u003e`desktopApiKeyNotUsedQuicklyEnough`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\" pulumi-lang-hcl=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`countryMismatch`\" pulumi-lang-dotnet=\"`CountryMismatch`\" pulumi-lang-go=\"`countryMismatch`\" pulumi-lang-python=\"`country_mismatch`\" pulumi-lang-yaml=\"`countryMismatch`\" pulumi-lang-java=\"`countryMismatch`\" pulumi-lang-hcl=\"`country_mismatch`\"\u003e`countryMismatch`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`insecureFtp`\" pulumi-lang-dotnet=\"`InsecureFtp`\" pulumi-lang-go=\"`insecureFtp`\" pulumi-lang-python=\"`insecure_ftp`\" pulumi-lang-yaml=\"`insecureFtp`\" pulumi-lang-java=\"`insecureFtp`\" pulumi-lang-hcl=\"`insecure_ftp`\"\u003e`insecureFtp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`insecureCipher`\" pulumi-lang-dotnet=\"`InsecureCipher`\" pulumi-lang-go=\"`insecureCipher`\" pulumi-lang-python=\"`insecure_cipher`\" pulumi-lang-yaml=\"`insecureCipher`\" pulumi-lang-java=\"`insecureCipher`\" pulumi-lang-hcl=\"`insecure_cipher`\"\u003e`insecureCipher`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rateLimited`\" pulumi-lang-dotnet=\"`RateLimited`\" pulumi-lang-go=\"`rateLimited`\" pulumi-lang-python=\"`rate_limited`\" pulumi-lang-yaml=\"`rateLimited`\" pulumi-lang-java=\"`rateLimited`\" pulumi-lang-hcl=\"`rate_limited`\"\u003e`rateLimited`\u003c/span\u003e\n",
                        "type": "string"
                    },
                    "queryFileId": {
                        "description": "Return results that are file actions related to the file indicated by this File ID\n",
                        "type": "string"
                    },
                    "queryFolder": {
                        "description": "Return results that are file actions related to files or folders inside folder paths matching this pattern.\n",
                        "type": "string"
                    },
                    "queryInterface": {
                        "description": "Filter results by this this interface type. Valid values: \u003cspan pulumi-lang-nodejs=\"`web`\" pulumi-lang-dotnet=\"`Web`\" pulumi-lang-go=\"`web`\" pulumi-lang-python=\"`web`\" pulumi-lang-yaml=\"`web`\" pulumi-lang-java=\"`web`\" pulumi-lang-hcl=\"`web`\"\u003e`web`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ftp`\" pulumi-lang-dotnet=\"`Ftp`\" pulumi-lang-go=\"`ftp`\" pulumi-lang-python=\"`ftp`\" pulumi-lang-yaml=\"`ftp`\" pulumi-lang-java=\"`ftp`\" pulumi-lang-hcl=\"`ftp`\"\u003e`ftp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`robot`\" pulumi-lang-dotnet=\"`Robot`\" pulumi-lang-go=\"`robot`\" pulumi-lang-python=\"`robot`\" pulumi-lang-yaml=\"`robot`\" pulumi-lang-java=\"`robot`\" pulumi-lang-hcl=\"`robot`\"\u003e`robot`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jsapi`\" pulumi-lang-dotnet=\"`Jsapi`\" pulumi-lang-go=\"`jsapi`\" pulumi-lang-python=\"`jsapi`\" pulumi-lang-yaml=\"`jsapi`\" pulumi-lang-java=\"`jsapi`\" pulumi-lang-hcl=\"`jsapi`\"\u003e`jsapi`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`webdesktopapi`\" pulumi-lang-dotnet=\"`Webdesktopapi`\" pulumi-lang-go=\"`webdesktopapi`\" pulumi-lang-python=\"`webdesktopapi`\" pulumi-lang-yaml=\"`webdesktopapi`\" pulumi-lang-java=\"`webdesktopapi`\" pulumi-lang-hcl=\"`webdesktopapi`\"\u003e`webdesktopapi`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sftp`\" pulumi-lang-dotnet=\"`Sftp`\" pulumi-lang-go=\"`sftp`\" pulumi-lang-python=\"`sftp`\" pulumi-lang-yaml=\"`sftp`\" pulumi-lang-java=\"`sftp`\" pulumi-lang-hcl=\"`sftp`\"\u003e`sftp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dav`\" pulumi-lang-dotnet=\"`Dav`\" pulumi-lang-go=\"`dav`\" pulumi-lang-python=\"`dav`\" pulumi-lang-yaml=\"`dav`\" pulumi-lang-java=\"`dav`\" pulumi-lang-hcl=\"`dav`\"\u003e`dav`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`desktop`\" pulumi-lang-dotnet=\"`Desktop`\" pulumi-lang-go=\"`desktop`\" pulumi-lang-python=\"`desktop`\" pulumi-lang-yaml=\"`desktop`\" pulumi-lang-java=\"`desktop`\" pulumi-lang-hcl=\"`desktop`\"\u003e`desktop`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`restapi`\" pulumi-lang-dotnet=\"`Restapi`\" pulumi-lang-go=\"`restapi`\" pulumi-lang-python=\"`restapi`\" pulumi-lang-yaml=\"`restapi`\" pulumi-lang-java=\"`restapi`\" pulumi-lang-hcl=\"`restapi`\"\u003e`restapi`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`scim`\" pulumi-lang-dotnet=\"`Scim`\" pulumi-lang-go=\"`scim`\" pulumi-lang-python=\"`scim`\" pulumi-lang-yaml=\"`scim`\" pulumi-lang-java=\"`scim`\" pulumi-lang-hcl=\"`scim`\"\u003e`scim`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`office`\" pulumi-lang-dotnet=\"`Office`\" pulumi-lang-go=\"`office`\" pulumi-lang-python=\"`office`\" pulumi-lang-yaml=\"`office`\" pulumi-lang-java=\"`office`\" pulumi-lang-hcl=\"`office`\"\u003e`office`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mobile`\" pulumi-lang-dotnet=\"`Mobile`\" pulumi-lang-go=\"`mobile`\" pulumi-lang-python=\"`mobile`\" pulumi-lang-yaml=\"`mobile`\" pulumi-lang-java=\"`mobile`\" pulumi-lang-hcl=\"`mobile`\"\u003e`mobile`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`as2`\" pulumi-lang-dotnet=\"`As2`\" pulumi-lang-go=\"`as2`\" pulumi-lang-python=\"`as2`\" pulumi-lang-yaml=\"`as2`\" pulumi-lang-java=\"`as2`\" pulumi-lang-hcl=\"`as2`\"\u003e`as2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`inboundEmail`\" pulumi-lang-dotnet=\"`InboundEmail`\" pulumi-lang-go=\"`inboundEmail`\" pulumi-lang-python=\"`inbound_email`\" pulumi-lang-yaml=\"`inboundEmail`\" pulumi-lang-java=\"`inboundEmail`\" pulumi-lang-hcl=\"`inbound_email`\"\u003e`inboundEmail`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`remote`\" pulumi-lang-dotnet=\"`Remote`\" pulumi-lang-go=\"`remote`\" pulumi-lang-python=\"`remote`\" pulumi-lang-yaml=\"`remote`\" pulumi-lang-java=\"`remote`\" pulumi-lang-hcl=\"`remote`\"\u003e`remote`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`inboundS3`\" pulumi-lang-dotnet=\"`InboundS3`\" pulumi-lang-go=\"`inboundS3`\" pulumi-lang-python=\"`inbound_s3`\" pulumi-lang-yaml=\"`inboundS3`\" pulumi-lang-java=\"`inboundS3`\" pulumi-lang-hcl=\"`inbound_s3`\"\u003e`inboundS3`\u003c/span\u003e\n",
                        "type": "string"
                    },
                    "queryIp": {
                        "description": "Filter results by this IP address.\n",
                        "type": "string"
                    },
                    "queryParentId": {
                        "description": "Return results that are file actions inside the parent folder specified by this folder ID\n",
                        "type": "string"
                    },
                    "queryPath": {
                        "description": "Return results that are file actions related to paths matching this pattern.\n",
                        "type": "string"
                    },
                    "querySrc": {
                        "description": "Return results that are file moves originating from paths matching this pattern.\n",
                        "type": "string"
                    },
                    "queryTargetId": {
                        "description": "If searching for Histories about specific objects (such as Users, or API Keys), this parameter restricts results to objects that match this ID.\n",
                        "type": "string"
                    },
                    "queryTargetName": {
                        "description": "If searching for Histories about Users, Groups or other objects with names, this parameter restricts results to objects with this name/username.\n",
                        "type": "string"
                    },
                    "queryTargetPermission": {
                        "description": "If searching for Histories about Permissions, this parameter restricts results to permissions of this level.\n",
                        "type": "string"
                    },
                    "queryTargetPermissionSet": {
                        "description": "If searching for Histories about API keys, this parameter restricts results to API keys with this permission set.\n",
                        "type": "string"
                    },
                    "queryTargetPlatform": {
                        "description": "If searching for Histories about API keys, this parameter restricts results to API keys associated with this platform.\n",
                        "type": "string"
                    },
                    "queryTargetUserId": {
                        "description": "If searching for Histories about API keys, this parameter restricts results to API keys created by/for this user ID.\n",
                        "type": "string"
                    },
                    "queryTargetUsername": {
                        "description": "If searching for Histories about API keys, this parameter restricts results to API keys created by/for this username.\n",
                        "type": "string"
                    },
                    "queryUserId": {
                        "description": "Return results that are actions performed by the user indicated by this User ID\n",
                        "type": "string"
                    },
                    "queryUsername": {
                        "description": "Filter results by this username.\n",
                        "type": "string"
                    },
                    "resultsUrl": {
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`status`\" pulumi-lang-dotnet=\"`Status`\" pulumi-lang-go=\"`status`\" pulumi-lang-python=\"`status`\" pulumi-lang-yaml=\"`status`\" pulumi-lang-java=\"`status`\" pulumi-lang-hcl=\"`status`\"\u003e`status`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`ready`\" pulumi-lang-dotnet=\"`Ready`\" pulumi-lang-go=\"`ready`\" pulumi-lang-python=\"`ready`\" pulumi-lang-yaml=\"`ready`\" pulumi-lang-java=\"`ready`\" pulumi-lang-hcl=\"`ready`\"\u003e`ready`\u003c/span\u003e, this will be a URL where all the results can be downloaded at once as a CSV.\n",
                        "type": "string"
                    },
                    "startAt": {
                        "description": "Start date/time of export range.\n",
                        "type": "string"
                    },
                    "status": {
                        "description": "Status of export.  Will be: \u003cspan pulumi-lang-nodejs=\"`building`\" pulumi-lang-dotnet=\"`Building`\" pulumi-lang-go=\"`building`\" pulumi-lang-python=\"`building`\" pulumi-lang-yaml=\"`building`\" pulumi-lang-java=\"`building`\" pulumi-lang-hcl=\"`building`\"\u003e`building`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ready`\" pulumi-lang-dotnet=\"`Ready`\" pulumi-lang-go=\"`ready`\" pulumi-lang-python=\"`ready`\" pulumi-lang-yaml=\"`ready`\" pulumi-lang-java=\"`ready`\" pulumi-lang-hcl=\"`ready`\"\u003e`ready`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\" pulumi-lang-hcl=\"`failed`\"\u003e`failed`\u003c/span\u003e\n",
                        "type": "string"
                    }
                },
                "required": [
                    "endAt",
                    "historyVersion",
                    "id",
                    "queryAction",
                    "queryDestination",
                    "queryFailureType",
                    "queryFileId",
                    "queryFolder",
                    "queryInterface",
                    "queryIp",
                    "queryParentId",
                    "queryPath",
                    "querySrc",
                    "queryTargetId",
                    "queryTargetName",
                    "queryTargetPermission",
                    "queryTargetPermissionSet",
                    "queryTargetPlatform",
                    "queryTargetUserId",
                    "queryTargetUsername",
                    "queryUserId",
                    "queryUsername",
                    "resultsUrl",
                    "startAt",
                    "status"
                ],
                "type": "object"
            }
        },
        "filescom:index/getHolidayCalendar:getHolidayCalendar": {
            "description": "A Holiday Calendar defines site-wide holiday dates and optional partial-day windows that scheduled resources skip.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleHolidayCalendar = filescom.getHolidayCalendar({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_holiday_calendar = filescom.get_holiday_calendar(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleHolidayCalendar = Filescom.GetHolidayCalendar.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetHolidayCalendar(ctx, \u0026filescom.LookupHolidayCalendarArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getholidaycalendar\" \"exampleHolidayCalendar\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetHolidayCalendarArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleHolidayCalendar = FilescomFunctions.getHolidayCalendar(GetHolidayCalendarArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleHolidayCalendar:\n    fn::invoke:\n      function: filescom:getHolidayCalendar\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getHolidayCalendar.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Holiday Calendar ID. Set a scheduled resource's \u003cspan pulumi-lang-nodejs=\"`holidayRegion`\" pulumi-lang-dotnet=\"`HolidayRegion`\" pulumi-lang-go=\"`holidayRegion`\" pulumi-lang-python=\"`holiday_region`\" pulumi-lang-yaml=\"`holidayRegion`\" pulumi-lang-java=\"`holidayRegion`\" pulumi-lang-hcl=\"`holiday_region`\"\u003e`holidayRegion`\u003c/span\u003e to `custom_` followed by this ID to make it skip the days in this calendar.\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getHolidayCalendar.\n",
                "properties": {
                    "createdAt": {
                        "description": "Creation time.\n",
                        "type": "string"
                    },
                    "definition": {
                        "$ref": "#/types/filescom:index/getHolidayCalendarDefinition:getHolidayCalendarDefinition",
                        "description": "Holiday rules for the calendar.\n"
                    },
                    "id": {
                        "description": "Holiday Calendar ID. Set a scheduled resource's \u003cspan pulumi-lang-nodejs=\"`holidayRegion`\" pulumi-lang-dotnet=\"`HolidayRegion`\" pulumi-lang-go=\"`holidayRegion`\" pulumi-lang-python=\"`holiday_region`\" pulumi-lang-yaml=\"`holidayRegion`\" pulumi-lang-java=\"`holidayRegion`\" pulumi-lang-hcl=\"`holiday_region`\"\u003e`holidayRegion`\u003c/span\u003e to `custom_` followed by this ID to make it skip the days in this calendar.\n",
                        "type": "integer"
                    },
                    "name": {
                        "description": "Holiday Calendar name.\n",
                        "type": "string"
                    },
                    "updatedAt": {
                        "description": "Last update time.\n",
                        "type": "string"
                    }
                },
                "required": [
                    "createdAt",
                    "definition",
                    "id",
                    "name",
                    "updatedAt"
                ],
                "type": "object"
            }
        },
        "filescom:index/getIntegrationCentricProfile:getIntegrationCentricProfile": {
            "description": "An Integration Centric Profile defines the Remote Server integrations a user is expected to add and connect during integration-centric onboarding.\n\n\n\nUse this to automate setup guidance for users who need access to multiple business systems without sending long manual instructions. Common scenarios include ongoing access to systems such as SharePoint, bridging Google, Microsoft, and Box environments after M\u0026A activity, and migrations where users connect legacy EFSS accounts during transition work.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleIntegrationCentricProfile = filescom.getIntegrationCentricProfile({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_integration_centric_profile = filescom.get_integration_centric_profile(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleIntegrationCentricProfile = Filescom.GetIntegrationCentricProfile.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetIntegrationCentricProfile(ctx, \u0026filescom.LookupIntegrationCentricProfileArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getintegrationcentricprofile\" \"exampleIntegrationCentricProfile\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetIntegrationCentricProfileArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleIntegrationCentricProfile = FilescomFunctions.getIntegrationCentricProfile(GetIntegrationCentricProfileArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleIntegrationCentricProfile:\n    fn::invoke:\n      function: filescom:getIntegrationCentricProfile\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getIntegrationCentricProfile.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Integration Centric Profile ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getIntegrationCentricProfile.\n",
                "properties": {
                    "expectedRemoteServers": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Remote Server integrations the user is expected to add and connect. Each entry requires \u003cspan pulumi-lang-nodejs=\"`serverType`\" pulumi-lang-dotnet=\"`ServerType`\" pulumi-lang-go=\"`serverType`\" pulumi-lang-python=\"`server_type`\" pulumi-lang-yaml=\"`serverType`\" pulumi-lang-java=\"`serverType`\" pulumi-lang-hcl=\"`server_type`\"\u003e`serverType`\u003c/span\u003e and may include a display \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\" pulumi-lang-hcl=\"`name`\"\u003e`name`\u003c/span\u003e.\n"
                    },
                    "id": {
                        "description": "Integration Centric Profile ID\n",
                        "type": "integer"
                    },
                    "name": {
                        "description": "Profile name\n",
                        "type": "string"
                    },
                    "useForAllUsers": {
                        "description": "Whether this profile applies to all users in the Workspace by default\n",
                        "type": "boolean"
                    },
                    "workspaceId": {
                        "description": "Workspace ID\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "expectedRemoteServers",
                    "id",
                    "name",
                    "useForAllUsers",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getInvoice:getInvoice": {
            "description": "An AccountLineItem is a single line item in the accounting ledger for a billing account. These include payments and invoices.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleInvoice = filescom.getInvoice({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_invoice = filescom.get_invoice(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleInvoice = Filescom.GetInvoice.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetInvoice(ctx, \u0026filescom.GetInvoiceArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getinvoice\" \"exampleInvoice\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetInvoiceArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleInvoice = FilescomFunctions.getInvoice(GetInvoiceArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleInvoice:\n    fn::invoke:\n      function: filescom:getInvoice\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getInvoice.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Line item Id\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getInvoice.\n",
                "properties": {
                    "amount": {
                        "description": "Line item amount\n",
                        "type": "string"
                    },
                    "balance": {
                        "description": "Line item balance\n",
                        "type": "string"
                    },
                    "createdAt": {
                        "description": "Line item created at\n",
                        "type": "string"
                    },
                    "currency": {
                        "description": "Line item currency\n",
                        "type": "string"
                    },
                    "downloadUri": {
                        "description": "Line item download uri\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Line item Id\n",
                        "type": "integer"
                    },
                    "invoiceLineItems": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Associated invoice line items\n"
                    },
                    "method": {
                        "description": "Line item payment method\n",
                        "type": "string"
                    },
                    "paymentLineItems": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Associated payment line items\n"
                    },
                    "paymentReversedAt": {
                        "description": "Date/time payment was reversed if applicable\n",
                        "type": "string"
                    },
                    "paymentType": {
                        "description": "Type of payment if applicable\n",
                        "type": "string"
                    },
                    "siteName": {
                        "description": "Site name this line item is for\n",
                        "type": "string"
                    },
                    "type": {
                        "description": "Type of line item, either payment or invoice\n",
                        "type": "string"
                    }
                },
                "required": [
                    "amount",
                    "balance",
                    "createdAt",
                    "currency",
                    "downloadUri",
                    "id",
                    "invoiceLineItems",
                    "method",
                    "paymentLineItems",
                    "paymentReversedAt",
                    "paymentType",
                    "siteName",
                    "type"
                ],
                "type": "object"
            }
        },
        "filescom:index/getKeyLifecycleRule:getKeyLifecycleRule": {
            "description": "A KeyLifecycleRule represents a rule that applies to API keys, GPG keys, and SSH keys (also called User Public Keys) based on their inactivity or age.\n\n\n\nKeys that have been unused for the specified number of days will be deleted. SSH keys can also be configured to expire after a specified number of days. SSH key expiration applies only to User Public Keys used for inbound SFTP/SSH login, not Remote Server outbound SSH keys.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleKeyLifecycleRule = filescom.getKeyLifecycleRule({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_key_lifecycle_rule = filescom.get_key_lifecycle_rule(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleKeyLifecycleRule = Filescom.GetKeyLifecycleRule.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetKeyLifecycleRule(ctx, \u0026filescom.LookupKeyLifecycleRuleArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getkeylifecyclerule\" \"exampleKeyLifecycleRule\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetKeyLifecycleRuleArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleKeyLifecycleRule = FilescomFunctions.getKeyLifecycleRule(GetKeyLifecycleRuleArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleKeyLifecycleRule:\n    fn::invoke:\n      function: filescom:getKeyLifecycleRule\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getKeyLifecycleRule.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Key Lifecycle Rule ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getKeyLifecycleRule.\n",
                "properties": {
                    "applyToAllWorkspaces": {
                        "description": "If true, a default-workspace rule also applies to keys in all workspaces.\n",
                        "type": "boolean"
                    },
                    "expirationDays": {
                        "description": "Number of days after creation before an SSH key expires. Applies only to SSH keys.\n",
                        "type": "integer"
                    },
                    "id": {
                        "description": "Key Lifecycle Rule ID\n",
                        "type": "integer"
                    },
                    "inactivityDays": {
                        "description": "Number of days of inactivity before the rule applies.\n",
                        "type": "integer"
                    },
                    "keyType": {
                        "description": "Key type for which the rule will apply (gpg, ssh, or api).\n",
                        "type": "string"
                    },
                    "name": {
                        "description": "Key Lifecycle Rule name\n",
                        "type": "string"
                    },
                    "workspaceId": {
                        "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "applyToAllWorkspaces",
                    "expirationDays",
                    "id",
                    "inactivityDays",
                    "keyType",
                    "name",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getLock:getLock": {
            "description": "A Lock can be used by your custom-developed applications to implement file locking and concurrency features. These locks are advisory, meaning that while a lock can be created, it does not prevent other API requests from being processed concurrently. You are responsible for checking locks prior to accessing a file.\n\n\n\nThe lock feature is designed to emulate the locking functionality provided by WebDAV. For a deeper understanding of how the lock mechanism works, refer to the WebDAV specification, which outlines how these endpoints function.\n\n\n\nFiles.com's WebDAV offering and desktop app leverage this locking API to manage concurrent file operations, ensuring consistency when multiple users or systems interact with the same files. It is not used within the Files.com web interface.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleLock = filescom.getLock({\n    path: \"locked_file\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_lock = filescom.get_lock(path=\"locked_file\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleLock = Filescom.GetLock.Invoke(new()\n    {\n        Path = \"locked_file\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetLock(ctx, \u0026filescom.LookupLockArgs{\n\t\t\tPath: \"locked_file\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getlock\" \"exampleLock\" {\n  path = \"locked_file\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetLockArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleLock = FilescomFunctions.getLock(GetLockArgs.builder()\n            .path(\"locked_file\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleLock:\n    fn::invoke:\n      function: filescom:getLock\n      arguments:\n        path: locked_file\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getLock.\n",
                "properties": {
                    "path": {
                        "type": "string",
                        "description": "Path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                    }
                },
                "type": "object",
                "required": [
                    "path"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getLock.\n",
                "properties": {
                    "allowAccessByAnyUser": {
                        "description": "Can lock be modified by users other than its creator?\n",
                        "type": "boolean"
                    },
                    "depth": {
                        "type": "string"
                    },
                    "exclusive": {
                        "description": "Is lock exclusive?\n",
                        "type": "boolean"
                    },
                    "owner": {
                        "description": "Owner of the lock.  This can be any arbitrary string.\n",
                        "type": "string"
                    },
                    "path": {
                        "description": "Path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n",
                        "type": "string"
                    },
                    "recursive": {
                        "description": "Does lock apply to subfolders?\n",
                        "type": "boolean"
                    },
                    "scope": {
                        "type": "string"
                    },
                    "timeout": {
                        "description": "Lock timeout in seconds\n",
                        "type": "integer"
                    },
                    "token": {
                        "description": "Lock token.  Use to release lock.\n",
                        "type": "string"
                    },
                    "type": {
                        "type": "string"
                    },
                    "userId": {
                        "description": "Lock creator user ID\n",
                        "type": "integer"
                    },
                    "username": {
                        "description": "Lock creator username\n",
                        "type": "string"
                    }
                },
                "required": [
                    "allowAccessByAnyUser",
                    "depth",
                    "exclusive",
                    "owner",
                    "path",
                    "recursive",
                    "scope",
                    "timeout",
                    "token",
                    "type",
                    "userId",
                    "username"
                ],
                "type": "object"
            }
        },
        "filescom:index/getMessage:getMessage": {
            "description": "A Message is a part of Files.com's project management features and represents a message posted by a user to a project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleMessage = filescom.getMessage({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_message = filescom.get_message(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleMessage = Filescom.GetMessage.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetMessage(ctx, \u0026filescom.LookupMessageArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getmessage\" \"exampleMessage\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetMessageArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleMessage = FilescomFunctions.getMessage(GetMessageArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleMessage:\n    fn::invoke:\n      function: filescom:getMessage\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getMessage.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Message ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getMessage.\n",
                "properties": {
                    "body": {
                        "description": "Message body.\n",
                        "type": "string"
                    },
                    "comments": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Comments.\n"
                    },
                    "id": {
                        "description": "Message ID\n",
                        "type": "integer"
                    },
                    "subject": {
                        "description": "Message subject.\n",
                        "type": "string"
                    }
                },
                "required": [
                    "body",
                    "comments",
                    "id",
                    "subject"
                ],
                "type": "object"
            }
        },
        "filescom:index/getMessageComment:getMessageComment": {
            "description": "A MessageComment is a comment made by a user on a message.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleMessageComment = filescom.getMessageComment({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_message_comment = filescom.get_message_comment(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleMessageComment = Filescom.GetMessageComment.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetMessageComment(ctx, \u0026filescom.LookupMessageCommentArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getmessagecomment\" \"exampleMessageComment\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetMessageCommentArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleMessageComment = FilescomFunctions.getMessageComment(GetMessageCommentArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleMessageComment:\n    fn::invoke:\n      function: filescom:getMessageComment\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getMessageComment.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Message Comment ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getMessageComment.\n",
                "properties": {
                    "body": {
                        "description": "Comment body.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Message Comment ID\n",
                        "type": "integer"
                    },
                    "reactions": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Reactions to this comment.\n"
                    }
                },
                "required": [
                    "body",
                    "id",
                    "reactions"
                ],
                "type": "object"
            }
        },
        "filescom:index/getMessageCommentReaction:getMessageCommentReaction": {
            "description": "A MessageCommentReaction is a reaction emoji made by a user on a message comment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleMessageCommentReaction = filescom.getMessageCommentReaction({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_message_comment_reaction = filescom.get_message_comment_reaction(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleMessageCommentReaction = Filescom.GetMessageCommentReaction.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetMessageCommentReaction(ctx, \u0026filescom.LookupMessageCommentReactionArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getmessagecommentreaction\" \"exampleMessageCommentReaction\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetMessageCommentReactionArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleMessageCommentReaction = FilescomFunctions.getMessageCommentReaction(GetMessageCommentReactionArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleMessageCommentReaction:\n    fn::invoke:\n      function: filescom:getMessageCommentReaction\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getMessageCommentReaction.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Reaction ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getMessageCommentReaction.\n",
                "properties": {
                    "emoji": {
                        "description": "Emoji used in the reaction.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Reaction ID\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "emoji",
                    "id"
                ],
                "type": "object"
            }
        },
        "filescom:index/getMessageReaction:getMessageReaction": {
            "description": "A MessageReaction is a reaction emoji made by a user on a message.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleMessageReaction = filescom.getMessageReaction({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_message_reaction = filescom.get_message_reaction(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleMessageReaction = Filescom.GetMessageReaction.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetMessageReaction(ctx, \u0026filescom.LookupMessageReactionArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getmessagereaction\" \"exampleMessageReaction\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetMessageReactionArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleMessageReaction = FilescomFunctions.getMessageReaction(GetMessageReactionArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleMessageReaction:\n    fn::invoke:\n      function: filescom:getMessageReaction\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getMessageReaction.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Reaction ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getMessageReaction.\n",
                "properties": {
                    "emoji": {
                        "description": "Emoji used in the reaction.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Reaction ID\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "emoji",
                    "id"
                ],
                "type": "object"
            }
        },
        "filescom:index/getMetadataCategory:getMetadataCategory": {
            "description": "A MetadataCategory defines a reusable set of Custom Metadata rules that can be assigned to folders\n\nvia a folder behavior. Each category specifies named metadata keys with optional allowed-value\n\nconstraints, and a set of default columns to display in the UI.\n\n\n\nIf a key's \u003cspan pulumi-lang-nodejs=\"`allowedValues`\" pulumi-lang-dotnet=\"`AllowedValues`\" pulumi-lang-go=\"`allowedValues`\" pulumi-lang-python=\"`allowed_values`\" pulumi-lang-yaml=\"`allowedValues`\" pulumi-lang-java=\"`allowedValues`\" pulumi-lang-hcl=\"`allowed_values`\"\u003e`allowedValues`\u003c/span\u003e array is empty, it is treated as a free-form text field.\n\nIf the array is non-empty, the key is constrained to those values in the Web UI.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleMetadataCategory = filescom.getMetadataCategory({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_metadata_category = filescom.get_metadata_category(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleMetadataCategory = Filescom.GetMetadataCategory.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetMetadataCategory(ctx, \u0026filescom.LookupMetadataCategoryArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getmetadatacategory\" \"exampleMetadataCategory\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetMetadataCategoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleMetadataCategory = FilescomFunctions.getMetadataCategory(GetMetadataCategoryArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleMetadataCategory:\n    fn::invoke:\n      function: filescom:getMetadataCategory\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getMetadataCategory.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Metadata Category ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getMetadataCategory.\n",
                "properties": {
                    "defaultColumns": {
                        "description": "Metadata keys that should appear as columns in the UI by default.\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "definitions": {
                        "additionalProperties": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "description": "Map of key names to arrays of allowed values. An empty array means free-form text.\n",
                        "type": "object"
                    },
                    "id": {
                        "description": "Metadata Category ID\n",
                        "type": "integer"
                    },
                    "name": {
                        "description": "Name of the metadata category.\n",
                        "type": "string"
                    }
                },
                "required": [
                    "defaultColumns",
                    "definitions",
                    "id",
                    "name"
                ],
                "type": "object"
            }
        },
        "filescom:index/getNotification:getNotification": {
            "description": "A Notification is our feature that sends E-Mails when specific actions occur in the folder.\n\n\n\nEmails are sent in batches, with email frequency options of every 5 minutes, every 15 minutes, hourly, or daily. They will include a list of the matching actions within the configured notification period, limited to the first 100.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleNotification = filescom.getNotification({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_notification = filescom.get_notification(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleNotification = Filescom.GetNotification.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetNotification(ctx, \u0026filescom.LookupNotificationArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getnotification\" \"exampleNotification\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetNotificationArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleNotification = FilescomFunctions.getNotification(GetNotificationArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleNotification:\n    fn::invoke:\n      function: filescom:getNotification\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getNotification.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Notification ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getNotification.\n",
                "properties": {
                    "groupId": {
                        "description": "ID of Group to receive notifications\n",
                        "type": "integer"
                    },
                    "groupIds": {
                        "description": "Group IDs when the notification requires multiple groups\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "groupName": {
                        "description": "Group name, if a Group ID is set\n",
                        "type": "string"
                    },
                    "groupNames": {
                        "description": "Group names when the notification requires multiple groups\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "id": {
                        "description": "Notification ID\n",
                        "type": "integer"
                    },
                    "message": {
                        "description": "Custom message to include in notification emails\n",
                        "type": "string"
                    },
                    "notifyOnCopy": {
                        "description": "Trigger on files copied to this path?\n",
                        "type": "boolean"
                    },
                    "notifyOnDelete": {
                        "description": "Trigger on files deleted in this path?\n",
                        "type": "boolean"
                    },
                    "notifyOnDownload": {
                        "description": "Trigger on files downloaded in this path?\n",
                        "type": "boolean"
                    },
                    "notifyOnMove": {
                        "description": "Trigger on files moved to this path?\n",
                        "type": "boolean"
                    },
                    "notifyOnUpload": {
                        "description": "Trigger on files created/uploaded/updated/changed in this path?\n",
                        "type": "boolean"
                    },
                    "notifyUserActions": {
                        "description": "If true, will send notifications about a user's own activity to that user.  If false, only activity performed by other users (or anonymous users) will be sent in notifications.\n",
                        "type": "boolean"
                    },
                    "path": {
                        "description": "Folder path to notify on. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n",
                        "type": "string"
                    },
                    "recursive": {
                        "description": "Apply notification recursively?  This will enable notifications for each subfolder.\n",
                        "type": "boolean"
                    },
                    "sendInterval": {
                        "description": "The time interval that notifications are aggregated to\n",
                        "type": "string"
                    },
                    "subject": {
                        "description": "Custom subject line to use for notification emails\n",
                        "type": "string"
                    },
                    "suppressedEmail": {
                        "description": "If true, it means that the recipient at this user's email address has manually unsubscribed from all emails, or had their email \"hard bounce\", which means that we are unable to send mail to this user's current email address. Notifications will resume if the user changes their email address.\n",
                        "type": "boolean"
                    },
                    "triggerByShareRecipients": {
                        "description": "Notify when actions are performed by a share recipient?\n",
                        "type": "boolean"
                    },
                    "triggeringFilenames": {
                        "description": "Array of filenames (possibly with wildcards) to scope trigger\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "triggeringGroupIds": {
                        "description": "If set, will only notify on actions made by a member of one of the specified groups\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "triggeringUserIds": {
                        "description": "If set, will only notify on actions made one of the specified users\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "unsubscribed": {
                        "description": "Is the user unsubscribed from this notification?\n",
                        "type": "boolean"
                    },
                    "unsubscribedReason": {
                        "description": "The reason that the user unsubscribed\n",
                        "type": "string"
                    },
                    "userId": {
                        "description": "Notification user ID\n",
                        "type": "integer"
                    },
                    "username": {
                        "description": "Notification username\n",
                        "type": "string"
                    },
                    "workspaceId": {
                        "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "groupId",
                    "groupIds",
                    "groupName",
                    "groupNames",
                    "id",
                    "message",
                    "notifyOnCopy",
                    "notifyOnDelete",
                    "notifyOnDownload",
                    "notifyOnMove",
                    "notifyOnUpload",
                    "notifyUserActions",
                    "path",
                    "recursive",
                    "sendInterval",
                    "subject",
                    "suppressedEmail",
                    "triggerByShareRecipients",
                    "triggeringFilenames",
                    "triggeringGroupIds",
                    "triggeringUserIds",
                    "unsubscribed",
                    "unsubscribedReason",
                    "userId",
                    "username",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getPartner:getPartner": {
            "description": "A Partner is a first-class entity that cleanly represents an external organization, enables delegated administration, and enforces strict boundaries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst examplePartner = filescom.getPartner({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_partner = filescom.get_partner(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var examplePartner = Filescom.GetPartner.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetPartner(ctx, \u0026filescom.LookupPartnerArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getpartner\" \"examplePartner\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetPartnerArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var examplePartner = FilescomFunctions.getPartner(GetPartnerArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  examplePartner:\n    fn::invoke:\n      function: filescom:getPartner\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getPartner.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The unique ID of the Partner.\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getPartner.\n",
                "properties": {
                    "aiAssistantPersonalityId": {
                        "description": "AI Assistant Personality ID assigned to this Partner, if any. Users in the Partner inherit it unless a direct per-user assignment overrides it.\n",
                        "type": "integer"
                    },
                    "allowBypassing2faPolicies": {
                        "description": "Allow Partner Admins to change Two-Factor Authentication requirements for Partner Users.\n",
                        "type": "boolean"
                    },
                    "allowCredentialChanges": {
                        "description": "Allow Partner Admins to change or reset credentials for users belonging to this Partner.\n",
                        "type": "boolean"
                    },
                    "allowProvidingGpgKeys": {
                        "description": "Allow Partner Admins to provide GPG keys.\n",
                        "type": "boolean"
                    },
                    "allowUserCreation": {
                        "description": "Allow Partner Admins to create users.\n",
                        "type": "boolean"
                    },
                    "allowedIps": {
                        "description": "A list of allowed IPs for this Partner. Newline delimited. Partner User IP access is allowed when the IP matches the Partner, User, or Site allowed IP lists.\n",
                        "type": "string"
                    },
                    "ccEmailsToResponsibleParty": {
                        "description": "When \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, emails sent to Partner users are copied to the responsible User or Group.\n",
                        "type": "boolean"
                    },
                    "id": {
                        "description": "The unique ID of the Partner.\n",
                        "type": "integer"
                    },
                    "name": {
                        "description": "The name of the Partner.\n",
                        "type": "string"
                    },
                    "notes": {
                        "description": "Notes about this Partner.\n",
                        "type": "string"
                    },
                    "partnerAdminIds": {
                        "description": "Array of User IDs that are Partner Admins for this Partner.\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "partnerChannelTemplateId": {
                        "description": "ID of the Partner Channel Template assigned to this Partner.\n",
                        "type": "integer"
                    },
                    "partnershipRole": {
                        "description": "This site's role in Partner Site relationships for this Partner. Can be \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\" pulumi-lang-hcl=\"`host`\"\u003e`host`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`guest`\" pulumi-lang-dotnet=\"`Guest`\" pulumi-lang-go=\"`guest`\" pulumi-lang-python=\"`guest`\" pulumi-lang-yaml=\"`guest`\" pulumi-lang-java=\"`guest`\" pulumi-lang-hcl=\"`guest`\"\u003e`guest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hostAndGuest`\" pulumi-lang-dotnet=\"`HostAndGuest`\" pulumi-lang-go=\"`hostAndGuest`\" pulumi-lang-python=\"`host_and_guest`\" pulumi-lang-yaml=\"`hostAndGuest`\" pulumi-lang-java=\"`hostAndGuest`\" pulumi-lang-hcl=\"`host_and_guest`\"\u003e`hostAndGuest`\u003c/span\u003e, or null.\n",
                        "type": "string"
                    },
                    "responsibleGroupId": {
                        "description": "ID of the Group responsible for this Partner.\n",
                        "type": "integer"
                    },
                    "responsibleUserId": {
                        "description": "ID of the User responsible for this Partner.\n",
                        "type": "integer"
                    },
                    "rootFolder": {
                        "description": "The root folder path for this Partner.\n",
                        "type": "string"
                    },
                    "showPartnerChannelHomePage": {
                        "description": "Show Partner users a simplified home page built from this Partner's Channels.\n",
                        "type": "boolean"
                    },
                    "tags": {
                        "description": "Comma-separated list of Tags for this Partner. Tags are used for other features, such as UserLifecycleRules, which can target specific tags.  Tags must only contain lowercase letters, numbers, and hyphens.\n",
                        "type": "string"
                    },
                    "userIds": {
                        "description": "Array of User IDs that belong to this Partner.\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "workspaceId": {
                        "description": "ID of the Workspace associated with this Partner.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "aiAssistantPersonalityId",
                    "allowBypassing2faPolicies",
                    "allowCredentialChanges",
                    "allowProvidingGpgKeys",
                    "allowUserCreation",
                    "allowedIps",
                    "ccEmailsToResponsibleParty",
                    "id",
                    "name",
                    "notes",
                    "partnerAdminIds",
                    "partnerChannelTemplateId",
                    "partnershipRole",
                    "responsibleGroupId",
                    "responsibleUserId",
                    "rootFolder",
                    "showPartnerChannelHomePage",
                    "tags",
                    "userIds",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getPartnerChannel:getPartnerChannel": {
            "description": "A PartnerChannel defines a structured communication path within a Partner root folder, including directional folder names and partner-scoped routing configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst examplePartnerChannel = filescom.getPartnerChannel({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_partner_channel = filescom.get_partner_channel(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var examplePartnerChannel = Filescom.GetPartnerChannel.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetPartnerChannel(ctx, \u0026filescom.LookupPartnerChannelArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getpartnerchannel\" \"examplePartnerChannel\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetPartnerChannelArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var examplePartnerChannel = FilescomFunctions.getPartnerChannel(GetPartnerChannelArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  examplePartnerChannel:\n    fn::invoke:\n      function: filescom:getPartnerChannel\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getPartnerChannel.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The unique ID of the Partner Channel.\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getPartnerChannel.\n",
                "properties": {
                    "channelPath": {
                        "description": "Resolved Channel folder path.\n",
                        "type": "string"
                    },
                    "effectiveFromPartnerFolderName": {
                        "description": "Resolved from-Partner folder name after Channel override and default.\n",
                        "type": "string"
                    },
                    "effectiveToPartnerFolderName": {
                        "description": "Resolved to-Partner folder name after Channel override and default.\n",
                        "type": "string"
                    },
                    "fromPartnerFolderName": {
                        "description": "Optional Channel-level from-Partner folder name override.\n",
                        "type": "string"
                    },
                    "fromPartnerFolderPath": {
                        "description": "Resolved from-Partner folder path.\n",
                        "type": "string"
                    },
                    "fromPartnerManagedFolderPaths": {
                        "description": "Managed folder paths inside the from-Partner folder.\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "fromPartnerRoutePath": {
                        "description": "Optional route path for files uploaded by the Partner.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "The unique ID of the Partner Channel.\n",
                        "type": "integer"
                    },
                    "partnerChannelTemplateId": {
                        "description": "ID of the Partner Channel Template that manages this Channel, if any.\n",
                        "type": "integer"
                    },
                    "partnerId": {
                        "description": "ID of the Partner this Channel belongs to.\n",
                        "type": "integer"
                    },
                    "path": {
                        "description": "Channel path relative to the Partner root folder. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n",
                        "type": "string"
                    },
                    "toPartnerFolderName": {
                        "description": "Optional Channel-level to-Partner folder name override.\n",
                        "type": "string"
                    },
                    "toPartnerFolderPath": {
                        "description": "Resolved to-Partner folder path.\n",
                        "type": "string"
                    },
                    "toPartnerManagedFolderPaths": {
                        "description": "Managed folder paths inside the to-Partner folder.\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "toPartnerRoutePath": {
                        "description": "Optional route path for files delivered to the Partner.\n",
                        "type": "string"
                    },
                    "workspaceId": {
                        "description": "ID of the Workspace associated with this Partner Channel.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "channelPath",
                    "effectiveFromPartnerFolderName",
                    "effectiveToPartnerFolderName",
                    "fromPartnerFolderName",
                    "fromPartnerFolderPath",
                    "fromPartnerManagedFolderPaths",
                    "fromPartnerRoutePath",
                    "id",
                    "partnerChannelTemplateId",
                    "partnerId",
                    "path",
                    "toPartnerFolderName",
                    "toPartnerFolderPath",
                    "toPartnerManagedFolderPaths",
                    "toPartnerRoutePath",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getPartnerChannelTemplate:getPartnerChannelTemplate": {
            "description": "A PartnerChannelTemplate defines reusable Partner Channel configuration that can be applied to Partners.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst examplePartnerChannelTemplate = filescom.getPartnerChannelTemplate({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_partner_channel_template = filescom.get_partner_channel_template(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var examplePartnerChannelTemplate = Filescom.GetPartnerChannelTemplate.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetPartnerChannelTemplate(ctx, \u0026filescom.LookupPartnerChannelTemplateArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getpartnerchanneltemplate\" \"examplePartnerChannelTemplate\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetPartnerChannelTemplateArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var examplePartnerChannelTemplate = FilescomFunctions.getPartnerChannelTemplate(GetPartnerChannelTemplateArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  examplePartnerChannelTemplate:\n    fn::invoke:\n      function: filescom:getPartnerChannelTemplate\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getPartnerChannelTemplate.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The unique ID of the Partner Channel Template.\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getPartnerChannelTemplate.\n",
                "properties": {
                    "effectiveFromPartnerFolderName": {
                        "description": "Resolved from-Partner folder name after Template override and default.\n",
                        "type": "string"
                    },
                    "effectiveToPartnerFolderName": {
                        "description": "Resolved to-Partner folder name after Template override and default.\n",
                        "type": "string"
                    },
                    "fromPartnerFolderName": {
                        "description": "Optional Channel-level from-Partner folder name override.\n",
                        "type": "string"
                    },
                    "fromPartnerManagedFolderPaths": {
                        "description": "Managed folder paths inside the from-Partner folder.\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "fromPartnerRoutePathPattern": {
                        "description": "Optional route path pattern for files uploaded by the Partner. Supports {{partner_name}}.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "The unique ID of the Partner Channel Template.\n",
                        "type": "integer"
                    },
                    "name": {
                        "description": "The name of the Partner Channel Template.\n",
                        "type": "string"
                    },
                    "path": {
                        "description": "Channel path relative to the Partner root folder. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n",
                        "type": "string"
                    },
                    "toPartnerFolderName": {
                        "description": "Optional Channel-level to-Partner folder name override.\n",
                        "type": "string"
                    },
                    "toPartnerManagedFolderPaths": {
                        "description": "Managed folder paths inside the to-Partner folder.\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "toPartnerRoutePathPattern": {
                        "description": "Optional route path pattern for files delivered to the Partner. Supports {{partner_name}}.\n",
                        "type": "string"
                    },
                    "workspaceId": {
                        "description": "ID of the Workspace associated with this Partner Channel Template.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "effectiveFromPartnerFolderName",
                    "effectiveToPartnerFolderName",
                    "fromPartnerFolderName",
                    "fromPartnerManagedFolderPaths",
                    "fromPartnerRoutePathPattern",
                    "id",
                    "name",
                    "path",
                    "toPartnerFolderName",
                    "toPartnerManagedFolderPaths",
                    "toPartnerRoutePathPattern",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getPartnerSiteRequest:getPartnerSiteRequest": {
            "description": "A PartnerSiteRequest represents a request for a Guest Partner to add their Files.com Site to their Partnership with the Host Partner. The Guest Partner's Files.com Site is referred to as the Guest Site in this relationship.\n\n\n\nThe Partner Admin user representing the Guest on the Host Partner can initiate a request, which generates a pairing key. The Guest Site admin must then approve the request. This ensures that the Partner Admin user representing the Guest on the Host Partner and the Site Admins of the Site are in agreement that the linking should occur.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst examplePartnerSiteRequest = filescom.getPartnerSiteRequest({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_partner_site_request = filescom.get_partner_site_request(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var examplePartnerSiteRequest = Filescom.GetPartnerSiteRequest.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetPartnerSiteRequest(ctx, \u0026filescom.LookupPartnerSiteRequestArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getpartnersiterequest\" \"examplePartnerSiteRequest\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetPartnerSiteRequestArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var examplePartnerSiteRequest = FilescomFunctions.getPartnerSiteRequest(GetPartnerSiteRequestArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  examplePartnerSiteRequest:\n    fn::invoke:\n      function: filescom:getPartnerSiteRequest\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getPartnerSiteRequest.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Partner Site Request ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getPartnerSiteRequest.\n",
                "properties": {
                    "createdAt": {
                        "description": "Request creation date/time\n",
                        "type": "string"
                    },
                    "guestSiteUrl": {
                        "description": "Guest Site URL\n",
                        "type": "string"
                    },
                    "hostPartnerId": {
                        "description": "Host Partner ID\n",
                        "type": "integer"
                    },
                    "hostSiteName": {
                        "description": "Host Site Name\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Partner Site Request ID\n",
                        "type": "integer"
                    },
                    "pairingKey": {
                        "description": "Pairing key used to approve this request on the Guest Site\n",
                        "type": "string"
                    },
                    "status": {
                        "description": "Request status (pending, approved, rejected)\n",
                        "type": "string"
                    },
                    "updatedAt": {
                        "description": "Request last updated date/time\n",
                        "type": "string"
                    }
                },
                "required": [
                    "createdAt",
                    "guestSiteUrl",
                    "hostPartnerId",
                    "hostSiteName",
                    "id",
                    "pairingKey",
                    "status",
                    "updatedAt"
                ],
                "type": "object"
            }
        },
        "filescom:index/getPayment:getPayment": {
            "description": "An AccountLineItem is a single line item in the accounting ledger for a billing account. These include payments and invoices.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst examplePayment = filescom.getPayment({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_payment = filescom.get_payment(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var examplePayment = Filescom.GetPayment.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetPayment(ctx, \u0026filescom.GetPaymentArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getpayment\" \"examplePayment\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetPaymentArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var examplePayment = FilescomFunctions.getPayment(GetPaymentArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  examplePayment:\n    fn::invoke:\n      function: filescom:getPayment\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getPayment.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Line item Id\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getPayment.\n",
                "properties": {
                    "amount": {
                        "description": "Line item amount\n",
                        "type": "string"
                    },
                    "balance": {
                        "description": "Line item balance\n",
                        "type": "string"
                    },
                    "createdAt": {
                        "description": "Line item created at\n",
                        "type": "string"
                    },
                    "currency": {
                        "description": "Line item currency\n",
                        "type": "string"
                    },
                    "downloadUri": {
                        "description": "Line item download uri\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Line item Id\n",
                        "type": "integer"
                    },
                    "invoiceLineItems": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Associated invoice line items\n"
                    },
                    "method": {
                        "description": "Line item payment method\n",
                        "type": "string"
                    },
                    "paymentLineItems": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Associated payment line items\n"
                    },
                    "paymentReversedAt": {
                        "description": "Date/time payment was reversed if applicable\n",
                        "type": "string"
                    },
                    "paymentType": {
                        "description": "Type of payment if applicable\n",
                        "type": "string"
                    },
                    "siteName": {
                        "description": "Site name this line item is for\n",
                        "type": "string"
                    },
                    "type": {
                        "description": "Type of line item, either payment or invoice\n",
                        "type": "string"
                    }
                },
                "required": [
                    "amount",
                    "balance",
                    "createdAt",
                    "currency",
                    "downloadUri",
                    "id",
                    "invoiceLineItems",
                    "method",
                    "paymentLineItems",
                    "paymentReversedAt",
                    "paymentType",
                    "siteName",
                    "type"
                ],
                "type": "object"
            }
        },
        "filescom:index/getPendingWorkEvent:getPendingWorkEvent": {
            "description": "A PendingWorkEvent is a log record for pending file work failures, such as GPG Encryption and GPG Decryption.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst examplePendingWorkEvent = filescom.getPendingWorkEvent({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_pending_work_event = filescom.get_pending_work_event(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var examplePendingWorkEvent = Filescom.GetPendingWorkEvent.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetPendingWorkEvent(ctx, \u0026filescom.GetPendingWorkEventArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getpendingworkevent\" \"examplePendingWorkEvent\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetPendingWorkEventArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var examplePendingWorkEvent = FilescomFunctions.getPendingWorkEvent(GetPendingWorkEventArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  examplePendingWorkEvent:\n    fn::invoke:\n      function: filescom:getPendingWorkEvent\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getPendingWorkEvent.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Event ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getPendingWorkEvent.\n",
                "properties": {
                    "body": {
                        "description": "Event body.\n",
                        "type": "string"
                    },
                    "bodyUrl": {
                        "description": "Link to log file.\n",
                        "type": "string"
                    },
                    "createdAt": {
                        "description": "Event create date/time.\n",
                        "type": "string"
                    },
                    "eventErrors": {
                        "description": "Event errors.\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "eventType": {
                        "description": "Type of pending work event being recorded.\n",
                        "type": "string"
                    },
                    "folderBehaviorId": {
                        "description": "Folder Behavior ID.\n",
                        "type": "integer"
                    },
                    "id": {
                        "description": "Event ID\n",
                        "type": "integer"
                    },
                    "status": {
                        "description": "Status of event.\n",
                        "type": "string"
                    }
                },
                "required": [
                    "body",
                    "bodyUrl",
                    "createdAt",
                    "eventErrors",
                    "eventType",
                    "folderBehaviorId",
                    "id",
                    "status"
                ],
                "type": "object"
            }
        },
        "filescom:index/getPermission:getPermission": {
            "description": "A Permission object represents a grant of access permission on a specific Path to a User or Group.\n\n\n\nThey can be optionally recursive or nonrecursive into the subfolders of that path.\n\n\n\nA Permission may be applied to a User *or* a Group, but not both at once.\n\n\n\nThe following table sets forth the available Permission types:\n\n\n\n| Permission | Access Level Granted | Automatically Also Includes/Implies Permissions |\n\n| --- | ----------- | --------------------- |\n\n| \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\" pulumi-lang-hcl=\"`admin`\"\u003e`admin`\u003c/span\u003e | Able to manage Folder Behaviors, Permissions, and Notifications for the folder. Also grants all other permissions. | \u003cspan pulumi-lang-nodejs=\"`bundle`\" pulumi-lang-dotnet=\"`Bundle`\" pulumi-lang-go=\"`bundle`\" pulumi-lang-python=\"`bundle`\" pulumi-lang-yaml=\"`bundle`\" pulumi-lang-java=\"`bundle`\" pulumi-lang-hcl=\"`bundle`\"\u003e`bundle`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`full`\" pulumi-lang-dotnet=\"`Full`\" pulumi-lang-go=\"`full`\" pulumi-lang-python=\"`full`\" pulumi-lang-yaml=\"`full`\" pulumi-lang-java=\"`full`\" pulumi-lang-hcl=\"`full`\"\u003e`full`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`writeonly`\" pulumi-lang-dotnet=\"`Writeonly`\" pulumi-lang-go=\"`writeonly`\" pulumi-lang-python=\"`writeonly`\" pulumi-lang-yaml=\"`writeonly`\" pulumi-lang-java=\"`writeonly`\" pulumi-lang-hcl=\"`writeonly`\"\u003e`writeonly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readonly`\" pulumi-lang-dotnet=\"`Readonly`\" pulumi-lang-go=\"`readonly`\" pulumi-lang-python=\"`readonly`\" pulumi-lang-yaml=\"`readonly`\" pulumi-lang-java=\"`readonly`\" pulumi-lang-hcl=\"`readonly`\"\u003e`readonly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`list`\" pulumi-lang-dotnet=\"`List`\" pulumi-lang-go=\"`list`\" pulumi-lang-python=\"`list`\" pulumi-lang-yaml=\"`list`\" pulumi-lang-java=\"`list`\" pulumi-lang-hcl=\"`list`\"\u003e`list`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`history`\" pulumi-lang-dotnet=\"`History`\" pulumi-lang-go=\"`history`\" pulumi-lang-python=\"`history`\" pulumi-lang-yaml=\"`history`\" pulumi-lang-java=\"`history`\" pulumi-lang-hcl=\"`history`\"\u003e`history`\u003c/span\u003e |\n\n| \u003cspan pulumi-lang-nodejs=\"`bundle`\" pulumi-lang-dotnet=\"`Bundle`\" pulumi-lang-go=\"`bundle`\" pulumi-lang-python=\"`bundle`\" pulumi-lang-yaml=\"`bundle`\" pulumi-lang-java=\"`bundle`\" pulumi-lang-hcl=\"`bundle`\"\u003e`bundle`\u003c/span\u003e | Able to share files and folders via a Bundle (share link). | \u003cspan pulumi-lang-nodejs=\"`readonly`\" pulumi-lang-dotnet=\"`Readonly`\" pulumi-lang-go=\"`readonly`\" pulumi-lang-python=\"`readonly`\" pulumi-lang-yaml=\"`readonly`\" pulumi-lang-java=\"`readonly`\" pulumi-lang-hcl=\"`readonly`\"\u003e`readonly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`list`\" pulumi-lang-dotnet=\"`List`\" pulumi-lang-go=\"`list`\" pulumi-lang-python=\"`list`\" pulumi-lang-yaml=\"`list`\" pulumi-lang-java=\"`list`\" pulumi-lang-hcl=\"`list`\"\u003e`list`\u003c/span\u003e |\n\n| \u003cspan pulumi-lang-nodejs=\"`full`\" pulumi-lang-dotnet=\"`Full`\" pulumi-lang-go=\"`full`\" pulumi-lang-python=\"`full`\" pulumi-lang-yaml=\"`full`\" pulumi-lang-java=\"`full`\" pulumi-lang-hcl=\"`full`\"\u003e`full`\u003c/span\u003e | Able to read, write, move, delete, and rename files and folders. Also grants the ability to overwrite files upon upload. | \u003cspan pulumi-lang-nodejs=\"`writeonly`\" pulumi-lang-dotnet=\"`Writeonly`\" pulumi-lang-go=\"`writeonly`\" pulumi-lang-python=\"`writeonly`\" pulumi-lang-yaml=\"`writeonly`\" pulumi-lang-java=\"`writeonly`\" pulumi-lang-hcl=\"`writeonly`\"\u003e`writeonly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readonly`\" pulumi-lang-dotnet=\"`Readonly`\" pulumi-lang-go=\"`readonly`\" pulumi-lang-python=\"`readonly`\" pulumi-lang-yaml=\"`readonly`\" pulumi-lang-java=\"`readonly`\" pulumi-lang-hcl=\"`readonly`\"\u003e`readonly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`list`\" pulumi-lang-dotnet=\"`List`\" pulumi-lang-go=\"`list`\" pulumi-lang-python=\"`list`\" pulumi-lang-yaml=\"`list`\" pulumi-lang-java=\"`list`\" pulumi-lang-hcl=\"`list`\"\u003e`list`\u003c/span\u003e |\n\n| \u003cspan pulumi-lang-nodejs=\"`history`\" pulumi-lang-dotnet=\"`History`\" pulumi-lang-go=\"`history`\" pulumi-lang-python=\"`history`\" pulumi-lang-yaml=\"`history`\" pulumi-lang-java=\"`history`\" pulumi-lang-hcl=\"`history`\"\u003e`history`\u003c/span\u003e | Able to view the history of files and folders and to create email notifications for themselves. | \u003cspan pulumi-lang-nodejs=\"`list`\" pulumi-lang-dotnet=\"`List`\" pulumi-lang-go=\"`list`\" pulumi-lang-python=\"`list`\" pulumi-lang-yaml=\"`list`\" pulumi-lang-java=\"`list`\" pulumi-lang-hcl=\"`list`\"\u003e`list`\u003c/span\u003e |\n\n| \u003cspan pulumi-lang-nodejs=\"`list`\" pulumi-lang-dotnet=\"`List`\" pulumi-lang-go=\"`list`\" pulumi-lang-python=\"`list`\" pulumi-lang-yaml=\"`list`\" pulumi-lang-java=\"`list`\" pulumi-lang-hcl=\"`list`\"\u003e`list`\u003c/span\u003e | Able to list files and folders, but not download. | none |\n\n| \u003cspan pulumi-lang-nodejs=\"`readonly`\" pulumi-lang-dotnet=\"`Readonly`\" pulumi-lang-go=\"`readonly`\" pulumi-lang-python=\"`readonly`\" pulumi-lang-yaml=\"`readonly`\" pulumi-lang-java=\"`readonly`\" pulumi-lang-hcl=\"`readonly`\"\u003e`readonly`\u003c/span\u003e | Able to list, preview, and download files and folders. | \u003cspan pulumi-lang-nodejs=\"`list`\" pulumi-lang-dotnet=\"`List`\" pulumi-lang-go=\"`list`\" pulumi-lang-python=\"`list`\" pulumi-lang-yaml=\"`list`\" pulumi-lang-java=\"`list`\" pulumi-lang-hcl=\"`list`\"\u003e`list`\u003c/span\u003e |\n\n| \u003cspan pulumi-lang-nodejs=\"`readonlySiteAdmin`\" pulumi-lang-dotnet=\"`ReadonlySiteAdmin`\" pulumi-lang-go=\"`readonlySiteAdmin`\" pulumi-lang-python=\"`readonly_site_admin`\" pulumi-lang-yaml=\"`readonlySiteAdmin`\" pulumi-lang-java=\"`readonlySiteAdmin`\" pulumi-lang-hcl=\"`readonly_site_admin`\"\u003e`readonlySiteAdmin`\u003c/span\u003e | Able to behave as a read-only Site Admin on a given child site. Only applies to child sites. | \u003cspan pulumi-lang-nodejs=\"`readonly`\" pulumi-lang-dotnet=\"`Readonly`\" pulumi-lang-go=\"`readonly`\" pulumi-lang-python=\"`readonly`\" pulumi-lang-yaml=\"`readonly`\" pulumi-lang-java=\"`readonly`\" pulumi-lang-hcl=\"`readonly`\"\u003e`readonly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`list`\" pulumi-lang-dotnet=\"`List`\" pulumi-lang-go=\"`list`\" pulumi-lang-python=\"`list`\" pulumi-lang-yaml=\"`list`\" pulumi-lang-java=\"`list`\" pulumi-lang-hcl=\"`list`\"\u003e`list`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`history`\" pulumi-lang-dotnet=\"`History`\" pulumi-lang-go=\"`history`\" pulumi-lang-python=\"`history`\" pulumi-lang-yaml=\"`history`\" pulumi-lang-java=\"`history`\" pulumi-lang-hcl=\"`history`\"\u003e`history`\u003c/span\u003e |\n\n| \u003cspan pulumi-lang-nodejs=\"`siteAdmin`\" pulumi-lang-dotnet=\"`SiteAdmin`\" pulumi-lang-go=\"`siteAdmin`\" pulumi-lang-python=\"`site_admin`\" pulumi-lang-yaml=\"`siteAdmin`\" pulumi-lang-java=\"`siteAdmin`\" pulumi-lang-hcl=\"`site_admin`\"\u003e`siteAdmin`\u003c/span\u003e | Able to behave as a Site Admin on a given child site. Only applies to child sites. | \u003cspan pulumi-lang-nodejs=\"`bundle`\" pulumi-lang-dotnet=\"`Bundle`\" pulumi-lang-go=\"`bundle`\" pulumi-lang-python=\"`bundle`\" pulumi-lang-yaml=\"`bundle`\" pulumi-lang-java=\"`bundle`\" pulumi-lang-hcl=\"`bundle`\"\u003e`bundle`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`full`\" pulumi-lang-dotnet=\"`Full`\" pulumi-lang-go=\"`full`\" pulumi-lang-python=\"`full`\" pulumi-lang-yaml=\"`full`\" pulumi-lang-java=\"`full`\" pulumi-lang-hcl=\"`full`\"\u003e`full`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`writeonly`\" pulumi-lang-dotnet=\"`Writeonly`\" pulumi-lang-go=\"`writeonly`\" pulumi-lang-python=\"`writeonly`\" pulumi-lang-yaml=\"`writeonly`\" pulumi-lang-java=\"`writeonly`\" pulumi-lang-hcl=\"`writeonly`\"\u003e`writeonly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readonly`\" pulumi-lang-dotnet=\"`Readonly`\" pulumi-lang-go=\"`readonly`\" pulumi-lang-python=\"`readonly`\" pulumi-lang-yaml=\"`readonly`\" pulumi-lang-java=\"`readonly`\" pulumi-lang-hcl=\"`readonly`\"\u003e`readonly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`list`\" pulumi-lang-dotnet=\"`List`\" pulumi-lang-go=\"`list`\" pulumi-lang-python=\"`list`\" pulumi-lang-yaml=\"`list`\" pulumi-lang-java=\"`list`\" pulumi-lang-hcl=\"`list`\"\u003e`list`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`history`\" pulumi-lang-dotnet=\"`History`\" pulumi-lang-go=\"`history`\" pulumi-lang-python=\"`history`\" pulumi-lang-yaml=\"`history`\" pulumi-lang-java=\"`history`\" pulumi-lang-hcl=\"`history`\"\u003e`history`\u003c/span\u003e |\n\n| \u003cspan pulumi-lang-nodejs=\"`writeonly`\" pulumi-lang-dotnet=\"`Writeonly`\" pulumi-lang-go=\"`writeonly`\" pulumi-lang-python=\"`writeonly`\" pulumi-lang-yaml=\"`writeonly`\" pulumi-lang-java=\"`writeonly`\" pulumi-lang-hcl=\"`writeonly`\"\u003e`writeonly`\u003c/span\u003e | Able to upload files, create folders and list subfolders the user has write permission to. | none |\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst examplePermission = filescom.getPermission({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_permission = filescom.get_permission(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var examplePermission = Filescom.GetPermission.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetPermission(ctx, \u0026filescom.LookupPermissionArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getpermission\" \"examplePermission\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetPermissionArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var examplePermission = FilescomFunctions.getPermission(GetPermissionArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  examplePermission:\n    fn::invoke:\n      function: filescom:getPermission\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getPermission.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Permission ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getPermission.\n",
                "properties": {
                    "groupId": {
                        "description": "Group ID\n",
                        "type": "integer"
                    },
                    "groupIds": {
                        "description": "Group IDs when this permission requires multiple groups\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "groupName": {
                        "description": "Group name (if applicable)\n",
                        "type": "string"
                    },
                    "groupNames": {
                        "description": "Group names when this permission requires multiple groups\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "id": {
                        "description": "Permission ID\n",
                        "type": "integer"
                    },
                    "partnerId": {
                        "description": "Partner ID (if applicable)\n",
                        "type": "integer"
                    },
                    "partnerName": {
                        "description": "Partner name (if applicable)\n",
                        "type": "string"
                    },
                    "path": {
                        "description": "Path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n",
                        "type": "string"
                    },
                    "permission": {
                        "description": "Permission type.  See the table referenced in the documentation for an explanation of each permission.\n",
                        "type": "string"
                    },
                    "recursive": {
                        "description": "Recursive: does this permission apply to subfolders?\n",
                        "type": "boolean"
                    },
                    "siteId": {
                        "description": "Site ID\n",
                        "type": "integer"
                    },
                    "userId": {
                        "description": "User ID\n",
                        "type": "integer"
                    },
                    "username": {
                        "description": "Username (if applicable)\n",
                        "type": "string"
                    }
                },
                "required": [
                    "groupId",
                    "groupIds",
                    "groupName",
                    "groupNames",
                    "id",
                    "partnerId",
                    "partnerName",
                    "path",
                    "permission",
                    "recursive",
                    "siteId",
                    "userId",
                    "username"
                ],
                "type": "object"
            }
        },
        "filescom:index/getProject:getProject": {
            "description": "A Project is associated with a folder and add project management features to that folder.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleProject = filescom.getProject({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_project = filescom.get_project(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleProject = Filescom.GetProject.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetProject(ctx, \u0026filescom.LookupProjectArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getproject\" \"exampleProject\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetProjectArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleProject = FilescomFunctions.getProject(GetProjectArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleProject:\n    fn::invoke:\n      function: filescom:getProject\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getProject.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Project ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getProject.\n",
                "properties": {
                    "globalAccess": {
                        "description": "Global access settings\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Project ID\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "globalAccess",
                    "id"
                ],
                "type": "object"
            }
        },
        "filescom:index/getPublicKey:getPublicKey": {
            "description": "A PublicKey is used to authenticate to Files.com via SFTP (SSH File Transfer Protocol). This method of authentication allows users to use their private key (which is never shared with Files.com) to authenticate themselves against the PublicKey stored on Files.com.\n\n\n\nWhen a user configures their PublicKey, it allows them to bypass traditional password-based authentication, leveraging the security of key-based authentication instead.\n\n\n\nNote that Files.com's SSH support is limited to file operations only. While users can securely transfer files and manage their data via SFTP, they do not have access to a full shell environment for executing arbitrary commands.\n\n\n\nWhen generating new SSH keys, here are the available options: Files.com supports multiple SSH key algorithms: RSA (default 4096 bits, range 1024-4096 in 8-bit increments), DSA (1024 bits only), Ed25519 (256 bits), and ECDSA (256, 384, or 521 bits). When generating keys, the system uses these default lengths unless a specific length is specified.\n\n\n\nFiles.com also supports importing additional key types that cannot be generated: security key types (sk-ecdsa-sha2-nistp256, sk-ssh-ed25519). RSA keys up to 8192 bits are also supported for import.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst examplePublicKey = filescom.getPublicKey({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_public_key = filescom.get_public_key(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var examplePublicKey = Filescom.GetPublicKey.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetPublicKey(ctx, \u0026filescom.LookupPublicKeyArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getpublickey\" \"examplePublicKey\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetPublicKeyArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var examplePublicKey = FilescomFunctions.getPublicKey(GetPublicKeyArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  examplePublicKey:\n    fn::invoke:\n      function: filescom:getPublicKey\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getPublicKey.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Public key ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getPublicKey.\n",
                "properties": {
                    "createdAt": {
                        "description": "Public key created at date/time\n",
                        "type": "string"
                    },
                    "expired": {
                        "description": "Is this public key expired?\n",
                        "type": "boolean"
                    },
                    "expiresAt": {
                        "description": "Public key expiration date/time\n",
                        "type": "string"
                    },
                    "fingerprint": {
                        "description": "Public key fingerprint (MD5)\n",
                        "type": "string"
                    },
                    "fingerprintSha256": {
                        "description": "Public key fingerprint (SHA256)\n",
                        "type": "string"
                    },
                    "generatedPrivateKey": {
                        "description": "Only returned when generating keys. Private key generated for the user.\n",
                        "secret": true,
                        "type": "string"
                    },
                    "generatedPublicKey": {
                        "description": "Only returned when generating keys. Public key generated for the user.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Public key ID\n",
                        "type": "integer"
                    },
                    "lastLoginAt": {
                        "description": "Key's most recent login time via SFTP\n",
                        "type": "string"
                    },
                    "status": {
                        "description": "Only returned when generating keys. Can be invalid, not_generated, generating, complete\n",
                        "type": "string"
                    },
                    "title": {
                        "description": "Public key title\n",
                        "type": "string"
                    },
                    "userId": {
                        "description": "User ID this public key is associated with\n",
                        "type": "integer"
                    },
                    "username": {
                        "description": "Username of the user this public key is associated with\n",
                        "type": "string"
                    },
                    "workspaceId": {
                        "description": "Workspace ID (0 for default workspace).\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "createdAt",
                    "expired",
                    "expiresAt",
                    "fingerprint",
                    "fingerprintSha256",
                    "generatedPrivateKey",
                    "generatedPublicKey",
                    "id",
                    "lastLoginAt",
                    "status",
                    "title",
                    "userId",
                    "username",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getRemoteMountBackend:getRemoteMountBackend": {
            "description": "A Remote Mount Backend is used to provide high availability for a Remote Server Mount Folder Behavior.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleRemoteMountBackend = filescom.getRemoteMountBackend({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_remote_mount_backend = filescom.get_remote_mount_backend(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleRemoteMountBackend = Filescom.GetRemoteMountBackend.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetRemoteMountBackend(ctx, \u0026filescom.LookupRemoteMountBackendArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getremotemountbackend\" \"exampleRemoteMountBackend\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetRemoteMountBackendArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleRemoteMountBackend = FilescomFunctions.getRemoteMountBackend(GetRemoteMountBackendArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleRemoteMountBackend:\n    fn::invoke:\n      function: filescom:getRemoteMountBackend\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getRemoteMountBackend.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Unique identifier for this backend.\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getRemoteMountBackend.\n",
                "properties": {
                    "canaryFilePath": {
                        "description": "Path to the canary file used for health checks.\n",
                        "type": "string"
                    },
                    "enabled": {
                        "description": "True if this backend is enabled.\n",
                        "type": "boolean"
                    },
                    "fall": {
                        "description": "Number of consecutive failures before considering the backend unhealthy.\n",
                        "type": "integer"
                    },
                    "healthCheckEnabled": {
                        "description": "True if health checks are enabled for this backend.\n",
                        "type": "boolean"
                    },
                    "healthCheckResults": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Array of recent health check results.\n"
                    },
                    "healthCheckType": {
                        "description": "Type of health check to perform.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Unique identifier for this backend.\n",
                        "type": "integer"
                    },
                    "interval": {
                        "description": "Interval in seconds between health checks.\n",
                        "type": "integer"
                    },
                    "minFreeCpu": {
                        "description": "Minimum free CPU percentage required for this backend to be considered healthy.\n",
                        "type": "string"
                    },
                    "minFreeMem": {
                        "description": "Minimum free memory percentage required for this backend to be considered healthy.\n",
                        "type": "string"
                    },
                    "priority": {
                        "description": "Priority of this backend.\n",
                        "type": "integer"
                    },
                    "remotePath": {
                        "description": "Path on the remote server to treat as the root of this mount.\n",
                        "type": "string"
                    },
                    "remoteServerId": {
                        "description": "The remote server that this backend is associated with.\n",
                        "type": "integer"
                    },
                    "remoteServerMountId": {
                        "description": "The mount ID of the Remote Server Mount that this backend is associated with.\n",
                        "type": "integer"
                    },
                    "rise": {
                        "description": "Number of consecutive successes before considering the backend healthy.\n",
                        "type": "integer"
                    },
                    "status": {
                        "description": "Status of this backend.\n",
                        "type": "string"
                    },
                    "undergoingMaintenance": {
                        "description": "True if this backend is undergoing maintenance.\n",
                        "type": "boolean"
                    }
                },
                "required": [
                    "canaryFilePath",
                    "enabled",
                    "fall",
                    "healthCheckEnabled",
                    "healthCheckResults",
                    "healthCheckType",
                    "id",
                    "interval",
                    "minFreeCpu",
                    "minFreeMem",
                    "priority",
                    "remotePath",
                    "remoteServerId",
                    "remoteServerMountId",
                    "rise",
                    "status",
                    "undergoingMaintenance"
                ],
                "type": "object"
            }
        },
        "filescom:index/getRemoteServer:getRemoteServer": {
            "description": "A RemoteServer is a specific type of Behavior called \u003cspan pulumi-lang-nodejs=\"`remoteServerSync`\" pulumi-lang-dotnet=\"`RemoteServerSync`\" pulumi-lang-go=\"`remoteServerSync`\" pulumi-lang-python=\"`remote_server_sync`\" pulumi-lang-yaml=\"`remoteServerSync`\" pulumi-lang-java=\"`remoteServerSync`\" pulumi-lang-hcl=\"`remote_server_sync`\"\u003e`remoteServerSync`\u003c/span\u003e.\n\n\n\nRemote Servers can be either an FTP server, SFTP server, S3 bucket, Google Cloud Storage, Wasabi, Backblaze B2 Cloud Storage, Rackspace Cloud Files container, WebDAV, Box, Dropbox, OneDrive, SharePoint, Google Drive, Azure Blob Storage, or Files.com direct link.\n\n\n\nNot every attribute will apply to every remote server.\n\n\n\nFTP Servers require that you specify their \u003cspan pulumi-lang-nodejs=\"`hostname`\" pulumi-lang-dotnet=\"`Hostname`\" pulumi-lang-go=\"`hostname`\" pulumi-lang-python=\"`hostname`\" pulumi-lang-yaml=\"`hostname`\" pulumi-lang-java=\"`hostname`\" pulumi-lang-hcl=\"`hostname`\"\u003e`hostname`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\" pulumi-lang-hcl=\"`port`\"\u003e`port`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\" pulumi-lang-hcl=\"`username`\"\u003e`username`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e, and a value for \u003cspan pulumi-lang-nodejs=\"`ssl`\" pulumi-lang-dotnet=\"`Ssl`\" pulumi-lang-go=\"`ssl`\" pulumi-lang-python=\"`ssl`\" pulumi-lang-yaml=\"`ssl`\" pulumi-lang-java=\"`ssl`\" pulumi-lang-hcl=\"`ssl`\"\u003e`ssl`\u003c/span\u003e. Optionally, provide \u003cspan pulumi-lang-nodejs=\"`serverCertificate`\" pulumi-lang-dotnet=\"`ServerCertificate`\" pulumi-lang-go=\"`serverCertificate`\" pulumi-lang-python=\"`server_certificate`\" pulumi-lang-yaml=\"`serverCertificate`\" pulumi-lang-java=\"`serverCertificate`\" pulumi-lang-hcl=\"`server_certificate`\"\u003e`serverCertificate`\u003c/span\u003e.\n\n\n\nSFTP Servers require that you specify their \u003cspan pulumi-lang-nodejs=\"`hostname`\" pulumi-lang-dotnet=\"`Hostname`\" pulumi-lang-go=\"`hostname`\" pulumi-lang-python=\"`hostname`\" pulumi-lang-yaml=\"`hostname`\" pulumi-lang-java=\"`hostname`\" pulumi-lang-hcl=\"`hostname`\"\u003e`hostname`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\" pulumi-lang-hcl=\"`port`\"\u003e`port`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\" pulumi-lang-hcl=\"`username`\"\u003e`username`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\" pulumi-lang-hcl=\"`private_key`\"\u003e`privateKey`\u003c/span\u003e, and a value for \u003cspan pulumi-lang-nodejs=\"`ssl`\" pulumi-lang-dotnet=\"`Ssl`\" pulumi-lang-go=\"`ssl`\" pulumi-lang-python=\"`ssl`\" pulumi-lang-yaml=\"`ssl`\" pulumi-lang-java=\"`ssl`\" pulumi-lang-hcl=\"`ssl`\"\u003e`ssl`\u003c/span\u003e. Optionally, provide \u003cspan pulumi-lang-nodejs=\"`serverCertificate`\" pulumi-lang-dotnet=\"`ServerCertificate`\" pulumi-lang-go=\"`serverCertificate`\" pulumi-lang-python=\"`server_certificate`\" pulumi-lang-yaml=\"`serverCertificate`\" pulumi-lang-java=\"`serverCertificate`\" pulumi-lang-hcl=\"`server_certificate`\"\u003e`serverCertificate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`privateKeyPassphrase`\" pulumi-lang-dotnet=\"`PrivateKeyPassphrase`\" pulumi-lang-go=\"`privateKeyPassphrase`\" pulumi-lang-python=\"`private_key_passphrase`\" pulumi-lang-yaml=\"`privateKeyPassphrase`\" pulumi-lang-java=\"`privateKeyPassphrase`\" pulumi-lang-hcl=\"`private_key_passphrase`\"\u003e`privateKeyPassphrase`\u003c/span\u003e.\n\n\n\nS3 Buckets require that you specify their \u003cspan pulumi-lang-nodejs=\"`s3Bucket`\" pulumi-lang-dotnet=\"`S3Bucket`\" pulumi-lang-go=\"`s3Bucket`\" pulumi-lang-python=\"`s3_bucket`\" pulumi-lang-yaml=\"`s3Bucket`\" pulumi-lang-java=\"`s3Bucket`\" pulumi-lang-hcl=\"`s3_bucket`\"\u003e`s3Bucket`\u003c/span\u003e name, and \u003cspan pulumi-lang-nodejs=\"`s3Region`\" pulumi-lang-dotnet=\"`S3Region`\" pulumi-lang-go=\"`s3Region`\" pulumi-lang-python=\"`s3_region`\" pulumi-lang-yaml=\"`s3Region`\" pulumi-lang-java=\"`s3Region`\" pulumi-lang-hcl=\"`s3_region`\"\u003e`s3Region`\u003c/span\u003e. Optionally provide a \u003cspan pulumi-lang-nodejs=\"`awsAccessKey`\" pulumi-lang-dotnet=\"`AwsAccessKey`\" pulumi-lang-go=\"`awsAccessKey`\" pulumi-lang-python=\"`aws_access_key`\" pulumi-lang-yaml=\"`awsAccessKey`\" pulumi-lang-java=\"`awsAccessKey`\" pulumi-lang-hcl=\"`aws_access_key`\"\u003e`awsAccessKey`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`awsSecretKey`\" pulumi-lang-dotnet=\"`AwsSecretKey`\" pulumi-lang-go=\"`awsSecretKey`\" pulumi-lang-python=\"`aws_secret_key`\" pulumi-lang-yaml=\"`awsSecretKey`\" pulumi-lang-java=\"`awsSecretKey`\" pulumi-lang-hcl=\"`aws_secret_key`\"\u003e`awsSecretKey`\u003c/span\u003e. If you don't provide credentials, you will need to use AWS to grant us access to your bucket.\n\n\n\nS3-Compatible Buckets require that you specify \u003cspan pulumi-lang-nodejs=\"`s3CompatibleBucket`\" pulumi-lang-dotnet=\"`S3CompatibleBucket`\" pulumi-lang-go=\"`s3CompatibleBucket`\" pulumi-lang-python=\"`s3_compatible_bucket`\" pulumi-lang-yaml=\"`s3CompatibleBucket`\" pulumi-lang-java=\"`s3CompatibleBucket`\" pulumi-lang-hcl=\"`s3_compatible_bucket`\"\u003e`s3CompatibleBucket`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`s3CompatibleEndpoint`\" pulumi-lang-dotnet=\"`S3CompatibleEndpoint`\" pulumi-lang-go=\"`s3CompatibleEndpoint`\" pulumi-lang-python=\"`s3_compatible_endpoint`\" pulumi-lang-yaml=\"`s3CompatibleEndpoint`\" pulumi-lang-java=\"`s3CompatibleEndpoint`\" pulumi-lang-hcl=\"`s3_compatible_endpoint`\"\u003e`s3CompatibleEndpoint`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`s3CompatibleAccessKey`\" pulumi-lang-dotnet=\"`S3CompatibleAccessKey`\" pulumi-lang-go=\"`s3CompatibleAccessKey`\" pulumi-lang-python=\"`s3_compatible_access_key`\" pulumi-lang-yaml=\"`s3CompatibleAccessKey`\" pulumi-lang-java=\"`s3CompatibleAccessKey`\" pulumi-lang-hcl=\"`s3_compatible_access_key`\"\u003e`s3CompatibleAccessKey`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`s3CompatibleSecretKey`\" pulumi-lang-dotnet=\"`S3CompatibleSecretKey`\" pulumi-lang-go=\"`s3CompatibleSecretKey`\" pulumi-lang-python=\"`s3_compatible_secret_key`\" pulumi-lang-yaml=\"`s3CompatibleSecretKey`\" pulumi-lang-java=\"`s3CompatibleSecretKey`\" pulumi-lang-hcl=\"`s3_compatible_secret_key`\"\u003e`s3CompatibleSecretKey`\u003c/span\u003e. Optionally provide \u003cspan pulumi-lang-nodejs=\"`s3CompatibleVirtualHostedStyle`\" pulumi-lang-dotnet=\"`S3CompatibleVirtualHostedStyle`\" pulumi-lang-go=\"`s3CompatibleVirtualHostedStyle`\" pulumi-lang-python=\"`s3_compatible_virtual_hosted_style`\" pulumi-lang-yaml=\"`s3CompatibleVirtualHostedStyle`\" pulumi-lang-java=\"`s3CompatibleVirtualHostedStyle`\" pulumi-lang-hcl=\"`s3_compatible_virtual_hosted_style`\"\u003e`s3CompatibleVirtualHostedStyle`\u003c/span\u003e to use virtual-hosted-style URLs instead of path-style URLs.\n\n\n\nGoogle Cloud Storage requires that you specify \u003cspan pulumi-lang-nodejs=\"`googleCloudStorageBucket`\" pulumi-lang-dotnet=\"`GoogleCloudStorageBucket`\" pulumi-lang-go=\"`googleCloudStorageBucket`\" pulumi-lang-python=\"`google_cloud_storage_bucket`\" pulumi-lang-yaml=\"`googleCloudStorageBucket`\" pulumi-lang-java=\"`googleCloudStorageBucket`\" pulumi-lang-hcl=\"`google_cloud_storage_bucket`\"\u003e`googleCloudStorageBucket`\u003c/span\u003e, and then one of the following sets of authentication credentials, selected by \u003cspan pulumi-lang-nodejs=\"`googleCloudStorageAuthenticationMethod`\" pulumi-lang-dotnet=\"`GoogleCloudStorageAuthenticationMethod`\" pulumi-lang-go=\"`googleCloudStorageAuthenticationMethod`\" pulumi-lang-python=\"`google_cloud_storage_authentication_method`\" pulumi-lang-yaml=\"`googleCloudStorageAuthenticationMethod`\" pulumi-lang-java=\"`googleCloudStorageAuthenticationMethod`\" pulumi-lang-hcl=\"`google_cloud_storage_authentication_method`\"\u003e`googleCloudStorageAuthenticationMethod`\u003c/span\u003e (defaults to \u003cspan pulumi-lang-nodejs=\"`json`\" pulumi-lang-dotnet=\"`Json`\" pulumi-lang-go=\"`json`\" pulumi-lang-python=\"`json`\" pulumi-lang-yaml=\"`json`\" pulumi-lang-java=\"`json`\" pulumi-lang-hcl=\"`json`\"\u003e`json`\u003c/span\u003e):\n\n - for JSON authentication: \u003cspan pulumi-lang-nodejs=\"`googleCloudStorageProjectId`\" pulumi-lang-dotnet=\"`GoogleCloudStorageProjectId`\" pulumi-lang-go=\"`googleCloudStorageProjectId`\" pulumi-lang-python=\"`google_cloud_storage_project_id`\" pulumi-lang-yaml=\"`googleCloudStorageProjectId`\" pulumi-lang-java=\"`googleCloudStorageProjectId`\" pulumi-lang-hcl=\"`google_cloud_storage_project_id`\"\u003e`googleCloudStorageProjectId`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`googleCloudStorageCredentialsJson`\" pulumi-lang-dotnet=\"`GoogleCloudStorageCredentialsJson`\" pulumi-lang-go=\"`googleCloudStorageCredentialsJson`\" pulumi-lang-python=\"`google_cloud_storage_credentials_json`\" pulumi-lang-yaml=\"`googleCloudStorageCredentialsJson`\" pulumi-lang-java=\"`googleCloudStorageCredentialsJson`\" pulumi-lang-hcl=\"`google_cloud_storage_credentials_json`\"\u003e`googleCloudStorageCredentialsJson`\u003c/span\u003e\n\n - for HMAC (S3-Compatible) authentication: \u003cspan pulumi-lang-nodejs=\"`googleCloudStorageS3CompatibleAccessKey`\" pulumi-lang-dotnet=\"`GoogleCloudStorageS3CompatibleAccessKey`\" pulumi-lang-go=\"`googleCloudStorageS3CompatibleAccessKey`\" pulumi-lang-python=\"`google_cloud_storage_s3_compatible_access_key`\" pulumi-lang-yaml=\"`googleCloudStorageS3CompatibleAccessKey`\" pulumi-lang-java=\"`googleCloudStorageS3CompatibleAccessKey`\" pulumi-lang-hcl=\"`google_cloud_storage_s3_compatible_access_key`\"\u003e`googleCloudStorageS3CompatibleAccessKey`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`googleCloudStorageS3CompatibleSecretKey`\" pulumi-lang-dotnet=\"`GoogleCloudStorageS3CompatibleSecretKey`\" pulumi-lang-go=\"`googleCloudStorageS3CompatibleSecretKey`\" pulumi-lang-python=\"`google_cloud_storage_s3_compatible_secret_key`\" pulumi-lang-yaml=\"`googleCloudStorageS3CompatibleSecretKey`\" pulumi-lang-java=\"`googleCloudStorageS3CompatibleSecretKey`\" pulumi-lang-hcl=\"`google_cloud_storage_s3_compatible_secret_key`\"\u003e`googleCloudStorageS3CompatibleSecretKey`\u003c/span\u003e\n\n - for OAuth authentication: \u003cspan pulumi-lang-nodejs=\"`googleCloudStorageOauthScope`\" pulumi-lang-dotnet=\"`GoogleCloudStorageOauthScope`\" pulumi-lang-go=\"`googleCloudStorageOauthScope`\" pulumi-lang-python=\"`google_cloud_storage_oauth_scope`\" pulumi-lang-yaml=\"`googleCloudStorageOauthScope`\" pulumi-lang-java=\"`googleCloudStorageOauthScope`\" pulumi-lang-hcl=\"`google_cloud_storage_oauth_scope`\"\u003e`googleCloudStorageOauthScope`\u003c/span\u003e, then follow the \u003cspan pulumi-lang-nodejs=\"`authSetupLink`\" pulumi-lang-dotnet=\"`AuthSetupLink`\" pulumi-lang-go=\"`authSetupLink`\" pulumi-lang-python=\"`auth_setup_link`\" pulumi-lang-yaml=\"`authSetupLink`\" pulumi-lang-java=\"`authSetupLink`\" pulumi-lang-hcl=\"`auth_setup_link`\"\u003e`authSetupLink`\u003c/span\u003e and login with Google\n\n\n\nWasabi requires \u003cspan pulumi-lang-nodejs=\"`wasabiBucket`\" pulumi-lang-dotnet=\"`WasabiBucket`\" pulumi-lang-go=\"`wasabiBucket`\" pulumi-lang-python=\"`wasabi_bucket`\" pulumi-lang-yaml=\"`wasabiBucket`\" pulumi-lang-java=\"`wasabiBucket`\" pulumi-lang-hcl=\"`wasabi_bucket`\"\u003e`wasabiBucket`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`wasabiRegion`\" pulumi-lang-dotnet=\"`WasabiRegion`\" pulumi-lang-go=\"`wasabiRegion`\" pulumi-lang-python=\"`wasabi_region`\" pulumi-lang-yaml=\"`wasabiRegion`\" pulumi-lang-java=\"`wasabiRegion`\" pulumi-lang-hcl=\"`wasabi_region`\"\u003e`wasabiRegion`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`wasabiAccessKey`\" pulumi-lang-dotnet=\"`WasabiAccessKey`\" pulumi-lang-go=\"`wasabiAccessKey`\" pulumi-lang-python=\"`wasabi_access_key`\" pulumi-lang-yaml=\"`wasabiAccessKey`\" pulumi-lang-java=\"`wasabiAccessKey`\" pulumi-lang-hcl=\"`wasabi_access_key`\"\u003e`wasabiAccessKey`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`wasabiSecretKey`\" pulumi-lang-dotnet=\"`WasabiSecretKey`\" pulumi-lang-go=\"`wasabiSecretKey`\" pulumi-lang-python=\"`wasabi_secret_key`\" pulumi-lang-yaml=\"`wasabiSecretKey`\" pulumi-lang-java=\"`wasabiSecretKey`\" pulumi-lang-hcl=\"`wasabi_secret_key`\"\u003e`wasabiSecretKey`\u003c/span\u003e.\n\n\n\nBackblaze B2 Cloud Storage \u003cspan pulumi-lang-nodejs=\"`backblazeB2Bucket`\" pulumi-lang-dotnet=\"`BackblazeB2Bucket`\" pulumi-lang-go=\"`backblazeB2Bucket`\" pulumi-lang-python=\"`backblaze_b2_bucket`\" pulumi-lang-yaml=\"`backblazeB2Bucket`\" pulumi-lang-java=\"`backblazeB2Bucket`\" pulumi-lang-hcl=\"`backblaze_b2_bucket`\"\u003e`backblazeB2Bucket`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`backblazeB2S3Endpoint`\" pulumi-lang-dotnet=\"`BackblazeB2S3Endpoint`\" pulumi-lang-go=\"`backblazeB2S3Endpoint`\" pulumi-lang-python=\"`backblaze_b2_s3_endpoint`\" pulumi-lang-yaml=\"`backblazeB2S3Endpoint`\" pulumi-lang-java=\"`backblazeB2S3Endpoint`\" pulumi-lang-hcl=\"`backblaze_b2_s3_endpoint`\"\u003e`backblazeB2S3Endpoint`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`backblazeB2ApplicationKey`\" pulumi-lang-dotnet=\"`BackblazeB2ApplicationKey`\" pulumi-lang-go=\"`backblazeB2ApplicationKey`\" pulumi-lang-python=\"`backblaze_b2_application_key`\" pulumi-lang-yaml=\"`backblazeB2ApplicationKey`\" pulumi-lang-java=\"`backblazeB2ApplicationKey`\" pulumi-lang-hcl=\"`backblaze_b2_application_key`\"\u003e`backblazeB2ApplicationKey`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`backblazeB2KeyId`\" pulumi-lang-dotnet=\"`BackblazeB2KeyId`\" pulumi-lang-go=\"`backblazeB2KeyId`\" pulumi-lang-python=\"`backblaze_b2_key_id`\" pulumi-lang-yaml=\"`backblazeB2KeyId`\" pulumi-lang-java=\"`backblazeB2KeyId`\" pulumi-lang-hcl=\"`backblaze_b2_key_id`\"\u003e`backblazeB2KeyId`\u003c/span\u003e. (Requires S3 Compatible API) See https://help.backblaze.com/hc/en-us/articles/360047425453\n\n\n\nWebDAV Servers require that you specify their \u003cspan pulumi-lang-nodejs=\"`hostname`\" pulumi-lang-dotnet=\"`Hostname`\" pulumi-lang-go=\"`hostname`\" pulumi-lang-python=\"`hostname`\" pulumi-lang-yaml=\"`hostname`\" pulumi-lang-java=\"`hostname`\" pulumi-lang-hcl=\"`hostname`\"\u003e`hostname`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\" pulumi-lang-hcl=\"`username`\"\u003e`username`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e.\n\n\n\nOneDrive follow the \u003cspan pulumi-lang-nodejs=\"`authSetupLink`\" pulumi-lang-dotnet=\"`AuthSetupLink`\" pulumi-lang-go=\"`authSetupLink`\" pulumi-lang-python=\"`auth_setup_link`\" pulumi-lang-yaml=\"`authSetupLink`\" pulumi-lang-java=\"`authSetupLink`\" pulumi-lang-hcl=\"`auth_setup_link`\"\u003e`authSetupLink`\u003c/span\u003e and login with Microsoft.\n\n\n\nSharePoint supports delegated authentication through \u003cspan pulumi-lang-nodejs=\"`authSetupLink`\" pulumi-lang-dotnet=\"`AuthSetupLink`\" pulumi-lang-go=\"`authSetupLink`\" pulumi-lang-python=\"`auth_setup_link`\" pulumi-lang-yaml=\"`authSetupLink`\" pulumi-lang-java=\"`authSetupLink`\" pulumi-lang-hcl=\"`auth_setup_link`\"\u003e`authSetupLink`\u003c/span\u003e, or app-only authentication with \u003cspan pulumi-lang-nodejs=\"`sharepointTenantId`\" pulumi-lang-dotnet=\"`SharepointTenantId`\" pulumi-lang-go=\"`sharepointTenantId`\" pulumi-lang-python=\"`sharepoint_tenant_id`\" pulumi-lang-yaml=\"`sharepointTenantId`\" pulumi-lang-java=\"`sharepointTenantId`\" pulumi-lang-hcl=\"`sharepoint_tenant_id`\"\u003e`sharepointTenantId`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sharepointClientId`\" pulumi-lang-dotnet=\"`SharepointClientId`\" pulumi-lang-go=\"`sharepointClientId`\" pulumi-lang-python=\"`sharepoint_client_id`\" pulumi-lang-yaml=\"`sharepointClientId`\" pulumi-lang-java=\"`sharepointClientId`\" pulumi-lang-hcl=\"`sharepoint_client_id`\"\u003e`sharepointClientId`\u003c/span\u003e, and either \u003cspan pulumi-lang-nodejs=\"`sharepointClientSecret`\" pulumi-lang-dotnet=\"`SharepointClientSecret`\" pulumi-lang-go=\"`sharepointClientSecret`\" pulumi-lang-python=\"`sharepoint_client_secret`\" pulumi-lang-yaml=\"`sharepointClientSecret`\" pulumi-lang-java=\"`sharepointClientSecret`\" pulumi-lang-hcl=\"`sharepoint_client_secret`\"\u003e`sharepointClientSecret`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sharepointClientCertificate`\" pulumi-lang-dotnet=\"`SharepointClientCertificate`\" pulumi-lang-go=\"`sharepointClientCertificate`\" pulumi-lang-python=\"`sharepoint_client_certificate`\" pulumi-lang-yaml=\"`sharepointClientCertificate`\" pulumi-lang-java=\"`sharepointClientCertificate`\" pulumi-lang-hcl=\"`sharepoint_client_certificate`\"\u003e`sharepointClientCertificate`\u003c/span\u003e. Set \u003cspan pulumi-lang-nodejs=\"`sharepointSiteUrl`\" pulumi-lang-dotnet=\"`SharepointSiteUrl`\" pulumi-lang-go=\"`sharepointSiteUrl`\" pulumi-lang-python=\"`sharepoint_site_url`\" pulumi-lang-yaml=\"`sharepointSiteUrl`\" pulumi-lang-java=\"`sharepointSiteUrl`\" pulumi-lang-hcl=\"`sharepoint_site_url`\"\u003e`sharepointSiteUrl`\u003c/span\u003e to scope the remote server to a site granted through Microsoft Graph `Sites.Selected`; leave it blank to browse all sites.\n\n\n\nBox follow the \u003cspan pulumi-lang-nodejs=\"`authSetupLink`\" pulumi-lang-dotnet=\"`AuthSetupLink`\" pulumi-lang-go=\"`authSetupLink`\" pulumi-lang-python=\"`auth_setup_link`\" pulumi-lang-yaml=\"`authSetupLink`\" pulumi-lang-java=\"`authSetupLink`\" pulumi-lang-hcl=\"`auth_setup_link`\"\u003e`authSetupLink`\u003c/span\u003e and login with Box.\n\n\n\nDropbox specify if \u003cspan pulumi-lang-nodejs=\"`dropboxTeams`\" pulumi-lang-dotnet=\"`DropboxTeams`\" pulumi-lang-go=\"`dropboxTeams`\" pulumi-lang-python=\"`dropbox_teams`\" pulumi-lang-yaml=\"`dropboxTeams`\" pulumi-lang-java=\"`dropboxTeams`\" pulumi-lang-hcl=\"`dropbox_teams`\"\u003e`dropboxTeams`\u003c/span\u003e then follow the \u003cspan pulumi-lang-nodejs=\"`authSetupLink`\" pulumi-lang-dotnet=\"`AuthSetupLink`\" pulumi-lang-go=\"`authSetupLink`\" pulumi-lang-python=\"`auth_setup_link`\" pulumi-lang-yaml=\"`authSetupLink`\" pulumi-lang-java=\"`authSetupLink`\" pulumi-lang-hcl=\"`auth_setup_link`\"\u003e`authSetupLink`\u003c/span\u003e and login with Dropbox.\n\n\n\nGoogle Drive follow the \u003cspan pulumi-lang-nodejs=\"`authSetupLink`\" pulumi-lang-dotnet=\"`AuthSetupLink`\" pulumi-lang-go=\"`authSetupLink`\" pulumi-lang-python=\"`auth_setup_link`\" pulumi-lang-yaml=\"`authSetupLink`\" pulumi-lang-java=\"`authSetupLink`\" pulumi-lang-hcl=\"`auth_setup_link`\"\u003e`authSetupLink`\u003c/span\u003e and login with Google.\n\n\n\nAzure Blob Storage \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageAccount`\" pulumi-lang-dotnet=\"`AzureBlobStorageAccount`\" pulumi-lang-go=\"`azureBlobStorageAccount`\" pulumi-lang-python=\"`azure_blob_storage_account`\" pulumi-lang-yaml=\"`azureBlobStorageAccount`\" pulumi-lang-java=\"`azureBlobStorageAccount`\" pulumi-lang-hcl=\"`azure_blob_storage_account`\"\u003e`azureBlobStorageAccount`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageContainer`\" pulumi-lang-dotnet=\"`AzureBlobStorageContainer`\" pulumi-lang-go=\"`azureBlobStorageContainer`\" pulumi-lang-python=\"`azure_blob_storage_container`\" pulumi-lang-yaml=\"`azureBlobStorageContainer`\" pulumi-lang-java=\"`azureBlobStorageContainer`\" pulumi-lang-hcl=\"`azure_blob_storage_container`\"\u003e`azureBlobStorageContainer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageAccessKey`\" pulumi-lang-dotnet=\"`AzureBlobStorageAccessKey`\" pulumi-lang-go=\"`azureBlobStorageAccessKey`\" pulumi-lang-python=\"`azure_blob_storage_access_key`\" pulumi-lang-yaml=\"`azureBlobStorageAccessKey`\" pulumi-lang-java=\"`azureBlobStorageAccessKey`\" pulumi-lang-hcl=\"`azure_blob_storage_access_key`\"\u003e`azureBlobStorageAccessKey`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageSasToken`\" pulumi-lang-dotnet=\"`AzureBlobStorageSasToken`\" pulumi-lang-go=\"`azureBlobStorageSasToken`\" pulumi-lang-python=\"`azure_blob_storage_sas_token`\" pulumi-lang-yaml=\"`azureBlobStorageSasToken`\" pulumi-lang-java=\"`azureBlobStorageSasToken`\" pulumi-lang-hcl=\"`azure_blob_storage_sas_token`\"\u003e`azureBlobStorageSasToken`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureBlobStorageDnsSuffix`\" pulumi-lang-dotnet=\"`AzureBlobStorageDnsSuffix`\" pulumi-lang-go=\"`azureBlobStorageDnsSuffix`\" pulumi-lang-python=\"`azure_blob_storage_dns_suffix`\" pulumi-lang-yaml=\"`azureBlobStorageDnsSuffix`\" pulumi-lang-java=\"`azureBlobStorageDnsSuffix`\" pulumi-lang-hcl=\"`azure_blob_storage_dns_suffix`\"\u003e`azureBlobStorageDnsSuffix`\u003c/span\u003e\n\n\n\nAzure File Storage \u003cspan pulumi-lang-nodejs=\"`azureFilesStorageAccount`\" pulumi-lang-dotnet=\"`AzureFilesStorageAccount`\" pulumi-lang-go=\"`azureFilesStorageAccount`\" pulumi-lang-python=\"`azure_files_storage_account`\" pulumi-lang-yaml=\"`azureFilesStorageAccount`\" pulumi-lang-java=\"`azureFilesStorageAccount`\" pulumi-lang-hcl=\"`azure_files_storage_account`\"\u003e`azureFilesStorageAccount`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureFilesStorageAccessKey`\" pulumi-lang-dotnet=\"`AzureFilesStorageAccessKey`\" pulumi-lang-go=\"`azureFilesStorageAccessKey`\" pulumi-lang-python=\"`azure_files_storage_access_key`\" pulumi-lang-yaml=\"`azureFilesStorageAccessKey`\" pulumi-lang-java=\"`azureFilesStorageAccessKey`\" pulumi-lang-hcl=\"`azure_files_storage_access_key`\"\u003e`azureFilesStorageAccessKey`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureFilesStorageShareName`\" pulumi-lang-dotnet=\"`AzureFilesStorageShareName`\" pulumi-lang-go=\"`azureFilesStorageShareName`\" pulumi-lang-python=\"`azure_files_storage_share_name`\" pulumi-lang-yaml=\"`azureFilesStorageShareName`\" pulumi-lang-java=\"`azureFilesStorageShareName`\" pulumi-lang-hcl=\"`azure_files_storage_share_name`\"\u003e`azureFilesStorageShareName`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureFilesStorageDnsSuffix`\" pulumi-lang-dotnet=\"`AzureFilesStorageDnsSuffix`\" pulumi-lang-go=\"`azureFilesStorageDnsSuffix`\" pulumi-lang-python=\"`azure_files_storage_dns_suffix`\" pulumi-lang-yaml=\"`azureFilesStorageDnsSuffix`\" pulumi-lang-java=\"`azureFilesStorageDnsSuffix`\" pulumi-lang-hcl=\"`azure_files_storage_dns_suffix`\"\u003e`azureFilesStorageDnsSuffix`\u003c/span\u003e\n\n\n\nFilebase requires \u003cspan pulumi-lang-nodejs=\"`filebaseBucket`\" pulumi-lang-dotnet=\"`FilebaseBucket`\" pulumi-lang-go=\"`filebaseBucket`\" pulumi-lang-python=\"`filebase_bucket`\" pulumi-lang-yaml=\"`filebaseBucket`\" pulumi-lang-java=\"`filebaseBucket`\" pulumi-lang-hcl=\"`filebase_bucket`\"\u003e`filebaseBucket`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`filebaseAccessKey`\" pulumi-lang-dotnet=\"`FilebaseAccessKey`\" pulumi-lang-go=\"`filebaseAccessKey`\" pulumi-lang-python=\"`filebase_access_key`\" pulumi-lang-yaml=\"`filebaseAccessKey`\" pulumi-lang-java=\"`filebaseAccessKey`\" pulumi-lang-hcl=\"`filebase_access_key`\"\u003e`filebaseAccessKey`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`filebaseSecretKey`\" pulumi-lang-dotnet=\"`FilebaseSecretKey`\" pulumi-lang-go=\"`filebaseSecretKey`\" pulumi-lang-python=\"`filebase_secret_key`\" pulumi-lang-yaml=\"`filebaseSecretKey`\" pulumi-lang-java=\"`filebaseSecretKey`\" pulumi-lang-hcl=\"`filebase_secret_key`\"\u003e`filebaseSecretKey`\u003c/span\u003e.\n\n\n\nCloudflare requires \u003cspan pulumi-lang-nodejs=\"`cloudflareBucket`\" pulumi-lang-dotnet=\"`CloudflareBucket`\" pulumi-lang-go=\"`cloudflareBucket`\" pulumi-lang-python=\"`cloudflare_bucket`\" pulumi-lang-yaml=\"`cloudflareBucket`\" pulumi-lang-java=\"`cloudflareBucket`\" pulumi-lang-hcl=\"`cloudflare_bucket`\"\u003e`cloudflareBucket`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cloudflareAccessKey`\" pulumi-lang-dotnet=\"`CloudflareAccessKey`\" pulumi-lang-go=\"`cloudflareAccessKey`\" pulumi-lang-python=\"`cloudflare_access_key`\" pulumi-lang-yaml=\"`cloudflareAccessKey`\" pulumi-lang-java=\"`cloudflareAccessKey`\" pulumi-lang-hcl=\"`cloudflare_access_key`\"\u003e`cloudflareAccessKey`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cloudflareSecretKey`\" pulumi-lang-dotnet=\"`CloudflareSecretKey`\" pulumi-lang-go=\"`cloudflareSecretKey`\" pulumi-lang-python=\"`cloudflare_secret_key`\" pulumi-lang-yaml=\"`cloudflareSecretKey`\" pulumi-lang-java=\"`cloudflareSecretKey`\" pulumi-lang-hcl=\"`cloudflare_secret_key`\"\u003e`cloudflareSecretKey`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cloudflareEndpoint`\" pulumi-lang-dotnet=\"`CloudflareEndpoint`\" pulumi-lang-go=\"`cloudflareEndpoint`\" pulumi-lang-python=\"`cloudflare_endpoint`\" pulumi-lang-yaml=\"`cloudflareEndpoint`\" pulumi-lang-java=\"`cloudflareEndpoint`\" pulumi-lang-hcl=\"`cloudflare_endpoint`\"\u003e`cloudflareEndpoint`\u003c/span\u003e.\n\n\n\nLinode requires \u003cspan pulumi-lang-nodejs=\"`linodeBucket`\" pulumi-lang-dotnet=\"`LinodeBucket`\" pulumi-lang-go=\"`linodeBucket`\" pulumi-lang-python=\"`linode_bucket`\" pulumi-lang-yaml=\"`linodeBucket`\" pulumi-lang-java=\"`linodeBucket`\" pulumi-lang-hcl=\"`linode_bucket`\"\u003e`linodeBucket`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`linodeAccessKey`\" pulumi-lang-dotnet=\"`LinodeAccessKey`\" pulumi-lang-go=\"`linodeAccessKey`\" pulumi-lang-python=\"`linode_access_key`\" pulumi-lang-yaml=\"`linodeAccessKey`\" pulumi-lang-java=\"`linodeAccessKey`\" pulumi-lang-hcl=\"`linode_access_key`\"\u003e`linodeAccessKey`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`linodeSecretKey`\" pulumi-lang-dotnet=\"`LinodeSecretKey`\" pulumi-lang-go=\"`linodeSecretKey`\" pulumi-lang-python=\"`linode_secret_key`\" pulumi-lang-yaml=\"`linodeSecretKey`\" pulumi-lang-java=\"`linodeSecretKey`\" pulumi-lang-hcl=\"`linode_secret_key`\"\u003e`linodeSecretKey`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`linodeRegion`\" pulumi-lang-dotnet=\"`LinodeRegion`\" pulumi-lang-go=\"`linodeRegion`\" pulumi-lang-python=\"`linode_region`\" pulumi-lang-yaml=\"`linodeRegion`\" pulumi-lang-java=\"`linodeRegion`\" pulumi-lang-hcl=\"`linode_region`\"\u003e`linodeRegion`\u003c/span\u003e.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleRemoteServer = filescom.getRemoteServer({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_remote_server = filescom.get_remote_server(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleRemoteServer = Filescom.GetRemoteServer.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetRemoteServer(ctx, \u0026filescom.LookupRemoteServerArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getremoteserver\" \"exampleRemoteServer\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetRemoteServerArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleRemoteServer = FilescomFunctions.getRemoteServer(GetRemoteServerArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleRemoteServer:\n    fn::invoke:\n      function: filescom:getRemoteServer\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getRemoteServer.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Remote Server ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getRemoteServer.\n",
                "properties": {
                    "allowRelativePaths": {
                        "description": "Allow relative paths in SFTP. If true, paths will not be forced to be absolute, allowing operations relative to the user's home directory.\n",
                        "type": "boolean"
                    },
                    "authAccountName": {
                        "description": "Describes the authorized account\n",
                        "type": "string"
                    },
                    "authStatus": {
                        "description": "Either \u003cspan pulumi-lang-nodejs=\"`inSetup`\" pulumi-lang-dotnet=\"`InSetup`\" pulumi-lang-go=\"`inSetup`\" pulumi-lang-python=\"`in_setup`\" pulumi-lang-yaml=\"`inSetup`\" pulumi-lang-java=\"`inSetup`\" pulumi-lang-hcl=\"`in_setup`\"\u003e`inSetup`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`complete`\" pulumi-lang-dotnet=\"`Complete`\" pulumi-lang-go=\"`complete`\" pulumi-lang-python=\"`complete`\" pulumi-lang-yaml=\"`complete`\" pulumi-lang-java=\"`complete`\" pulumi-lang-hcl=\"`complete`\"\u003e`complete`\u003c/span\u003e\n",
                        "type": "string"
                    },
                    "authenticationMethod": {
                        "description": "Type of authentication method to use\n",
                        "type": "string"
                    },
                    "awsAccessKey": {
                        "description": "AWS Access Key.\n",
                        "type": "string"
                    },
                    "azureBlobStorageAccount": {
                        "description": "Azure Blob Storage: Account name\n",
                        "type": "string"
                    },
                    "azureBlobStorageContainer": {
                        "description": "Azure Blob Storage: Container name\n",
                        "type": "string"
                    },
                    "azureBlobStorageDnsSuffix": {
                        "description": "Azure Blob Storage: Custom DNS suffix\n",
                        "type": "string"
                    },
                    "azureBlobStorageHierarchicalNamespace": {
                        "description": "Azure Blob Storage: Does the storage account has hierarchical namespace feature enabled?\n",
                        "type": "boolean"
                    },
                    "azureFilesStorageAccount": {
                        "description": "Azure Files: Storage Account name\n",
                        "type": "string"
                    },
                    "azureFilesStorageDnsSuffix": {
                        "description": "Azure Files: Custom DNS suffix\n",
                        "type": "string"
                    },
                    "azureFilesStorageShareName": {
                        "description": "Azure Files:  Storage Share name\n",
                        "type": "string"
                    },
                    "backblazeB2Bucket": {
                        "description": "Backblaze B2 Cloud Storage: Bucket name\n",
                        "type": "string"
                    },
                    "backblazeB2S3Endpoint": {
                        "description": "Backblaze B2 Cloud Storage: S3 Endpoint\n",
                        "type": "string"
                    },
                    "bufferUploads": {
                        "description": "If set to always, uploads to this server will be uploaded first to Files.com before being sent to the remote server. This can improve performance in certain access patterns, such as high-latency connections.  It will cause data to be temporarily stored in Files.com. If set to auto, we will perform this optimization if we believe it to be a benefit in a given situation.\n",
                        "type": "string"
                    },
                    "cloudflareAccessKey": {
                        "description": "Cloudflare: Access Key.\n",
                        "type": "string"
                    },
                    "cloudflareBucket": {
                        "description": "Cloudflare: Bucket name\n",
                        "type": "string"
                    },
                    "cloudflareEndpoint": {
                        "description": "Cloudflare: endpoint\n",
                        "type": "string"
                    },
                    "description": {
                        "description": "Internal description for your reference\n",
                        "type": "string"
                    },
                    "directTransferAvailable": {
                        "description": "Whether the Files Agent Proxy recently validated a direct transfer connection. \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e means a direct connection was recently validated (actual availability can vary by client network), \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e means direct transfers are enabled but not currently available, and \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e means direct transfers are disabled or unsupported. Only provided for a connected Files Agent when showing a single Remote Server.\n",
                        "type": "boolean"
                    },
                    "disabled": {
                        "description": "If true, this Remote Server has been disabled due to failures.  Make any change or set disabled to false to clear this flag.\n",
                        "type": "boolean"
                    },
                    "dropboxTeams": {
                        "description": "Dropbox: If true, list Team folders in root?\n",
                        "type": "boolean"
                    },
                    "enableDedicatedIps": {
                        "description": "\u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e if remote server only accepts connections from dedicated IPs\n",
                        "type": "boolean"
                    },
                    "filebaseAccessKey": {
                        "description": "Filebase: Access Key.\n",
                        "type": "string"
                    },
                    "filebaseBucket": {
                        "description": "Filebase: Bucket name\n",
                        "type": "string"
                    },
                    "filesAgentApiToken": {
                        "description": "Files Agent API Token\n",
                        "type": "string"
                    },
                    "filesAgentLatestVersion": {
                        "description": "Latest available Files Agent version\n",
                        "type": "string"
                    },
                    "filesAgentPermissionSet": {
                        "description": "Local permissions for files agent. read*only, write*only, or read_write\n",
                        "type": "string"
                    },
                    "filesAgentRoot": {
                        "description": "Agent local root path\n",
                        "type": "string"
                    },
                    "filesAgentSupportsPushUpdates": {
                        "description": "Files Agent supports receiving push updates\n",
                        "type": "boolean"
                    },
                    "filesAgentUpToDate": {
                        "description": "If true, the Files Agent is up to date.\n",
                        "type": "boolean"
                    },
                    "filesAgentVersion": {
                        "description": "Files Agent version\n",
                        "type": "string"
                    },
                    "filesApiKeyPrefix": {
                        "description": "Files.com direct link: paired API key prefix.\n",
                        "type": "string"
                    },
                    "googleCloudStorageAuthenticationMethod": {
                        "description": "Google Cloud Storage: Authentication method. Can be json, hmac, or oauth.\n",
                        "type": "string"
                    },
                    "googleCloudStorageBucket": {
                        "description": "Google Cloud Storage: Bucket Name\n",
                        "type": "string"
                    },
                    "googleCloudStorageOauthScope": {
                        "description": "Google Cloud Storage: OAuth scope. Can be https://www.googleapis.com/auth/devstorage.read*only or https://www.googleapis.com/auth/devstorage.read*write.\n",
                        "type": "string"
                    },
                    "googleCloudStorageProjectId": {
                        "description": "Google Cloud Storage: Project ID\n",
                        "type": "string"
                    },
                    "googleCloudStorageS3CompatibleAccessKey": {
                        "description": "Google Cloud Storage: S3-compatible Access Key.\n",
                        "type": "string"
                    },
                    "hostname": {
                        "description": "Hostname or IP address\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Remote Server ID\n",
                        "type": "integer"
                    },
                    "linodeAccessKey": {
                        "description": "Linode: Access Key\n",
                        "type": "string"
                    },
                    "linodeBucket": {
                        "description": "Linode: Bucket name\n",
                        "type": "string"
                    },
                    "linodeRegion": {
                        "description": "Linode: region\n",
                        "type": "string"
                    },
                    "maxConnections": {
                        "description": "Max number of parallel connections.  Ignored for S3 connections (we will parallelize these as much as possible).\n",
                        "type": "integer"
                    },
                    "name": {
                        "description": "Internal name for your reference\n",
                        "type": "string"
                    },
                    "oneDriveAccountType": {
                        "description": "OneDrive: Either personal or\u003cspan pulumi-lang-nodejs=\" businessOther \" pulumi-lang-dotnet=\" BusinessOther \" pulumi-lang-go=\" businessOther \" pulumi-lang-python=\" business_other \" pulumi-lang-yaml=\" businessOther \" pulumi-lang-java=\" businessOther \" pulumi-lang-hcl=\" business_other \"\u003e businessOther \u003c/span\u003eaccount types\n",
                        "type": "string"
                    },
                    "outboundAgentId": {
                        "description": "Route traffic to outbound on a files-agent\n",
                        "type": "integer"
                    },
                    "pinToSiteRegion": {
                        "description": "If true, we will ensure that all communications with this remote server are made through the primary region of the site.  This setting can also be overridden by a site-wide setting which will force it to true.\n",
                        "type": "boolean"
                    },
                    "pinnedRegion": {
                        "description": "If set, all communications with this remote server are made through the provided region.\n",
                        "type": "string"
                    },
                    "port": {
                        "description": "Port for remote server.\n",
                        "type": "integer"
                    },
                    "remoteHomePath": {
                        "description": "Initial home folder on remote server\n",
                        "type": "string"
                    },
                    "remoteServerCredentialId": {
                        "description": "ID of Remote Server Credential, if applicable.\n",
                        "type": "integer"
                    },
                    "s3AssumeRoleArn": {
                        "description": "AWS IAM Role ARN for AssumeRole authentication.\n",
                        "type": "string"
                    },
                    "s3AssumeRoleDurationSeconds": {
                        "description": "Session duration in seconds for AssumeRole authentication (900-43200).\n",
                        "type": "integer"
                    },
                    "s3AssumeRoleExternalId": {
                        "description": "External ID for AssumeRole authentication.\n",
                        "type": "string"
                    },
                    "s3Bucket": {
                        "description": "S3 bucket name\n",
                        "type": "string"
                    },
                    "s3CompatibleAccessKey": {
                        "description": "S3-compatible: Access Key\n",
                        "type": "string"
                    },
                    "s3CompatibleBucket": {
                        "description": "S3-compatible: Bucket name\n",
                        "type": "string"
                    },
                    "s3CompatibleEndpoint": {
                        "description": "S3-compatible: endpoint\n",
                        "type": "string"
                    },
                    "s3CompatibleRegion": {
                        "description": "S3-compatible: region\n",
                        "type": "string"
                    },
                    "s3CompatibleVirtualHostedStyle": {
                        "description": "S3-compatible: If true, use virtual-hosted-style URLs instead of path-style URLs\n",
                        "type": "boolean"
                    },
                    "s3Region": {
                        "description": "S3 region\n",
                        "type": "string"
                    },
                    "serverCertificate": {
                        "description": "Remote server certificate\n",
                        "type": "string"
                    },
                    "serverHostKey": {
                        "description": "Remote server SSH Host Key. If provided, we will require that the server host key matches the provided key. Uses OpenSSH format similar to what would go into ~/.ssh/known_hosts\n",
                        "type": "string"
                    },
                    "serverType": {
                        "description": "Remote server type.\n",
                        "type": "string"
                    },
                    "sharepointAppAuthentication": {
                        "description": "SharePoint: If true, this remote server uses Microsoft Entra app-only authentication.\n",
                        "type": "boolean"
                    },
                    "sharepointAppCredentialType": {
                        "description": "SharePoint: App-only credential type. Either secret or certificate.\n",
                        "type": "string"
                    },
                    "sharepointClientId": {
                        "description": "SharePoint: Microsoft Entra application client ID for app-only authentication.\n",
                        "type": "string"
                    },
                    "sharepointSiteUrl": {
                        "description": "SharePoint: Site URL to scope app-only authentication to a single site. Leave blank to browse all sites.\n",
                        "type": "string"
                    },
                    "sharepointTenantId": {
                        "description": "SharePoint: Microsoft Entra tenant ID for app-only authentication.\n",
                        "type": "string"
                    },
                    "ssl": {
                        "description": "Should we require SSL?\n",
                        "type": "string"
                    },
                    "supportsVersioning": {
                        "description": "If true, this remote server supports file versioning. This value is determined automatically by Files.com.\n",
                        "type": "boolean"
                    },
                    "uploadStagingPath": {
                        "description": "Upload staging path.  Applies to SFTP only.  If a path is provided here, files will first be uploaded to this path on the remote folder and the moved into the final correct path via an SFTP move command.  This is required by some remote MFT systems to emulate atomic uploads, which are otherwise not supoprted by SFTP.\n",
                        "type": "string"
                    },
                    "username": {
                        "description": "Remote server username.\n",
                        "type": "string"
                    },
                    "wasabiAccessKey": {
                        "description": "Wasabi: Access Key.\n",
                        "type": "string"
                    },
                    "wasabiBucket": {
                        "description": "Wasabi: Bucket name\n",
                        "type": "string"
                    },
                    "wasabiRegion": {
                        "description": "Wasabi: Region\n",
                        "type": "string"
                    },
                    "workspaceId": {
                        "description": "Workspace ID (0 for default workspace)\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "allowRelativePaths",
                    "authAccountName",
                    "authStatus",
                    "authenticationMethod",
                    "awsAccessKey",
                    "azureBlobStorageAccount",
                    "azureBlobStorageContainer",
                    "azureBlobStorageDnsSuffix",
                    "azureBlobStorageHierarchicalNamespace",
                    "azureFilesStorageAccount",
                    "azureFilesStorageDnsSuffix",
                    "azureFilesStorageShareName",
                    "backblazeB2Bucket",
                    "backblazeB2S3Endpoint",
                    "bufferUploads",
                    "cloudflareAccessKey",
                    "cloudflareBucket",
                    "cloudflareEndpoint",
                    "description",
                    "directTransferAvailable",
                    "disabled",
                    "dropboxTeams",
                    "enableDedicatedIps",
                    "filebaseAccessKey",
                    "filebaseBucket",
                    "filesAgentApiToken",
                    "filesAgentLatestVersion",
                    "filesAgentPermissionSet",
                    "filesAgentRoot",
                    "filesAgentSupportsPushUpdates",
                    "filesAgentUpToDate",
                    "filesAgentVersion",
                    "filesApiKeyPrefix",
                    "googleCloudStorageAuthenticationMethod",
                    "googleCloudStorageBucket",
                    "googleCloudStorageOauthScope",
                    "googleCloudStorageProjectId",
                    "googleCloudStorageS3CompatibleAccessKey",
                    "hostname",
                    "id",
                    "linodeAccessKey",
                    "linodeBucket",
                    "linodeRegion",
                    "maxConnections",
                    "name",
                    "oneDriveAccountType",
                    "outboundAgentId",
                    "pinToSiteRegion",
                    "pinnedRegion",
                    "port",
                    "remoteHomePath",
                    "remoteServerCredentialId",
                    "s3AssumeRoleArn",
                    "s3AssumeRoleDurationSeconds",
                    "s3AssumeRoleExternalId",
                    "s3Bucket",
                    "s3CompatibleAccessKey",
                    "s3CompatibleBucket",
                    "s3CompatibleEndpoint",
                    "s3CompatibleRegion",
                    "s3CompatibleVirtualHostedStyle",
                    "s3Region",
                    "serverCertificate",
                    "serverHostKey",
                    "serverType",
                    "sharepointAppAuthentication",
                    "sharepointAppCredentialType",
                    "sharepointClientId",
                    "sharepointSiteUrl",
                    "sharepointTenantId",
                    "ssl",
                    "supportsVersioning",
                    "uploadStagingPath",
                    "username",
                    "wasabiAccessKey",
                    "wasabiBucket",
                    "wasabiRegion",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getRemoteServerCredential:getRemoteServerCredential": {
            "description": "A RemoteServerCredential is a way to store a credential for Remote Servers in a centralized vault and then reference it from Remote Server definitions.\n\n\n\nThis allows you to manage your credentials in one place and avoid duplicating them across multiple Remote Server configurations. It also improves security.  You can manage the Remote Servers with Pulumi or with the API, and the credential stays in the vault.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleRemoteServerCredential = filescom.getRemoteServerCredential({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_remote_server_credential = filescom.get_remote_server_credential(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleRemoteServerCredential = Filescom.GetRemoteServerCredential.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetRemoteServerCredential(ctx, \u0026filescom.LookupRemoteServerCredentialArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getremoteservercredential\" \"exampleRemoteServerCredential\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetRemoteServerCredentialArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleRemoteServerCredential = FilescomFunctions.getRemoteServerCredential(GetRemoteServerCredentialArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleRemoteServerCredential:\n    fn::invoke:\n      function: filescom:getRemoteServerCredential\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getRemoteServerCredential.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Remote Server Credential ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getRemoteServerCredential.\n",
                "properties": {
                    "awsAccessKey": {
                        "description": "AWS Access Key.\n",
                        "type": "string"
                    },
                    "cloudflareAccessKey": {
                        "description": "Cloudflare: Access Key.\n",
                        "type": "string"
                    },
                    "description": {
                        "description": "Internal description for your reference\n",
                        "type": "string"
                    },
                    "filebaseAccessKey": {
                        "description": "Filebase: Access Key.\n",
                        "type": "string"
                    },
                    "googleCloudStorageS3CompatibleAccessKey": {
                        "description": "Google Cloud Storage: S3-compatible Access Key.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Remote Server Credential ID\n",
                        "type": "integer"
                    },
                    "linodeAccessKey": {
                        "description": "Linode: Access Key\n",
                        "type": "string"
                    },
                    "name": {
                        "description": "Internal name for your reference\n",
                        "type": "string"
                    },
                    "s3AssumeRoleArn": {
                        "description": "AWS IAM Role ARN for AssumeRole authentication.\n",
                        "type": "string"
                    },
                    "s3AssumeRoleDurationSeconds": {
                        "description": "Session duration in seconds for AssumeRole authentication (900-43200).\n",
                        "type": "integer"
                    },
                    "s3AssumeRoleExternalId": {
                        "description": "External ID for AssumeRole authentication.\n",
                        "type": "string"
                    },
                    "s3CompatibleAccessKey": {
                        "description": "S3-compatible: Access Key\n",
                        "type": "string"
                    },
                    "serverType": {
                        "description": "Remote server type.  Remote Server Credentials are only valid for a single type of Remote Server.\n",
                        "type": "string"
                    },
                    "sharepointAppCredentialType": {
                        "description": "SharePoint: App-only credential type. Either secret or certificate.\n",
                        "type": "string"
                    },
                    "sharepointClientId": {
                        "description": "SharePoint: Microsoft Entra application client ID for app-only authentication.\n",
                        "type": "string"
                    },
                    "sharepointTenantId": {
                        "description": "SharePoint: Microsoft Entra tenant ID for app-only authentication.\n",
                        "type": "string"
                    },
                    "username": {
                        "description": "Remote server username.\n",
                        "type": "string"
                    },
                    "wasabiAccessKey": {
                        "description": "Wasabi: Access Key.\n",
                        "type": "string"
                    },
                    "workspaceId": {
                        "description": "Workspace ID (0 for default workspace)\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "awsAccessKey",
                    "cloudflareAccessKey",
                    "description",
                    "filebaseAccessKey",
                    "googleCloudStorageS3CompatibleAccessKey",
                    "id",
                    "linodeAccessKey",
                    "name",
                    "s3AssumeRoleArn",
                    "s3AssumeRoleDurationSeconds",
                    "s3AssumeRoleExternalId",
                    "s3CompatibleAccessKey",
                    "serverType",
                    "sharepointAppCredentialType",
                    "sharepointClientId",
                    "sharepointTenantId",
                    "username",
                    "wasabiAccessKey",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getRequest:getRequest": {
            "description": "A Request is a file that *should* be uploaded by a specific user or group.\n\n\n\nRequests can either be manually created and managed, or managed automatically by an Automation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleRequest = filescom.getRequest({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_request = filescom.get_request(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleRequest = Filescom.GetRequest.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetRequest(ctx, \u0026filescom.LookupRequestArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getrequest\" \"exampleRequest\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetRequestArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleRequest = FilescomFunctions.getRequest(GetRequestArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleRequest:\n    fn::invoke:\n      function: filescom:getRequest\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getRequest.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Request ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getRequest.\n",
                "properties": {
                    "automationId": {
                        "description": "ID of automation that created request\n",
                        "type": "integer"
                    },
                    "destination": {
                        "description": "Destination filename\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Request ID\n",
                        "type": "integer"
                    },
                    "path": {
                        "description": "Folder path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n",
                        "type": "string"
                    },
                    "source": {
                        "description": "Source filename, if applicable\n",
                        "type": "string"
                    },
                    "userDisplayName": {
                        "description": "User making the request (if applicable)\n",
                        "type": "string"
                    }
                },
                "required": [
                    "automationId",
                    "destination",
                    "id",
                    "path",
                    "source",
                    "userDisplayName"
                ],
                "type": "object"
            }
        },
        "filescom:index/getSchedule:getSchedule": {
            "description": "A Schedule is a named, reusable weekday-and-time schedule shared by scheduled resources across a Site.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleSchedule = filescom.getSchedule({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_schedule = filescom.get_schedule(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleSchedule = Filescom.GetSchedule.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetSchedule(ctx, \u0026filescom.LookupScheduleArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getschedule\" \"exampleSchedule\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetScheduleArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleSchedule = FilescomFunctions.getSchedule(GetScheduleArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleSchedule:\n    fn::invoke:\n      function: filescom:getSchedule\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getSchedule.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Schedule ID.\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getSchedule.\n",
                "properties": {
                    "createdAt": {
                        "description": "Creation time.\n",
                        "type": "string"
                    },
                    "holidayRegion": {
                        "description": "Optional holiday region on which linked resources do not run.\n",
                        "type": "string"
                    },
                    "humanReadableSchedule": {
                        "description": "Human-readable Schedule description.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Schedule ID.\n",
                        "type": "integer"
                    },
                    "name": {
                        "description": "Schedule name.\n",
                        "type": "string"
                    },
                    "scheduleDaysOfWeeks": {
                        "description": "0-based weekdays used by the Schedule. 0 is Sunday.\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "scheduleTimeZone": {
                        "description": "Time zone for scheduled times. If not set, times are interpreted as UTC.\n",
                        "type": "string"
                    },
                    "scheduleTimesOfDays": {
                        "description": "Times of day in HH:MM format (24-hour).\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "updatedAt": {
                        "description": "Last update time.\n",
                        "type": "string"
                    }
                },
                "required": [
                    "createdAt",
                    "holidayRegion",
                    "humanReadableSchedule",
                    "id",
                    "name",
                    "scheduleDaysOfWeeks",
                    "scheduleTimeZone",
                    "scheduleTimesOfDays",
                    "updatedAt"
                ],
                "type": "object"
            }
        },
        "filescom:index/getScheduledExport:getScheduledExport": {
            "description": "A Scheduled Export defines a recurring schedule for generating one of the built-in CSV exports and e-mailing it to a Site Admin recipient.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleScheduledExport = filescom.getScheduledExport({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_scheduled_export = filescom.get_scheduled_export(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleScheduledExport = Filescom.GetScheduledExport.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetScheduledExport(ctx, \u0026filescom.LookupScheduledExportArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getscheduledexport\" \"exampleScheduledExport\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetScheduledExportArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleScheduledExport = FilescomFunctions.getScheduledExport(GetScheduledExportArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleScheduledExport:\n    fn::invoke:\n      function: filescom:getScheduledExport\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getScheduledExport.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Scheduled Export ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getScheduledExport.\n",
                "properties": {
                    "createdAt": {
                        "description": "Creation time.\n",
                        "type": "string"
                    },
                    "disabled": {
                        "description": "If true, this scheduled export will not run.\n",
                        "type": "boolean"
                    },
                    "exportOptions": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Report-specific options. \u003cspan pulumi-lang-nodejs=\"`permissionAudit`\" pulumi-lang-dotnet=\"`PermissionAudit`\" pulumi-lang-go=\"`permissionAudit`\" pulumi-lang-python=\"`permission_audit`\" pulumi-lang-yaml=\"`permissionAudit`\" pulumi-lang-java=\"`permissionAudit`\" pulumi-lang-hcl=\"`permission_audit`\"\u003e`permissionAudit`\u003c/span\u003e supports \u003cspan pulumi-lang-nodejs=\"`groupBy`\" pulumi-lang-dotnet=\"`GroupBy`\" pulumi-lang-go=\"`groupBy`\" pulumi-lang-python=\"`group_by`\" pulumi-lang-yaml=\"`groupBy`\" pulumi-lang-java=\"`groupBy`\" pulumi-lang-hcl=\"`group_by`\"\u003e`groupBy`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\" pulumi-lang-hcl=\"`user`\"\u003e`user`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e.\n"
                    },
                    "exportType": {
                        "description": "Export report type. Valid values: folder*size*audit, group*membership*audit, permission*audit, share*link_audit\n",
                        "type": "string"
                    },
                    "holidayRegion": {
                        "description": "Optional holiday region used by the scheduled export schedule.\n",
                        "type": "string"
                    },
                    "humanReadableSchedule": {
                        "description": "Human-readable schedule description.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Scheduled Export ID\n",
                        "type": "integer"
                    },
                    "interval": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies how often to run the scheduled export.\n",
                        "type": "string"
                    },
                    "lastExportId": {
                        "description": "Most recent Export ID created by this schedule.\n",
                        "type": "integer"
                    },
                    "lastRunAt": {
                        "description": "Most recent scheduled run time.\n",
                        "type": "string"
                    },
                    "name": {
                        "description": "Name for this scheduled export.\n",
                        "type": "string"
                    },
                    "recurringDay": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this selects the day number inside the chosen interval.\n",
                        "type": "integer"
                    },
                    "recurringDays": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this selects one or more day numbers inside a \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e interval.\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "reportName": {
                        "description": "Human-readable report name.\n",
                        "type": "string"
                    },
                    "scheduleDaysOfWeeks": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the 0-based weekdays used by the schedule.\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "scheduleId": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the reusable Schedule used instead of the scheduled export's schedule fields.\n",
                        "type": "integer"
                    },
                    "scheduleTimeZone": {
                        "description": "Time zone used by the scheduled export schedule.\n",
                        "type": "string"
                    },
                    "scheduleTimesOfDays": {
                        "description": "Times of day in HH:MM format for the scheduled export schedule.\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "trigger": {
                        "description": "Schedule trigger type: \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e.\n",
                        "type": "string"
                    },
                    "updatedAt": {
                        "description": "Last update time.\n",
                        "type": "string"
                    },
                    "userId": {
                        "description": "Site Admin user who receives the completed export e-mail.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "createdAt",
                    "disabled",
                    "exportOptions",
                    "exportType",
                    "holidayRegion",
                    "humanReadableSchedule",
                    "id",
                    "interval",
                    "lastExportId",
                    "lastRunAt",
                    "name",
                    "recurringDay",
                    "recurringDays",
                    "reportName",
                    "scheduleDaysOfWeeks",
                    "scheduleId",
                    "scheduleTimeZone",
                    "scheduleTimesOfDays",
                    "trigger",
                    "updatedAt",
                    "userId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getScimLog:getScimLog": {
            "description": "A SCIM log entry represents a single SCIM request made to the system. It includes the request made and response provided to the SCIM client.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleScimLog = filescom.getScimLog({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_scim_log = filescom.get_scim_log(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleScimLog = Filescom.GetScimLog.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetScimLog(ctx, \u0026filescom.GetScimLogArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getscimlog\" \"exampleScimLog\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetScimLogArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleScimLog = FilescomFunctions.getScimLog(GetScimLogArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleScimLog:\n    fn::invoke:\n      function: filescom:getScimLog\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getScimLog.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The unique ID of this SCIM request.\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getScimLog.\n",
                "properties": {
                    "createdAt": {
                        "description": "The date and time when this SCIM request occurred.\n",
                        "type": "string"
                    },
                    "httpResponseCode": {
                        "description": "The HTTP response code returned for this request.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "The unique ID of this SCIM request.\n",
                        "type": "integer"
                    },
                    "requestJson": {
                        "description": "The JSON payload sent with the request.\n",
                        "type": "string"
                    },
                    "requestMethod": {
                        "description": "The HTTP method used for this request.\n",
                        "type": "string"
                    },
                    "requestPath": {
                        "description": "The path portion of the URL requested.\n",
                        "type": "string"
                    },
                    "responseJson": {
                        "description": "The JSON payload returned in the response.\n",
                        "type": "string"
                    },
                    "userAgent": {
                        "description": "The User-Agent header sent with the request.\n",
                        "type": "string"
                    }
                },
                "required": [
                    "createdAt",
                    "httpResponseCode",
                    "id",
                    "requestJson",
                    "requestMethod",
                    "requestPath",
                    "responseJson",
                    "userAgent"
                ],
                "type": "object"
            }
        },
        "filescom:index/getSecret:getSecret": {
            "description": "A Secret stores named, typed secret material for later use by features that reference the Secret by ID.\n\n\n\nSecret values are encrypted at rest and are write-only. API responses include metadata and configured value field names, but never include the stored secret values.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleSecret = filescom.getSecret({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_secret = filescom.get_secret(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleSecret = Filescom.GetSecret.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetSecret(ctx, \u0026filescom.LookupSecretArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getsecret\" \"exampleSecret\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetSecretArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleSecret = FilescomFunctions.getSecret(GetSecretArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleSecret:\n    fn::invoke:\n      function: filescom:getSecret\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getSecret.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Secret ID.\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getSecret.\n",
                "properties": {
                    "createdAt": {
                        "description": "Secret create date/time.\n",
                        "type": "string"
                    },
                    "description": {
                        "description": "Internal description for your reference.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Secret ID.\n",
                        "type": "integer"
                    },
                    "metadata": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Non-secret metadata for the Secret type.\n"
                    },
                    "name": {
                        "description": "Secret name.\n",
                        "type": "string"
                    },
                    "secretType": {
                        "description": "Secret type.\n",
                        "type": "string"
                    },
                    "updatedAt": {
                        "description": "Secret update date/time.\n",
                        "type": "string"
                    },
                    "valueFieldNames": {
                        "description": "Names of configured secret value fields. Secret values are never returned.\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "workspaceId": {
                        "description": "Workspace ID. 0 means the default workspace.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "createdAt",
                    "description",
                    "id",
                    "metadata",
                    "name",
                    "secretType",
                    "updatedAt",
                    "valueFieldNames",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getSftpHostKey:getSftpHostKey": {
            "description": "An SFTP Host Key is a cryptographic key used to verify the identity of the server during an SFTP connection. This allows the client to be sure that it is connecting to the intended server, preventing man-in-the-middle attacks and ensuring secure communication between the client and Files.com.\n\n\n\nFiles.com allows you to provide custom SFTP Host Keys, which is particularly useful when migrating to Files.com from an existing SFTP server, allowing the Files.com platform to match your previously-installed host key for a seamless transition.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleSftpHostKey = filescom.getSftpHostKey({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_sftp_host_key = filescom.get_sftp_host_key(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleSftpHostKey = Filescom.GetSftpHostKey.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetSftpHostKey(ctx, \u0026filescom.LookupSftpHostKeyArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getsftphostkey\" \"exampleSftpHostKey\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetSftpHostKeyArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleSftpHostKey = FilescomFunctions.getSftpHostKey(GetSftpHostKeyArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleSftpHostKey:\n    fn::invoke:\n      function: filescom:getSftpHostKey\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getSftpHostKey.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "SFTP Host Key ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getSftpHostKey.\n",
                "properties": {
                    "fingerprintMd5": {
                        "description": "MD5 Fingerprint of the public key\n",
                        "type": "string"
                    },
                    "fingerprintSha256": {
                        "description": "SHA256 Fingerprint of the public key\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "SFTP Host Key ID\n",
                        "type": "integer"
                    },
                    "name": {
                        "description": "The friendly name of this SFTP Host Key.\n",
                        "type": "string"
                    }
                },
                "required": [
                    "fingerprintMd5",
                    "fingerprintSha256",
                    "id",
                    "name"
                ],
                "type": "object"
            }
        },
        "filescom:index/getShareGroup:getShareGroup": {
            "description": "A ShareGroup is a way for you to store and name groups of email contacts to be used for sending share and inbox invitations.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleShareGroup = filescom.getShareGroup({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_share_group = filescom.get_share_group(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleShareGroup = Filescom.GetShareGroup.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetShareGroup(ctx, \u0026filescom.LookupShareGroupArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getsharegroup\" \"exampleShareGroup\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetShareGroupArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleShareGroup = FilescomFunctions.getShareGroup(GetShareGroupArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleShareGroup:\n    fn::invoke:\n      function: filescom:getShareGroup\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getShareGroup.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Share Group ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getShareGroup.\n",
                "properties": {
                    "id": {
                        "description": "Share Group ID\n",
                        "type": "integer"
                    },
                    "members": {
                        "$ref": "pulumi.json#/Any",
                        "description": "A list of share group members\n"
                    },
                    "name": {
                        "description": "Name of the share group\n",
                        "type": "string"
                    },
                    "notes": {
                        "description": "Additional notes of the share group\n",
                        "type": "string"
                    },
                    "userId": {
                        "description": "Owner User ID\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "id",
                    "members",
                    "name",
                    "notes",
                    "userId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getSiemHttpDestination:getSiemHttpDestination": {
            "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleSiemHttpDestination = filescom.getSiemHttpDestination({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_siem_http_destination = filescom.get_siem_http_destination(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleSiemHttpDestination = Filescom.GetSiemHttpDestination.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetSiemHttpDestination(ctx, \u0026filescom.LookupSiemHttpDestinationArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getsiemhttpdestination\" \"exampleSiemHttpDestination\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetSiemHttpDestinationArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleSiemHttpDestination = FilescomFunctions.getSiemHttpDestination(GetSiemHttpDestinationArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleSiemHttpDestination:\n    fn::invoke:\n      function: filescom:getSiemHttpDestination\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getSiemHttpDestination.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "SIEM HTTP Destination ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getSiemHttpDestination.\n",
                "properties": {
                    "actionEntriesSent": {
                        "description": "Number of log entries sent for the lifetime of this destination.\n",
                        "type": "integer"
                    },
                    "actionSendEnabled": {
                        "description": "Whether or not sending is enabled for action logs.\n",
                        "type": "boolean"
                    },
                    "additionalHeaders": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Additional HTTP Headers included in calls to the destination URL\n"
                    },
                    "apiRequestEntriesSent": {
                        "description": "Number of log entries sent for the lifetime of this destination.\n",
                        "type": "integer"
                    },
                    "apiRequestSendEnabled": {
                        "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" apiRequest \" pulumi-lang-dotnet=\" ApiRequest \" pulumi-lang-go=\" apiRequest \" pulumi-lang-python=\" api_request \" pulumi-lang-yaml=\" apiRequest \" pulumi-lang-java=\" apiRequest \" pulumi-lang-hcl=\" api_request \"\u003e apiRequest \u003c/span\u003elogs.\n",
                        "type": "boolean"
                    },
                    "automationEntriesSent": {
                        "description": "Number of log entries sent for the lifetime of this destination.\n",
                        "type": "integer"
                    },
                    "automationSendEnabled": {
                        "description": "Whether or not sending is enabled for automation logs.\n",
                        "type": "boolean"
                    },
                    "azureDcrImmutableId": {
                        "description": "Applicable only for destination types: azure, azure_legacy. Immutable ID of the Data Collection Rule.\n",
                        "type": "string"
                    },
                    "azureOauthClientCredentialsClientId": {
                        "description": "Applicable only for destination types: azure, azure_legacy. Client Credentials OAuth Client ID.\n",
                        "type": "string"
                    },
                    "azureOauthClientCredentialsClientSecretMasked": {
                        "description": "Applicable only for destination types: azure, azure_legacy. Client Credentials OAuth Client Secret.\n",
                        "type": "string"
                    },
                    "azureOauthClientCredentialsTenantId": {
                        "description": "Applicable only for destination types: azure, azure_legacy. Client Credentials OAuth Tenant ID.\n",
                        "type": "string"
                    },
                    "azureStreamName": {
                        "description": "Applicable only for destination type: azure. Name of the stream in the DCR that represents the destination table.\n",
                        "type": "string"
                    },
                    "connectionTestEntry": {
                        "description": "Connection Test Entry\n",
                        "type": "string"
                    },
                    "crowdstrikeTokenMasked": {
                        "description": "Applicable only for destination type: crowdstrike. Authentication token provided by Crowdstrike.\n",
                        "type": "string"
                    },
                    "datadogApiKeyMasked": {
                        "description": "Applicable only for destination type: datadog. API key provided by Datadog.\n",
                        "type": "string"
                    },
                    "destinationType": {
                        "description": "Destination Type\n",
                        "type": "string"
                    },
                    "destinationUrl": {
                        "description": "Destination Url\n",
                        "type": "string"
                    },
                    "emailEntriesSent": {
                        "description": "Number of log entries sent for the lifetime of this destination.\n",
                        "type": "integer"
                    },
                    "emailSendEnabled": {
                        "description": "Whether or not sending is enabled for email logs.\n",
                        "type": "boolean"
                    },
                    "exavaultApiRequestEntriesSent": {
                        "description": "Number of log entries sent for the lifetime of this destination.\n",
                        "type": "integer"
                    },
                    "exavaultApiRequestSendEnabled": {
                        "description": "Whether or not sending is enabled for exavault*api*request logs.\n",
                        "type": "boolean"
                    },
                    "fileDestinationPath": {
                        "description": "Applicable only for destination type: file. Destination folder path on Files.com.\n",
                        "type": "string"
                    },
                    "fileFormat": {
                        "description": "Applicable only for destination type: file. Generated file format.\n",
                        "type": "string"
                    },
                    "fileIntervalMinutes": {
                        "description": "Applicable only for destination type: file. Interval, in minutes, between file deliveries.\n",
                        "type": "integer"
                    },
                    "ftpActionEntriesSent": {
                        "description": "Number of log entries sent for the lifetime of this destination.\n",
                        "type": "integer"
                    },
                    "ftpActionSendEnabled": {
                        "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" ftpAction \" pulumi-lang-dotnet=\" FtpAction \" pulumi-lang-go=\" ftpAction \" pulumi-lang-python=\" ftp_action \" pulumi-lang-yaml=\" ftpAction \" pulumi-lang-java=\" ftpAction \" pulumi-lang-hcl=\" ftp_action \"\u003e ftpAction \u003c/span\u003elogs.\n",
                        "type": "boolean"
                    },
                    "genericPayloadType": {
                        "description": "Applicable only for destination type: generic. Indicates the type of HTTP body. Can be json*newline or json*array. json*newline is multiple log entries as JSON separated by newlines. json*array is a single JSON array containing multiple log entries as JSON.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "SIEM HTTP Destination ID\n",
                        "type": "integer"
                    },
                    "lastHttpCallDurationMs": {
                        "description": "Duration of the last HTTP Call in milliseconds\n",
                        "type": "integer"
                    },
                    "lastHttpCallErrorMessage": {
                        "description": "Last HTTP Call Error Message if applicable\n",
                        "type": "string"
                    },
                    "lastHttpCallResponseBody": {
                        "description": "Last HTTP Call Response Body. Large responses are truncated.\n",
                        "type": "string"
                    },
                    "lastHttpCallResponseCode": {
                        "description": "Last HTTP Call Response Code\n",
                        "type": "integer"
                    },
                    "lastHttpCallSuccess": {
                        "description": "Was the last HTTP call made successful?\n",
                        "type": "boolean"
                    },
                    "lastHttpCallTargetType": {
                        "description": "Type of URL that was last called. Can be \u003cspan pulumi-lang-nodejs=\"`destinationUrl`\" pulumi-lang-dotnet=\"`DestinationUrl`\" pulumi-lang-go=\"`destinationUrl`\" pulumi-lang-python=\"`destination_url`\" pulumi-lang-yaml=\"`destinationUrl`\" pulumi-lang-java=\"`destinationUrl`\" pulumi-lang-hcl=\"`destination_url`\"\u003e`destinationUrl`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`azureOauthClientCredentialsUrl`\" pulumi-lang-dotnet=\"`AzureOauthClientCredentialsUrl`\" pulumi-lang-go=\"`azureOauthClientCredentialsUrl`\" pulumi-lang-python=\"`azure_oauth_client_credentials_url`\" pulumi-lang-yaml=\"`azureOauthClientCredentialsUrl`\" pulumi-lang-java=\"`azureOauthClientCredentialsUrl`\" pulumi-lang-hcl=\"`azure_oauth_client_credentials_url`\"\u003e`azureOauthClientCredentialsUrl`\u003c/span\u003e\n",
                        "type": "string"
                    },
                    "lastHttpCallTime": {
                        "description": "Time of Last HTTP Call\n",
                        "type": "string"
                    },
                    "mostRecentHttpCallSuccessTime": {
                        "description": "Time of Most Recent Successful HTTP Call\n",
                        "type": "string"
                    },
                    "name": {
                        "description": "Name for this Destination\n",
                        "type": "string"
                    },
                    "newRelicApiKeyMasked": {
                        "description": "Applicable only for destination type: new_relic. API key provided by New Relic.\n",
                        "type": "string"
                    },
                    "outboundConnectionEntriesSent": {
                        "description": "Number of log entries sent for the lifetime of this destination.\n",
                        "type": "integer"
                    },
                    "outboundConnectionSendEnabled": {
                        "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" outboundConnection \" pulumi-lang-dotnet=\" OutboundConnection \" pulumi-lang-go=\" outboundConnection \" pulumi-lang-python=\" outbound_connection \" pulumi-lang-yaml=\" outboundConnection \" pulumi-lang-java=\" outboundConnection \" pulumi-lang-hcl=\" outbound_connection \"\u003e outboundConnection \u003c/span\u003elogs.\n",
                        "type": "boolean"
                    },
                    "publicHostingRequestEntriesSent": {
                        "description": "Number of log entries sent for the lifetime of this destination.\n",
                        "type": "integer"
                    },
                    "publicHostingRequestSendEnabled": {
                        "description": "Whether or not sending is enabled for public*hosting*request logs.\n",
                        "type": "boolean"
                    },
                    "qradarPasswordMasked": {
                        "description": "Applicable only for destination type: qradar. Basic auth password provided by QRadar.\n",
                        "type": "string"
                    },
                    "qradarUsername": {
                        "description": "Applicable only for destination type: qradar. Basic auth username provided by QRadar.\n",
                        "type": "string"
                    },
                    "sendingActive": {
                        "description": "Whether this SIEM HTTP Destination is currently being sent to or not\n",
                        "type": "boolean"
                    },
                    "settingsChangeEntriesSent": {
                        "description": "Number of log entries sent for the lifetime of this destination.\n",
                        "type": "integer"
                    },
                    "settingsChangeSendEnabled": {
                        "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" settingsChange \" pulumi-lang-dotnet=\" SettingsChange \" pulumi-lang-go=\" settingsChange \" pulumi-lang-python=\" settings_change \" pulumi-lang-yaml=\" settingsChange \" pulumi-lang-java=\" settingsChange \" pulumi-lang-hcl=\" settings_change \"\u003e settingsChange \u003c/span\u003elogs.\n",
                        "type": "boolean"
                    },
                    "sftpActionEntriesSent": {
                        "description": "Number of log entries sent for the lifetime of this destination.\n",
                        "type": "integer"
                    },
                    "sftpActionSendEnabled": {
                        "description": "Whether or not sending is enabled for\u003cspan pulumi-lang-nodejs=\" sftpAction \" pulumi-lang-dotnet=\" SftpAction \" pulumi-lang-go=\" sftpAction \" pulumi-lang-python=\" sftp_action \" pulumi-lang-yaml=\" sftpAction \" pulumi-lang-java=\" sftpAction \" pulumi-lang-hcl=\" sftp_action \"\u003e sftpAction \u003c/span\u003elogs.\n",
                        "type": "boolean"
                    },
                    "solarWindsTokenMasked": {
                        "description": "Applicable only for destination type: solar_winds. Authentication token provided by Solar Winds.\n",
                        "type": "string"
                    },
                    "splunkTokenMasked": {
                        "description": "Applicable only for destination types: splunk, splunk_compatible. Authentication token for the destination.\n",
                        "type": "string"
                    },
                    "syncEntriesSent": {
                        "description": "Number of log entries sent for the lifetime of this destination.\n",
                        "type": "integer"
                    },
                    "syncSendEnabled": {
                        "description": "Whether or not sending is enabled for sync logs.\n",
                        "type": "boolean"
                    },
                    "webDavActionEntriesSent": {
                        "description": "Number of log entries sent for the lifetime of this destination.\n",
                        "type": "integer"
                    },
                    "webDavActionSendEnabled": {
                        "description": "Whether or not sending is enabled for web*dav*action logs.\n",
                        "type": "boolean"
                    }
                },
                "required": [
                    "actionEntriesSent",
                    "actionSendEnabled",
                    "additionalHeaders",
                    "apiRequestEntriesSent",
                    "apiRequestSendEnabled",
                    "automationEntriesSent",
                    "automationSendEnabled",
                    "azureDcrImmutableId",
                    "azureOauthClientCredentialsClientId",
                    "azureOauthClientCredentialsClientSecretMasked",
                    "azureOauthClientCredentialsTenantId",
                    "azureStreamName",
                    "connectionTestEntry",
                    "crowdstrikeTokenMasked",
                    "datadogApiKeyMasked",
                    "destinationType",
                    "destinationUrl",
                    "emailEntriesSent",
                    "emailSendEnabled",
                    "exavaultApiRequestEntriesSent",
                    "exavaultApiRequestSendEnabled",
                    "fileDestinationPath",
                    "fileFormat",
                    "fileIntervalMinutes",
                    "ftpActionEntriesSent",
                    "ftpActionSendEnabled",
                    "genericPayloadType",
                    "id",
                    "lastHttpCallDurationMs",
                    "lastHttpCallErrorMessage",
                    "lastHttpCallResponseBody",
                    "lastHttpCallResponseCode",
                    "lastHttpCallSuccess",
                    "lastHttpCallTargetType",
                    "lastHttpCallTime",
                    "mostRecentHttpCallSuccessTime",
                    "name",
                    "newRelicApiKeyMasked",
                    "outboundConnectionEntriesSent",
                    "outboundConnectionSendEnabled",
                    "publicHostingRequestEntriesSent",
                    "publicHostingRequestSendEnabled",
                    "qradarPasswordMasked",
                    "qradarUsername",
                    "sendingActive",
                    "settingsChangeEntriesSent",
                    "settingsChangeSendEnabled",
                    "sftpActionEntriesSent",
                    "sftpActionSendEnabled",
                    "solarWindsTokenMasked",
                    "splunkTokenMasked",
                    "syncEntriesSent",
                    "syncSendEnabled",
                    "webDavActionEntriesSent",
                    "webDavActionSendEnabled"
                ],
                "type": "object"
            }
        },
        "filescom:index/getSiemHttpDestinationEvent:getSiemHttpDestinationEvent": {
            "description": "A SiemHttpDestinationEvent is a log record for SIEM publishing failures and recoveries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleSiemHttpDestinationEvent = filescom.getSiemHttpDestinationEvent({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_siem_http_destination_event = filescom.get_siem_http_destination_event(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleSiemHttpDestinationEvent = Filescom.GetSiemHttpDestinationEvent.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetSiemHttpDestinationEvent(ctx, \u0026filescom.GetSiemHttpDestinationEventArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getsiemhttpdestinationevent\" \"exampleSiemHttpDestinationEvent\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetSiemHttpDestinationEventArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleSiemHttpDestinationEvent = FilescomFunctions.getSiemHttpDestinationEvent(GetSiemHttpDestinationEventArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleSiemHttpDestinationEvent:\n    fn::invoke:\n      function: filescom:getSiemHttpDestinationEvent\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getSiemHttpDestinationEvent.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Event ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getSiemHttpDestinationEvent.\n",
                "properties": {
                    "body": {
                        "description": "Event body.\n",
                        "type": "string"
                    },
                    "bodyUrl": {
                        "description": "Link to log file.\n",
                        "type": "string"
                    },
                    "createdAt": {
                        "description": "Event create date/time.\n",
                        "type": "string"
                    },
                    "eventErrors": {
                        "description": "Event errors.\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "eventType": {
                        "description": "Type of SIEM event being recorded.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Event ID\n",
                        "type": "integer"
                    },
                    "siemHttpDestinationId": {
                        "description": "SIEM ID.\n",
                        "type": "integer"
                    },
                    "status": {
                        "description": "Status of event.\n",
                        "type": "string"
                    }
                },
                "required": [
                    "body",
                    "bodyUrl",
                    "createdAt",
                    "eventErrors",
                    "eventType",
                    "id",
                    "siemHttpDestinationId",
                    "status"
                ],
                "type": "object"
            }
        },
        "filescom:index/getSite:getSite": {
            "description": "A Site is the place you'll come to update site settings, as well as manage site-wide API keys.\n\n\n\nMost site settings can be set via the API.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleSite = filescom.getSite({});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_site = filescom.get_site()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleSite = Filescom.GetSite.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetSite(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getsite\" \"exampleSite\" {\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleSite = FilescomFunctions.getSite(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleSite:\n    fn::invoke:\n      function: filescom:getSite\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "outputs": {
                "description": "A collection of values returned by getSite.\n",
                "properties": {
                    "activeSftpHostKeyId": {
                        "description": "Id of the currently selected custom SFTP Host Key\n",
                        "type": "integer"
                    },
                    "additionalTextFileTypes": {
                        "description": "Additional extensions that are considered text files\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "adminUserId": {
                        "description": "User ID for the main site administrator\n",
                        "type": "integer"
                    },
                    "adminsBypassLockedSubfolders": {
                        "description": "Allow admins to bypass the locked subfolders setting.\n",
                        "type": "boolean"
                    },
                    "aiFeatureAvailability": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Availability settings for AI features by user class\n"
                    },
                    "allowBundleNames": {
                        "description": "Are manual Bundle names allowed?\n",
                        "type": "boolean"
                    },
                    "allowUserLevel2faOverride": {
                        "description": "Allow the site-wide two-factor authentication requirement to be overriden on a per-user-basis?\n",
                        "type": "boolean"
                    },
                    "allowUserLevelAllowedIpOverride": {
                        "description": "Allow the site-wide allowed IP restriction to be overriden on a per-user-basis?\n",
                        "type": "boolean"
                    },
                    "allowUserLevelSslOverride": {
                        "description": "Allow the site-wide FTP SSL requirement to be overriden on a per-user-basis?\n",
                        "type": "boolean"
                    },
                    "allowed2faMethodBypassForFtpSftpDav": {
                        "description": "Are users allowed to configure their two factor authentication to be bypassed for FTP/SFTP/WebDAV?\n",
                        "type": "boolean"
                    },
                    "allowed2faMethodEmail": {
                        "description": "Is OTP via email two factor authentication allowed?\n",
                        "type": "boolean"
                    },
                    "allowed2faMethodSms": {
                        "description": "Is SMS two factor authentication allowed?\n",
                        "type": "boolean"
                    },
                    "allowed2faMethodStatic": {
                        "description": "Is OTP via static codes for two factor authentication allowed?\n",
                        "type": "boolean"
                    },
                    "allowed2faMethodTotp": {
                        "description": "Is TOTP two factor authentication allowed?\n",
                        "type": "boolean"
                    },
                    "allowed2faMethodWebauthn": {
                        "description": "Is WebAuthn two factor authentication allowed?\n",
                        "type": "boolean"
                    },
                    "allowed2faMethodYubi": {
                        "description": "Is yubikey two factor authentication allowed?\n",
                        "type": "boolean"
                    },
                    "allowedCountries": {
                        "description": "Comma separated list of allowed Country codes\n",
                        "type": "string"
                    },
                    "allowedIps": {
                        "description": "List of allowed IP addresses\n",
                        "type": "string"
                    },
                    "alwaysMkdirParents": {
                        "description": "Create parent directories if they do not exist during uploads?  This is primarily used to work around broken upload clients that assume servers will perform this step.\n",
                        "type": "boolean"
                    },
                    "as2MessageRetentionDays": {
                        "description": "Number of days to retain AS2 messages (incoming and outgoing).\n",
                        "type": "integer"
                    },
                    "askAboutOverwrites": {
                        "description": "If false, rename conflicting files instead of asking for overwrite confirmation.  Only applies to web interface.\n",
                        "type": "boolean"
                    },
                    "bundleActivityNotifications": {
                        "description": "Do Bundle owners receive activity notifications?\n",
                        "type": "string"
                    },
                    "bundleExpiration": {
                        "description": "Site-wide Bundle expiration in days\n",
                        "type": "integer"
                    },
                    "bundleNotFoundMessage": {
                        "description": "Custom error message to show when bundle is not found.\n",
                        "type": "string"
                    },
                    "bundlePasswordRequired": {
                        "description": "Do Bundles require password protection?\n",
                        "type": "boolean"
                    },
                    "bundleRecipientBlacklistDomains": {
                        "description": "List of email domains to disallow when entering a Bundle/Inbox recipients\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "bundleRecipientBlacklistFreeEmailDomains": {
                        "description": "Disallow free email domains for Bundle/Inbox recipients?\n",
                        "type": "boolean"
                    },
                    "bundleRegistrationNotifications": {
                        "description": "Do Bundle owners receive registration notification?\n",
                        "type": "string"
                    },
                    "bundleRequireNote": {
                        "description": "Do Bundles require internal notes?\n",
                        "type": "boolean"
                    },
                    "bundleRequireRegistration": {
                        "description": "Do Bundles require registration?\n",
                        "type": "boolean"
                    },
                    "bundleRequireShareRecipient": {
                        "description": "Do Bundles require recipients for sharing?\n",
                        "type": "boolean"
                    },
                    "bundleSendOneTimePasswordToRecipientAtRegistration": {
                        "description": "If true, new Share Links must send a one-time password to the recipient when they register. Requires bundle*require*share*recipient and cannot be enabled with bundle*password_required.\n",
                        "type": "boolean"
                    },
                    "bundleSendSharedReceipts": {
                        "description": "Do Bundle creators receive receipts of invitations?\n",
                        "type": "boolean"
                    },
                    "bundleUploadReceiptNotifications": {
                        "description": "Do Bundle uploaders receive upload confirmation notifications?\n",
                        "type": "string"
                    },
                    "bundleWatermarkAttachment": {
                        "description": "Preview watermark image applied to all bundle items.\n",
                        "type": "string"
                    },
                    "bundleWatermarkValue": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Preview watermark settings applied to all bundle items. Uses the same keys as Behavior.value\n"
                    },
                    "bundlesDefaultOwnedByPrimaryGroup": {
                        "description": "If true, new Share Links created by a user with a primary group will default to that group as owner.\n",
                        "type": "boolean"
                    },
                    "calculateFileChecksumsCrc32": {
                        "description": "Calculate CRC32 checksums for files?\n",
                        "type": "boolean"
                    },
                    "calculateFileChecksumsMd5": {
                        "description": "Calculate MD5 checksums for files?\n",
                        "type": "boolean"
                    },
                    "calculateFileChecksumsSha1": {
                        "description": "Calculate SHA1 checksums for files?\n",
                        "type": "boolean"
                    },
                    "calculateFileChecksumsSha256": {
                        "description": "Calculate SHA256 checksums for files?\n",
                        "type": "boolean"
                    },
                    "color2Left": {
                        "description": "Page link and button color\n",
                        "type": "string"
                    },
                    "color2Link": {
                        "description": "Top bar link color\n",
                        "type": "string"
                    },
                    "color2Text": {
                        "description": "Page link and button color\n",
                        "type": "string"
                    },
                    "color2Top": {
                        "description": "Top bar background color\n",
                        "type": "string"
                    },
                    "color2TopText": {
                        "description": "Top bar text color\n",
                        "type": "string"
                    },
                    "contactName": {
                        "description": "Site main contact name\n",
                        "type": "string"
                    },
                    "createdAt": {
                        "description": "Time this site was created\n",
                        "type": "string"
                    },
                    "currency": {
                        "description": "Preferred currency\n",
                        "type": "string"
                    },
                    "customNamespace": {
                        "description": "Is this site using a custom namespace for users?\n",
                        "type": "boolean"
                    },
                    "davEnabled": {
                        "description": "Is WebDAV enabled?\n",
                        "type": "boolean"
                    },
                    "davUserRootEnabled": {
                        "description": "Use user FTP roots also for WebDAV?\n",
                        "type": "boolean"
                    },
                    "daysToRetainBackups": {
                        "description": "Number of days to keep deleted files\n",
                        "type": "integer"
                    },
                    "defaultTimeZone": {
                        "description": "Site default time zone\n",
                        "type": "string"
                    },
                    "desktopApp": {
                        "description": "Is the desktop app enabled?\n",
                        "type": "boolean"
                    },
                    "desktopAppSessionIpPinning": {
                        "description": "Is desktop app session IP pinning enabled?\n",
                        "type": "boolean"
                    },
                    "desktopAppSessionLifetime": {
                        "description": "Desktop app session lifetime (in hours)\n",
                        "type": "integer"
                    },
                    "disableAllAiFeatures": {
                        "description": "If true, all AI features are disabled for this site.\n",
                        "type": "boolean"
                    },
                    "disableFilesCertificateGeneration": {
                        "description": "If set, Files.com will not set the CAA records required to generate future SSL certificates for this domain.\n",
                        "type": "boolean"
                    },
                    "disableNotifications": {
                        "description": "Are notifications disabled?\n",
                        "type": "boolean"
                    },
                    "disablePasswordReset": {
                        "description": "Is password reset disabled?\n",
                        "type": "boolean"
                    },
                    "disallowedCountries": {
                        "description": "Comma separated list of disallowed Country codes\n",
                        "type": "string"
                    },
                    "documentEditsInBundleAllowed": {
                        "description": "If true, allow public viewers of Bundles with full permissions to use document editing integrations.\n",
                        "type": "boolean"
                    },
                    "domain": {
                        "description": "Custom domain\n",
                        "type": "string"
                    },
                    "domainHstsHeader": {
                        "description": "Send HSTS (HTTP Strict Transport Security) header when visitors access the site via a custom domain?\n",
                        "type": "boolean"
                    },
                    "domainLetsencryptChain": {
                        "description": "Letsencrypt chain to use when registering SSL Certificate for domain. No longer used as of 2026.\n",
                        "type": "string"
                    },
                    "email": {
                        "description": "Main email for this site\n",
                        "type": "string"
                    },
                    "emailFooterCustomText": {
                        "description": "Custom footer text for system-generated emails. Supports standard strftime date/time patterns like %Y (4-digit year), %m (month), %d (day).\n",
                        "type": "string"
                    },
                    "fedramp": {
                        "description": "Are FedRAMP security restrictions enabled for this site?\n",
                        "type": "boolean"
                    },
                    "folderPermissionsGroupsOnly": {
                        "description": "If true, permissions for this site must be bound to a group (not a user).\n",
                        "type": "boolean"
                    },
                    "ftpEnabled": {
                        "description": "Is FTP enabled?\n",
                        "type": "boolean"
                    },
                    "groupAdminsCanAddUsers": {
                        "description": "Allow group admins to create users in their groups\n",
                        "type": "boolean"
                    },
                    "groupAdminsCanBypassUserLifecycleRules": {
                        "description": "Allow group admins to exempt users in their groups from lifecycle rules\n",
                        "type": "boolean"
                    },
                    "groupAdminsCanDeleteUsers": {
                        "description": "Allow group admins to delete users in their groups\n",
                        "type": "boolean"
                    },
                    "groupAdminsCanEnableDisableUsers": {
                        "description": "Allow group admins to enable or disable users in their groups\n",
                        "type": "boolean"
                    },
                    "groupAdminsCanManageGroupMemberships": {
                        "description": "Allow group admins to add or remove existing users in their groups\n",
                        "type": "boolean"
                    },
                    "groupAdminsCanModifyUsers": {
                        "description": "Allow group admins to modify users in their groups\n",
                        "type": "boolean"
                    },
                    "groupAdminsCanResetPasswords": {
                        "description": "Allow group admins to reset passwords for users in their groups\n",
                        "type": "boolean"
                    },
                    "groupAdminsCanSetUserPassword": {
                        "description": "Allow group admins to set password authentication method\n",
                        "type": "boolean"
                    },
                    "hipaa": {
                        "description": "Is there a signed HIPAA BAA between Files.com and this site?\n",
                        "type": "boolean"
                    },
                    "icon128": {
                        "description": "Branded icon 128x128\n",
                        "type": "string"
                    },
                    "icon16": {
                        "description": "Branded icon 16x16\n",
                        "type": "string"
                    },
                    "icon32": {
                        "description": "Branded icon 32x32\n",
                        "type": "string"
                    },
                    "icon48": {
                        "description": "Branded icon 48x48\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Site Id\n",
                        "type": "integer"
                    },
                    "immutableFilesSetAt": {
                        "description": "Can files be modified?\n",
                        "type": "string"
                    },
                    "includePasswordInWelcomeEmail": {
                        "description": "Include password in emails to new users?\n",
                        "type": "boolean"
                    },
                    "language": {
                        "description": "Site default language\n",
                        "type": "string"
                    },
                    "ldapBaseDn": {
                        "description": "Base DN for looking up users in LDAP server\n",
                        "type": "string"
                    },
                    "ldapDomain": {
                        "description": "Domain name that will be appended to usernames\n",
                        "type": "string"
                    },
                    "ldapEnabled": {
                        "description": "Main LDAP setting: is LDAP enabled?\n",
                        "type": "boolean"
                    },
                    "ldapGroupAction": {
                        "description": "Should we sync groups from LDAP server?\n",
                        "type": "string"
                    },
                    "ldapGroupExclusion": {
                        "description": "Comma or newline separated list of group names (with optional wildcards) to exclude when syncing.\n",
                        "type": "string"
                    },
                    "ldapGroupInclusion": {
                        "description": "Comma or newline separated list of group names (with optional wildcards) to include when syncing.\n",
                        "type": "string"
                    },
                    "ldapHost": {
                        "description": "LDAP host\n",
                        "type": "string"
                    },
                    "ldapHost2": {
                        "description": "LDAP backup host\n",
                        "type": "string"
                    },
                    "ldapHost3": {
                        "description": "LDAP backup host\n",
                        "type": "string"
                    },
                    "ldapPort": {
                        "description": "LDAP port\n",
                        "type": "integer"
                    },
                    "ldapSecure": {
                        "description": "Use secure LDAP?\n",
                        "type": "boolean"
                    },
                    "ldapType": {
                        "description": "LDAP type\n",
                        "type": "string"
                    },
                    "ldapUserAction": {
                        "description": "Should we sync users from LDAP server?\n",
                        "type": "string"
                    },
                    "ldapUserIncludeGroups": {
                        "description": "Comma or newline separated list of group names (with optional wildcards) - if provided, only users in these groups will be added or synced.\n",
                        "type": "string"
                    },
                    "ldapUsername": {
                        "description": "Username for signing in to LDAP server.\n",
                        "type": "string"
                    },
                    "ldapUsernameField": {
                        "description": "LDAP username field\n",
                        "type": "string"
                    },
                    "legacyChecksumsMode": {
                        "description": "Use legacy checksums mode?\n",
                        "type": "boolean"
                    },
                    "loginHelpText": {
                        "description": "Login help text\n",
                        "type": "string"
                    },
                    "loginPageBackgroundImage": {
                        "description": "Branded login page background\n",
                        "type": "string"
                    },
                    "logo": {
                        "description": "Branded logo\n",
                        "type": "string"
                    },
                    "managedSiteSettings": {
                        "$ref": "pulumi.json#/Any",
                        "description": "List of site settings managed by the parent site\n"
                    },
                    "maxPriorPasswords": {
                        "description": "Number of prior passwords to disallow\n",
                        "type": "integer"
                    },
                    "mcpDcrEnabled": {
                        "description": "Is OAuth DCR (dynamic client registration) for MCP enabled?\n",
                        "type": "boolean"
                    },
                    "migrateRemoteServerSyncToSync": {
                        "description": "If true, we will migrate all remote server syncs to the new Sync model.\n",
                        "type": "boolean"
                    },
                    "mobileApp": {
                        "description": "Is the mobile app enabled?\n",
                        "type": "boolean"
                    },
                    "mobileAppSessionIpPinning": {
                        "description": "Is mobile app session IP pinning enabled?\n",
                        "type": "boolean"
                    },
                    "mobileAppSessionLifetime": {
                        "description": "Mobile app session lifetime (in hours)\n",
                        "type": "integer"
                    },
                    "motdText": {
                        "description": "A message to show users when they connect via FTP or SFTP.\n",
                        "type": "string"
                    },
                    "motdUseForFtp": {
                        "description": "Show message to users connecting via FTP\n",
                        "type": "boolean"
                    },
                    "motdUseForSftp": {
                        "description": "Show message to users connecting via SFTP\n",
                        "type": "boolean"
                    },
                    "name": {
                        "description": "Site name\n",
                        "type": "string"
                    },
                    "nextBillingAmount": {
                        "description": "Next billing amount\n",
                        "type": "string"
                    },
                    "nextBillingDate": {
                        "description": "Next billing date\n",
                        "type": "string"
                    },
                    "nonSsoGroupsAllowed": {
                        "description": "If true, groups can be manually created / modified / deleted by Site Admins. Otherwise, groups can only be managed via your SSO provider.\n",
                        "type": "boolean"
                    },
                    "nonSsoUsersAllowed": {
                        "description": "If true, users can be manually created / modified / deleted by Site Admins. Otherwise, users can only be managed via your SSO provider.\n",
                        "type": "boolean"
                    },
                    "officeIntegrationAvailable": {
                        "description": "If true, allows users to use a document editing integration.\n",
                        "type": "boolean"
                    },
                    "officeIntegrationType": {
                        "description": "Which document editing integration to support. Files.com Editor or Microsoft Office for the Web.\n",
                        "type": "string"
                    },
                    "oncehubLink": {
                        "description": "Link to scheduling a meeting with our Sales team\n",
                        "type": "string"
                    },
                    "optOutGlobal": {
                        "description": "Use servers in the USA only?\n",
                        "type": "boolean"
                    },
                    "overdue": {
                        "description": "Is this site's billing overdue?\n",
                        "type": "boolean"
                    },
                    "passwordMinLength": {
                        "description": "Shortest password length for users\n",
                        "type": "integer"
                    },
                    "passwordRequireLetter": {
                        "description": "Require a letter in passwords?\n",
                        "type": "boolean"
                    },
                    "passwordRequireMixed": {
                        "description": "Require lower and upper case letters in passwords?\n",
                        "type": "boolean"
                    },
                    "passwordRequireNumber": {
                        "description": "Require a number in passwords?\n",
                        "type": "boolean"
                    },
                    "passwordRequireSpecial": {
                        "description": "Require special characters in password?\n",
                        "type": "boolean"
                    },
                    "passwordRequireUnbreached": {
                        "description": "Require passwords that have not been previously breached? (see https://haveibeenpwned.com/)\n",
                        "type": "boolean"
                    },
                    "passwordRequirementsApplyToBundles": {
                        "description": "Require bundles' passwords, and passwords for other items (inboxes, public shares, etc.) to conform to the same requirements as users' passwords?\n",
                        "type": "boolean"
                    },
                    "passwordValidityDays": {
                        "description": "Number of days password is valid\n",
                        "type": "integer"
                    },
                    "phone": {
                        "description": "Site phone number\n",
                        "type": "string"
                    },
                    "pinAllRemoteServersToSiteRegion": {
                        "description": "If true, we will ensure that all internal communications with any remote server are made through the primary region of the site. This setting overrides individual remote server settings.\n",
                        "type": "boolean"
                    },
                    "preventRootPermissionsForNonSiteAdmins": {
                        "description": "If true, we will prevent non-administrators from receiving any permissions directly on the root folder.  This is commonly used to prevent the accidental application of permissions.\n",
                        "type": "boolean"
                    },
                    "protocolAccessGroupsOnly": {
                        "description": "If true, protocol access permissions on users will be ignored, and only protocol access permissions set on Groups will be honored.  Make sure that your current user is a member of a group with API permission when changing this value to avoid locking yourself out of your site.\n",
                        "type": "boolean"
                    },
                    "replyToEmail": {
                        "description": "Reply-to email for this site\n",
                        "type": "string"
                    },
                    "require2fa": {
                        "description": "Require two-factor authentication for all users?\n",
                        "type": "boolean"
                    },
                    "require2faExemptAllSsoUsers": {
                        "description": "If true, SSO users using the default user-level two-factor authentication setting are exempt from the site-wide two-factor authentication requirement.\n",
                        "type": "boolean"
                    },
                    "require2faStopTime": {
                        "description": "If set, requirement for two-factor authentication has been scheduled to end on this date-time.\n",
                        "type": "string"
                    },
                    "require2faUserType": {
                        "description": "What type of user is required to use two-factor authentication (when\u003cspan pulumi-lang-nodejs=\" require2fa \" pulumi-lang-dotnet=\" Require2fa \" pulumi-lang-go=\" require2fa \" pulumi-lang-python=\" require_2fa \" pulumi-lang-yaml=\" require2fa \" pulumi-lang-java=\" require2fa \" pulumi-lang-hcl=\" require_2fa \"\u003e require2fa \u003c/span\u003eis set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e for this site)?\n",
                        "type": "string"
                    },
                    "requireLogoutFromBundlesAndInboxes": {
                        "description": "If true, we will hide the 'Remember Me' box on Inbox and Bundle registration pages, requiring that the user logout and log back in every time they visit the page.\n",
                        "type": "boolean"
                    },
                    "restrictRootFolderBehaviorsToSiteAdmins": {
                        "description": "If true, only site admins may create, modify, or delete any behavior at the site root, or a skip that would disable one.\n",
                        "type": "boolean"
                    },
                    "revokeBundleAccessOnDisableOrDelete": {
                        "description": "Auto-removes bundles for disabled/deleted users and enforces bundle expiry within user access period.\n",
                        "type": "boolean"
                    },
                    "rootFolderBehaviorsApplyToWorkspaces": {
                        "description": "If true, supported protective behaviors at the site root also apply within named workspaces. Requires restrict*root*folder*behaviors*to*site*admins to be enabled.\n",
                        "type": "boolean"
                    },
                    "session": {
                        "description": "Current session\n",
                        "type": "string"
                    },
                    "sessionExpiryMinutes": {
                        "description": "Session expiry in minutes\n",
                        "type": "integer"
                    },
                    "sftpEnabled": {
                        "description": "Is SFTP enabled?\n",
                        "type": "boolean"
                    },
                    "sftpFinalizePartialUploads": {
                        "description": "Finalize partial SFTP uploads from interrupted connections? Default: true.\n",
                        "type": "boolean"
                    },
                    "sftpHostKeyType": {
                        "description": "Sftp Host Key Type\n",
                        "type": "string"
                    },
                    "sftpInsecureCiphers": {
                        "description": "If true, we will allow weak and known insecure ciphers to be used for SFTP connections.  Enabling this setting severely weakens the security of your site and it is not recommend, except as a last resort for compatibility.\n",
                        "type": "boolean"
                    },
                    "sftpInsecureDiffieHellman": {
                        "description": "If true, we will allow weak Diffie Hellman parameters to be used within ciphers for SFTP that are otherwise on our secure list.  This has the effect of making the cipher weaker than our normal threshold for security, but is required to support certain legacy or broken SSH and MFT clients.  Enabling this weakens security, but not nearly as much as enabling the full \u003cspan pulumi-lang-nodejs=\"`sftpInsecureCiphers`\" pulumi-lang-dotnet=\"`SftpInsecureCiphers`\" pulumi-lang-go=\"`sftpInsecureCiphers`\" pulumi-lang-python=\"`sftp_insecure_ciphers`\" pulumi-lang-yaml=\"`sftpInsecureCiphers`\" pulumi-lang-java=\"`sftpInsecureCiphers`\" pulumi-lang-hcl=\"`sftp_insecure_ciphers`\"\u003e`sftpInsecureCiphers`\u003c/span\u003e option.\n",
                        "type": "boolean"
                    },
                    "sftpUserRootEnabled": {
                        "description": "Use user FTP roots also for SFTP?\n",
                        "type": "boolean"
                    },
                    "sharingEnabled": {
                        "description": "Allow bundle creation\n",
                        "type": "boolean"
                    },
                    "showRequestAccessLink": {
                        "description": "Show request access link for users without access?  Currently unused.\n",
                        "type": "boolean"
                    },
                    "showUserNotificationsLogInLink": {
                        "description": "Show log in link in user notifications?\n",
                        "type": "boolean"
                    },
                    "siteFooter": {
                        "description": "Custom site footer text for authenticated pages\n",
                        "type": "string"
                    },
                    "siteHeader": {
                        "description": "Custom site header text for authenticated pages\n",
                        "type": "string"
                    },
                    "sitePublicFooter": {
                        "description": "Custom site footer text for public pages\n",
                        "type": "string"
                    },
                    "sitePublicHeader": {
                        "description": "Custom site header text for public pages\n",
                        "type": "string"
                    },
                    "smtpAddress": {
                        "description": "SMTP server hostname or IP\n",
                        "type": "string"
                    },
                    "smtpAuthentication": {
                        "description": "SMTP server authentication type\n",
                        "type": "string"
                    },
                    "smtpFrom": {
                        "description": "From address to use when mailing through custom SMTP\n",
                        "type": "string"
                    },
                    "smtpPort": {
                        "description": "SMTP server port\n",
                        "type": "integer"
                    },
                    "smtpUsername": {
                        "description": "SMTP server username\n",
                        "type": "string"
                    },
                    "snapshotSharingEnabled": {
                        "description": "Allow snapshot share links creation\n",
                        "type": "boolean"
                    },
                    "sslRequired": {
                        "description": "Is SSL required?  Disabling this is insecure.\n",
                        "type": "boolean"
                    },
                    "subdomain": {
                        "description": "Site subdomain\n",
                        "type": "string"
                    },
                    "switchToPlanDate": {
                        "description": "If switching plans, when does the new plan take effect?\n",
                        "type": "string"
                    },
                    "trialDaysLeft": {
                        "description": "Number of days left in trial\n",
                        "type": "integer"
                    },
                    "trialUntil": {
                        "description": "When does this Site trial expire?\n",
                        "type": "string"
                    },
                    "uploadsViaEmailAuthentication": {
                        "description": "Do incoming emails in the Inboxes require checking for SPF/DKIM/DMARC?\n",
                        "type": "boolean"
                    },
                    "useDedicatedIpsForSmtp": {
                        "description": "If using custom SMTP, should we use dedicated IPs to deliver emails?\n",
                        "type": "boolean"
                    },
                    "useProvidedModifiedAt": {
                        "description": "Allow uploaders to set \u003cspan pulumi-lang-nodejs=\"`providedModifiedAt`\" pulumi-lang-dotnet=\"`ProvidedModifiedAt`\" pulumi-lang-go=\"`providedModifiedAt`\" pulumi-lang-python=\"`provided_modified_at`\" pulumi-lang-yaml=\"`providedModifiedAt`\" pulumi-lang-java=\"`providedModifiedAt`\" pulumi-lang-hcl=\"`provided_modified_at`\"\u003e`providedModifiedAt`\u003c/span\u003e for uploaded files?\n",
                        "type": "boolean"
                    },
                    "user": {
                        "description": "User of current session\n",
                        "type": "string"
                    },
                    "userLockout": {
                        "description": "Will users be locked out after incorrect login attempts?\n",
                        "type": "boolean"
                    },
                    "userLockoutLockPeriod": {
                        "description": "How many hours to lock user out for failed password?\n",
                        "type": "integer"
                    },
                    "userLockoutTries": {
                        "description": "Number of login tries within \u003cspan pulumi-lang-nodejs=\"`userLockoutWithin`\" pulumi-lang-dotnet=\"`UserLockoutWithin`\" pulumi-lang-go=\"`userLockoutWithin`\" pulumi-lang-python=\"`user_lockout_within`\" pulumi-lang-yaml=\"`userLockoutWithin`\" pulumi-lang-java=\"`userLockoutWithin`\" pulumi-lang-hcl=\"`user_lockout_within`\"\u003e`userLockoutWithin`\u003c/span\u003e hours before users are locked out\n",
                        "type": "integer"
                    },
                    "userLockoutWithin": {
                        "description": "Number of hours for user lockout window\n",
                        "type": "integer"
                    },
                    "userRequestsEnabled": {
                        "description": "Enable User Requests feature\n",
                        "type": "boolean"
                    },
                    "userRequestsNotifyAdmins": {
                        "description": "Send email to site admins when a user request is received?\n",
                        "type": "boolean"
                    },
                    "usernameDisplay": {
                        "description": "How usernames are displayed in the web UI. Can be \u003cspan pulumi-lang-nodejs=\"`usernameOnly`\" pulumi-lang-dotnet=\"`UsernameOnly`\" pulumi-lang-go=\"`usernameOnly`\" pulumi-lang-python=\"`username_only`\" pulumi-lang-yaml=\"`usernameOnly`\" pulumi-lang-java=\"`usernameOnly`\" pulumi-lang-hcl=\"`username_only`\"\u003e`usernameOnly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`fullNameOnly`\" pulumi-lang-dotnet=\"`FullNameOnly`\" pulumi-lang-go=\"`fullNameOnly`\" pulumi-lang-python=\"`full_name_only`\" pulumi-lang-yaml=\"`fullNameOnly`\" pulumi-lang-java=\"`fullNameOnly`\" pulumi-lang-hcl=\"`full_name_only`\"\u003e`fullNameOnly`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`fullNameUsername`\" pulumi-lang-dotnet=\"`FullNameUsername`\" pulumi-lang-go=\"`fullNameUsername`\" pulumi-lang-python=\"`full_name_username`\" pulumi-lang-yaml=\"`fullNameUsername`\" pulumi-lang-java=\"`fullNameUsername`\" pulumi-lang-hcl=\"`full_name_username`\"\u003e`fullNameUsername`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`fullNameCompany`\" pulumi-lang-dotnet=\"`FullNameCompany`\" pulumi-lang-go=\"`fullNameCompany`\" pulumi-lang-python=\"`full_name_company`\" pulumi-lang-yaml=\"`fullNameCompany`\" pulumi-lang-java=\"`fullNameCompany`\" pulumi-lang-hcl=\"`full_name_company`\"\u003e`fullNameCompany`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`fullNameUsernameCompany`\" pulumi-lang-dotnet=\"`FullNameUsernameCompany`\" pulumi-lang-go=\"`fullNameUsernameCompany`\" pulumi-lang-python=\"`full_name_username_company`\" pulumi-lang-yaml=\"`fullNameUsernameCompany`\" pulumi-lang-java=\"`fullNameUsernameCompany`\" pulumi-lang-hcl=\"`full_name_username_company`\"\u003e`fullNameUsernameCompany`\u003c/span\u003e.\n",
                        "type": "string"
                    },
                    "usersCanCreateApiKeys": {
                        "description": "Allow users to create their own API keys?\n",
                        "type": "boolean"
                    },
                    "usersCanCreateSshKeys": {
                        "description": "Allow users to create their own SSH keys?\n",
                        "type": "boolean"
                    },
                    "welcomeCustomText": {
                        "description": "Custom text send in user welcome email\n",
                        "type": "string"
                    },
                    "welcomeEmailCc": {
                        "description": "Include this email in welcome emails if enabled\n",
                        "type": "string"
                    },
                    "welcomeEmailEnabled": {
                        "description": "Will the welcome email be sent to new users?\n",
                        "type": "boolean"
                    },
                    "welcomeEmailSubject": {
                        "description": "Include this email subject in welcome emails if enabled\n",
                        "type": "string"
                    },
                    "welcomeScreen": {
                        "description": "Does the welcome screen appear?\n",
                        "type": "string"
                    },
                    "windowsModeFtp": {
                        "description": "Does FTP user Windows emulation mode?\n",
                        "type": "boolean"
                    }
                },
                "required": [
                    "activeSftpHostKeyId",
                    "additionalTextFileTypes",
                    "adminUserId",
                    "adminsBypassLockedSubfolders",
                    "aiFeatureAvailability",
                    "allowBundleNames",
                    "allowUserLevel2faOverride",
                    "allowUserLevelAllowedIpOverride",
                    "allowUserLevelSslOverride",
                    "allowed2faMethodBypassForFtpSftpDav",
                    "allowed2faMethodEmail",
                    "allowed2faMethodSms",
                    "allowed2faMethodStatic",
                    "allowed2faMethodTotp",
                    "allowed2faMethodWebauthn",
                    "allowed2faMethodYubi",
                    "allowedCountries",
                    "allowedIps",
                    "alwaysMkdirParents",
                    "as2MessageRetentionDays",
                    "askAboutOverwrites",
                    "bundleActivityNotifications",
                    "bundleExpiration",
                    "bundleNotFoundMessage",
                    "bundlePasswordRequired",
                    "bundleRecipientBlacklistDomains",
                    "bundleRecipientBlacklistFreeEmailDomains",
                    "bundleRegistrationNotifications",
                    "bundleRequireNote",
                    "bundleRequireRegistration",
                    "bundleRequireShareRecipient",
                    "bundleSendOneTimePasswordToRecipientAtRegistration",
                    "bundleSendSharedReceipts",
                    "bundleUploadReceiptNotifications",
                    "bundleWatermarkAttachment",
                    "bundleWatermarkValue",
                    "bundlesDefaultOwnedByPrimaryGroup",
                    "calculateFileChecksumsCrc32",
                    "calculateFileChecksumsMd5",
                    "calculateFileChecksumsSha1",
                    "calculateFileChecksumsSha256",
                    "color2Left",
                    "color2Link",
                    "color2Text",
                    "color2Top",
                    "color2TopText",
                    "contactName",
                    "createdAt",
                    "currency",
                    "customNamespace",
                    "davEnabled",
                    "davUserRootEnabled",
                    "daysToRetainBackups",
                    "defaultTimeZone",
                    "desktopApp",
                    "desktopAppSessionIpPinning",
                    "desktopAppSessionLifetime",
                    "disableAllAiFeatures",
                    "disableFilesCertificateGeneration",
                    "disableNotifications",
                    "disablePasswordReset",
                    "disallowedCountries",
                    "documentEditsInBundleAllowed",
                    "domain",
                    "domainHstsHeader",
                    "domainLetsencryptChain",
                    "email",
                    "emailFooterCustomText",
                    "fedramp",
                    "folderPermissionsGroupsOnly",
                    "ftpEnabled",
                    "groupAdminsCanAddUsers",
                    "groupAdminsCanBypassUserLifecycleRules",
                    "groupAdminsCanDeleteUsers",
                    "groupAdminsCanEnableDisableUsers",
                    "groupAdminsCanManageGroupMemberships",
                    "groupAdminsCanModifyUsers",
                    "groupAdminsCanResetPasswords",
                    "groupAdminsCanSetUserPassword",
                    "hipaa",
                    "icon128",
                    "icon16",
                    "icon32",
                    "icon48",
                    "id",
                    "immutableFilesSetAt",
                    "includePasswordInWelcomeEmail",
                    "language",
                    "ldapBaseDn",
                    "ldapDomain",
                    "ldapEnabled",
                    "ldapGroupAction",
                    "ldapGroupExclusion",
                    "ldapGroupInclusion",
                    "ldapHost",
                    "ldapHost2",
                    "ldapHost3",
                    "ldapPort",
                    "ldapSecure",
                    "ldapType",
                    "ldapUserAction",
                    "ldapUserIncludeGroups",
                    "ldapUsername",
                    "ldapUsernameField",
                    "legacyChecksumsMode",
                    "loginHelpText",
                    "loginPageBackgroundImage",
                    "logo",
                    "managedSiteSettings",
                    "maxPriorPasswords",
                    "mcpDcrEnabled",
                    "migrateRemoteServerSyncToSync",
                    "mobileApp",
                    "mobileAppSessionIpPinning",
                    "mobileAppSessionLifetime",
                    "motdText",
                    "motdUseForFtp",
                    "motdUseForSftp",
                    "name",
                    "nextBillingAmount",
                    "nextBillingDate",
                    "nonSsoGroupsAllowed",
                    "nonSsoUsersAllowed",
                    "officeIntegrationAvailable",
                    "officeIntegrationType",
                    "oncehubLink",
                    "optOutGlobal",
                    "overdue",
                    "passwordMinLength",
                    "passwordRequireLetter",
                    "passwordRequireMixed",
                    "passwordRequireNumber",
                    "passwordRequireSpecial",
                    "passwordRequireUnbreached",
                    "passwordRequirementsApplyToBundles",
                    "passwordValidityDays",
                    "phone",
                    "pinAllRemoteServersToSiteRegion",
                    "preventRootPermissionsForNonSiteAdmins",
                    "protocolAccessGroupsOnly",
                    "replyToEmail",
                    "require2fa",
                    "require2faExemptAllSsoUsers",
                    "require2faStopTime",
                    "require2faUserType",
                    "requireLogoutFromBundlesAndInboxes",
                    "restrictRootFolderBehaviorsToSiteAdmins",
                    "revokeBundleAccessOnDisableOrDelete",
                    "rootFolderBehaviorsApplyToWorkspaces",
                    "session",
                    "sessionExpiryMinutes",
                    "sftpEnabled",
                    "sftpFinalizePartialUploads",
                    "sftpHostKeyType",
                    "sftpInsecureCiphers",
                    "sftpInsecureDiffieHellman",
                    "sftpUserRootEnabled",
                    "sharingEnabled",
                    "showRequestAccessLink",
                    "showUserNotificationsLogInLink",
                    "siteFooter",
                    "siteHeader",
                    "sitePublicFooter",
                    "sitePublicHeader",
                    "smtpAddress",
                    "smtpAuthentication",
                    "smtpFrom",
                    "smtpPort",
                    "smtpUsername",
                    "snapshotSharingEnabled",
                    "sslRequired",
                    "subdomain",
                    "switchToPlanDate",
                    "trialDaysLeft",
                    "trialUntil",
                    "uploadsViaEmailAuthentication",
                    "useDedicatedIpsForSmtp",
                    "useProvidedModifiedAt",
                    "user",
                    "userLockout",
                    "userLockoutLockPeriod",
                    "userLockoutTries",
                    "userLockoutWithin",
                    "userRequestsEnabled",
                    "userRequestsNotifyAdmins",
                    "usernameDisplay",
                    "usersCanCreateApiKeys",
                    "usersCanCreateSshKeys",
                    "welcomeCustomText",
                    "welcomeEmailCc",
                    "welcomeEmailEnabled",
                    "welcomeEmailSubject",
                    "welcomeScreen",
                    "windowsModeFtp"
                ],
                "type": "object"
            }
        },
        "filescom:index/getSiteSubdomainRedirect:getSiteSubdomainRedirect": {
            "description": "A SiteSubdomainRedirect object represents an old Files.com subdomain that continues to work after the site's Files.com subdomain changes.\n\nHTTPS requests redirect to the current subdomain, and other protocols such as FTP and SFTP are routed through DNS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleSiteSubdomainRedirect = filescom.getSiteSubdomainRedirect({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_site_subdomain_redirect = filescom.get_site_subdomain_redirect(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleSiteSubdomainRedirect = Filescom.GetSiteSubdomainRedirect.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetSiteSubdomainRedirect(ctx, \u0026filescom.GetSiteSubdomainRedirectArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getsitesubdomainredirect\" \"exampleSiteSubdomainRedirect\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetSiteSubdomainRedirectArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleSiteSubdomainRedirect = FilescomFunctions.getSiteSubdomainRedirect(GetSiteSubdomainRedirectArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleSiteSubdomainRedirect:\n    fn::invoke:\n      function: filescom:getSiteSubdomainRedirect\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getSiteSubdomainRedirect.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Site subdomain redirect ID.\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getSiteSubdomainRedirect.\n",
                "properties": {
                    "createdAt": {
                        "description": "When this redirect was created.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Site subdomain redirect ID.\n",
                        "type": "integer"
                    },
                    "subdomain": {
                        "description": "Files.com subdomain that continues to route to the current site subdomain.\n",
                        "type": "string"
                    },
                    "updatedAt": {
                        "description": "When this redirect was last updated.\n",
                        "type": "string"
                    }
                },
                "required": [
                    "createdAt",
                    "id",
                    "subdomain",
                    "updatedAt"
                ],
                "type": "object"
            }
        },
        "filescom:index/getSnapshot:getSnapshot": {
            "description": "Snapshots allow you to create a read-only archive of files at a specific point in time. You can define a snapshot, add files to it, and then finalize it. Once finalized, the snapshot’s contents are immutable.\n\n\n\nEach snapshot may have an expiration date. When the expiration date is reached, the snapshot is automatically deleted from the Files.com platform.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleSnapshot = filescom.getSnapshot({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_snapshot = filescom.get_snapshot(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleSnapshot = Filescom.GetSnapshot.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetSnapshot(ctx, \u0026filescom.LookupSnapshotArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getsnapshot\" \"exampleSnapshot\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetSnapshotArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleSnapshot = FilescomFunctions.getSnapshot(GetSnapshotArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleSnapshot:\n    fn::invoke:\n      function: filescom:getSnapshot\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getSnapshot.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The snapshot's unique ID.\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getSnapshot.\n",
                "properties": {
                    "bundleId": {
                        "description": "The bundle using this snapshot, if applicable.\n",
                        "type": "integer"
                    },
                    "expiresAt": {
                        "description": "When the snapshot expires.\n",
                        "type": "string"
                    },
                    "finalizedAt": {
                        "description": "When the snapshot was finalized.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "The snapshot's unique ID.\n",
                        "type": "integer"
                    },
                    "name": {
                        "description": "A name for the snapshot.\n",
                        "type": "string"
                    },
                    "userId": {
                        "description": "The user that created this snapshot, if applicable.\n",
                        "type": "integer"
                    },
                    "workspaceId": {
                        "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "bundleId",
                    "expiresAt",
                    "finalizedAt",
                    "id",
                    "name",
                    "userId",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getSsoEvent:getSsoEvent": {
            "description": "An SsoEvent is a log record for SSO-related activity such as LDAP syncs and SSO login attempts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleSsoEvent = filescom.getSsoEvent({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_sso_event = filescom.get_sso_event(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleSsoEvent = Filescom.GetSsoEvent.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetSsoEvent(ctx, \u0026filescom.GetSsoEventArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getssoevent\" \"exampleSsoEvent\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetSsoEventArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleSsoEvent = FilescomFunctions.getSsoEvent(GetSsoEventArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleSsoEvent:\n    fn::invoke:\n      function: filescom:getSsoEvent\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getSsoEvent.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Event ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getSsoEvent.\n",
                "properties": {
                    "body": {
                        "description": "Event body.\n",
                        "type": "string"
                    },
                    "bodyUrl": {
                        "description": "Link to log file.\n",
                        "type": "string"
                    },
                    "createdAt": {
                        "description": "Event create date/time.\n",
                        "type": "string"
                    },
                    "eventErrors": {
                        "description": "Event errors.\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "eventType": {
                        "description": "Type of SSO event being recorded.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Event ID\n",
                        "type": "integer"
                    },
                    "idpUid": {
                        "description": "Identity Provider UID for the SSO login attempt.\n",
                        "type": "string"
                    },
                    "ip": {
                        "description": "IP address for the SSO login attempt.\n",
                        "type": "string"
                    },
                    "providerLabel": {
                        "description": "SSO provider label for the SSO login attempt.\n",
                        "type": "string"
                    },
                    "provider_": {
                        "description": "SSO provider for the SSO login attempt.\n",
                        "type": "string"
                    },
                    "region": {
                        "description": "Region for the SSO login attempt.\n",
                        "type": "string"
                    },
                    "status": {
                        "description": "Status of event.\n",
                        "type": "string"
                    },
                    "userId": {
                        "description": "User ID.\n",
                        "type": "integer"
                    },
                    "username": {
                        "description": "Username on Files.com for the SSO login attempt.\n",
                        "type": "string"
                    }
                },
                "required": [
                    "body",
                    "bodyUrl",
                    "createdAt",
                    "eventErrors",
                    "eventType",
                    "id",
                    "idpUid",
                    "ip",
                    "provider_",
                    "providerLabel",
                    "region",
                    "status",
                    "userId",
                    "username"
                ],
                "type": "object"
            }
        },
        "filescom:index/getSsoStrategy:getSsoStrategy": {
            "description": "An SSOStrategy is a way for users to sign in via another identity provider, such as Okta or Auth0.\n\n\n\nIt is rare that you will need to use API endpoints for managing these, and we recommend instead managing these via the web interface.\n\nNevertheless, we share the API documentation here.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleSsoStrategy = filescom.getSsoStrategy({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_sso_strategy = filescom.get_sso_strategy(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleSsoStrategy = Filescom.GetSsoStrategy.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetSsoStrategy(ctx, \u0026filescom.GetSsoStrategyArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getssostrategy\" \"exampleSsoStrategy\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetSsoStrategyArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleSsoStrategy = FilescomFunctions.getSsoStrategy(GetSsoStrategyArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleSsoStrategy:\n    fn::invoke:\n      function: filescom:getSsoStrategy\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getSsoStrategy.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getSsoStrategy.\n",
                "properties": {
                    "deprovisionBehavior": {
                        "description": "Method used for deprovisioning users.\n",
                        "type": "string"
                    },
                    "deprovisionGroups": {
                        "description": "Auto-deprovision group membership based on group memberships on the SSO side?\n",
                        "type": "boolean"
                    },
                    "deprovisionUsers": {
                        "description": "Auto-deprovision users?\n",
                        "type": "boolean"
                    },
                    "displayOnLoginPage": {
                        "description": "Should this strategy be displayed on the login page?\n",
                        "type": "boolean"
                    },
                    "enabled": {
                        "description": "Is strategy enabled?  This may become automatically set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e after a high number and duration of failures.\n",
                        "type": "boolean"
                    },
                    "id": {
                        "description": "ID\n",
                        "type": "integer"
                    },
                    "label": {
                        "description": "Custom label for the SSO provider on the login page.\n",
                        "type": "string"
                    },
                    "ldapBaseDn": {
                        "description": "Base DN for looking up users in LDAP server\n",
                        "type": "string"
                    },
                    "ldapDomain": {
                        "description": "Domain name that will be appended to LDAP usernames\n",
                        "type": "string"
                    },
                    "ldapHost": {
                        "description": "LDAP host\n",
                        "type": "string"
                    },
                    "ldapHost2": {
                        "description": "LDAP backup host\n",
                        "type": "string"
                    },
                    "ldapHost3": {
                        "description": "LDAP backup host\n",
                        "type": "string"
                    },
                    "ldapPort": {
                        "description": "LDAP port\n",
                        "type": "integer"
                    },
                    "ldapProvisioningEnabled": {
                        "description": "Use LDAP server settings for scheduled provisioning while using this SSO provider for authentication?\n",
                        "type": "boolean"
                    },
                    "ldapSecure": {
                        "description": "Use secure LDAP?\n",
                        "type": "boolean"
                    },
                    "ldapType": {
                        "description": "LDAP server type\n",
                        "type": "string"
                    },
                    "ldapUsername": {
                        "description": "Username for signing in to LDAP server.\n",
                        "type": "string"
                    },
                    "ldapUsernameField": {
                        "description": "LDAP username field\n",
                        "type": "string"
                    },
                    "logoUrl": {
                        "description": "URL holding a custom logo for the SSO provider on the login page.\n",
                        "type": "string"
                    },
                    "protocol": {
                        "description": "SSO Protocol\n",
                        "type": "string"
                    },
                    "providerIdentifier": {
                        "description": "URL-friendly, unique identifier for Azure SAML configuration\n",
                        "type": "string"
                    },
                    "provider_": {
                        "description": "Provider name\n",
                        "type": "string"
                    },
                    "provisionAttachmentsPermission": {
                        "type": "boolean"
                    },
                    "provisionCompany": {
                        "description": "Default company for auto provisioned users.\n",
                        "type": "string"
                    },
                    "provisionDavPermission": {
                        "description": "Auto-provisioned users get WebDAV permission?\n",
                        "type": "boolean"
                    },
                    "provisionEmailSignupGroups": {
                        "description": "Comma-separated list of group names whose members will be created with\u003cspan pulumi-lang-nodejs=\" emailSignup \" pulumi-lang-dotnet=\" EmailSignup \" pulumi-lang-go=\" emailSignup \" pulumi-lang-python=\" email_signup \" pulumi-lang-yaml=\" emailSignup \" pulumi-lang-java=\" emailSignup \" pulumi-lang-hcl=\" email_signup \"\u003e emailSignup \u003c/span\u003eauthentication.\n",
                        "type": "string"
                    },
                    "provisionFilesystemLayout": {
                        "description": "File System layout to use for auto provisioned users.\n",
                        "type": "string"
                    },
                    "provisionFtpPermission": {
                        "description": "Auto-provisioned users get FTP permission?\n",
                        "type": "boolean"
                    },
                    "provisionGroupAdminGroups": {
                        "description": "Comma-separated list of group names whose members will be provisioned as Group Admins.\n",
                        "type": "string"
                    },
                    "provisionGroupDefault": {
                        "description": "Comma-separated list of group names for groups to automatically add all auto-provisioned users to.\n",
                        "type": "string"
                    },
                    "provisionGroupExclusion": {
                        "description": "Comma-separated list of group names for groups (with optional wildcards) that will be excluded from auto-provisioning.\n",
                        "type": "string"
                    },
                    "provisionGroupInclusion": {
                        "description": "Comma-separated list of group names for groups (with optional wildcards) that will be auto-provisioned.\n",
                        "type": "string"
                    },
                    "provisionGroupRequired": {
                        "description": "Comma or newline separated list of group names (with optional wildcards) to require membership for user provisioning.\n",
                        "type": "string"
                    },
                    "provisionGroups": {
                        "description": "Auto-provision group membership based on group memberships on the SSO side?\n",
                        "type": "boolean"
                    },
                    "provisionReadonlySiteAdminGroups": {
                        "description": "Comma-separated list of group names whose members will be created as Read-Only Site Admins.\n",
                        "type": "string"
                    },
                    "provisionRequire2fa": {
                        "description": "2FA required setting for auto provisioned users. \u003cspan pulumi-lang-nodejs=\"`useSystemSetting`\" pulumi-lang-dotnet=\"`UseSystemSetting`\" pulumi-lang-go=\"`useSystemSetting`\" pulumi-lang-python=\"`use_system_setting`\" pulumi-lang-yaml=\"`useSystemSetting`\" pulumi-lang-java=\"`useSystemSetting`\" pulumi-lang-hcl=\"`use_system_setting`\"\u003e`useSystemSetting`\u003c/span\u003e uses the site-wide setting, including SSO exemptions. \u003cspan pulumi-lang-nodejs=\"`alwaysRequire`\" pulumi-lang-dotnet=\"`AlwaysRequire`\" pulumi-lang-go=\"`alwaysRequire`\" pulumi-lang-python=\"`always_require`\" pulumi-lang-yaml=\"`alwaysRequire`\" pulumi-lang-java=\"`alwaysRequire`\" pulumi-lang-hcl=\"`always_require`\"\u003e`alwaysRequire`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`neverRequire`\" pulumi-lang-dotnet=\"`NeverRequire`\" pulumi-lang-go=\"`neverRequire`\" pulumi-lang-python=\"`never_require`\" pulumi-lang-yaml=\"`neverRequire`\" pulumi-lang-java=\"`neverRequire`\" pulumi-lang-hcl=\"`never_require`\"\u003e`neverRequire`\u003c/span\u003e override the site-wide setting when user-level overrides are allowed.\n",
                        "type": "string"
                    },
                    "provisionSftpPermission": {
                        "description": "Auto-provisioned users get SFTP permission?\n",
                        "type": "boolean"
                    },
                    "provisionSiteAdminGroups": {
                        "description": "Comma-separated list of group names whose members will be created as Site Admins.\n",
                        "type": "string"
                    },
                    "provisionTimeZone": {
                        "description": "Default time zone for auto provisioned users.\n",
                        "type": "string"
                    },
                    "provisionUsers": {
                        "description": "Auto-provision users?\n",
                        "type": "boolean"
                    },
                    "samlProviderCertFingerprint": {
                        "description": "Identity provider sha256 cert fingerprint if saml*provider*metadata_url is not available.\n",
                        "type": "string"
                    },
                    "samlProviderIssuerUrl": {
                        "description": "Identity provider issuer url\n",
                        "type": "string"
                    },
                    "samlProviderMetadataContent": {
                        "description": "Custom identity provider metadata\n",
                        "type": "string"
                    },
                    "samlProviderMetadataUrl": {
                        "description": "Metadata URL for the SAML identity provider\n",
                        "type": "string"
                    },
                    "samlProviderSloTargetUrl": {
                        "description": "Identity provider SLO endpoint\n",
                        "type": "string"
                    },
                    "samlProviderSsoTargetUrl": {
                        "description": "Identity provider SSO endpoint if saml*provider*metadata_url is not available.\n",
                        "type": "string"
                    },
                    "scimAuthenticationMethod": {
                        "description": "SCIM authentication type.\n",
                        "type": "string"
                    },
                    "scimOauthAccessToken": {
                        "description": "SCIM OAuth Access Token.\n",
                        "type": "string"
                    },
                    "scimOauthAccessTokenExpiresAt": {
                        "description": "SCIM OAuth Access Token Expiration Time.\n",
                        "type": "string"
                    },
                    "scimUsername": {
                        "description": "SCIM username.\n",
                        "type": "string"
                    },
                    "subdomain": {
                        "description": "Subdomain or domain name for your auth provider.   Example: `https://[subdomain].okta.com/`\n",
                        "type": "string"
                    },
                    "userCount": {
                        "description": "Count of users with this SSO Strategy\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "deprovisionBehavior",
                    "deprovisionGroups",
                    "deprovisionUsers",
                    "displayOnLoginPage",
                    "enabled",
                    "id",
                    "label",
                    "ldapBaseDn",
                    "ldapDomain",
                    "ldapHost",
                    "ldapHost2",
                    "ldapHost3",
                    "ldapPort",
                    "ldapProvisioningEnabled",
                    "ldapSecure",
                    "ldapType",
                    "ldapUsername",
                    "ldapUsernameField",
                    "logoUrl",
                    "protocol",
                    "provider_",
                    "providerIdentifier",
                    "provisionAttachmentsPermission",
                    "provisionCompany",
                    "provisionDavPermission",
                    "provisionEmailSignupGroups",
                    "provisionFilesystemLayout",
                    "provisionFtpPermission",
                    "provisionGroupAdminGroups",
                    "provisionGroupDefault",
                    "provisionGroupExclusion",
                    "provisionGroupInclusion",
                    "provisionGroupRequired",
                    "provisionGroups",
                    "provisionReadonlySiteAdminGroups",
                    "provisionRequire2fa",
                    "provisionSftpPermission",
                    "provisionSiteAdminGroups",
                    "provisionTimeZone",
                    "provisionUsers",
                    "samlProviderCertFingerprint",
                    "samlProviderIssuerUrl",
                    "samlProviderMetadataContent",
                    "samlProviderMetadataUrl",
                    "samlProviderSloTargetUrl",
                    "samlProviderSsoTargetUrl",
                    "scimAuthenticationMethod",
                    "scimOauthAccessToken",
                    "scimOauthAccessTokenExpiresAt",
                    "scimUsername",
                    "subdomain",
                    "userCount"
                ],
                "type": "object"
            }
        },
        "filescom:index/getStyle:getStyle": {
            "description": "A Style is a custom set of branding that can be applied on a per-folder basis.\n\nCurrently these support a logo per folder and an optional click-through URL for public visitors.\n\nIn the future we may extend these to also support colors.\n\nIf you want to see that, please let us know so we can add your vote to the list.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleStyle = filescom.getStyle({\n    path: \"path\",\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_style = filescom.get_style(path=\"path\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleStyle = Filescom.GetStyle.Invoke(new()\n    {\n        Path = \"path\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetStyle(ctx, \u0026filescom.LookupStyleArgs{\n\t\t\tPath: \"path\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getstyle\" \"exampleStyle\" {\n  path = \"path\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetStyleArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleStyle = FilescomFunctions.getStyle(GetStyleArgs.builder()\n            .path(\"path\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleStyle:\n    fn::invoke:\n      function: filescom:getStyle\n      arguments:\n        path: path\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getStyle.\n",
                "properties": {
                    "path": {
                        "type": "string",
                        "description": "Folder path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n"
                    }
                },
                "type": "object",
                "required": [
                    "path"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getStyle.\n",
                "properties": {
                    "id": {
                        "description": "Style ID\n",
                        "type": "integer"
                    },
                    "logo": {
                        "description": "Logo\n",
                        "type": "string"
                    },
                    "logoClickHref": {
                        "description": "URL to open when a public visitor clicks the logo\n",
                        "type": "string"
                    },
                    "path": {
                        "description": "Folder path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.\n",
                        "type": "string"
                    },
                    "thumbnail": {
                        "description": "Logo thumbnail\n",
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "logo",
                    "logoClickHref",
                    "path",
                    "thumbnail"
                ],
                "type": "object"
            }
        },
        "filescom:index/getSync:getSync": {
            "description": "A Sync represents a file synchronization job between two locations (local-remote, remote-remote, local-child_site, etc). \n\nIt can be scheduled, run manually, or triggered by custom logic. \n\nSyncs track their runs, status, and configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleSync = filescom.getSync({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_sync = filescom.get_sync(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleSync = Filescom.GetSync.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetSync(ctx, \u0026filescom.LookupSyncArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getsync\" \"exampleSync\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetSyncArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleSync = FilescomFunctions.getSync(GetSyncArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleSync:\n    fn::invoke:\n      function: filescom:getSync\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getSync.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Sync ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getSync.\n",
                "properties": {
                    "alwaysWriteTriggerFile": {
                        "description": "If true, the trigger file will be sent at the end of a successful sync even when no files were transferred.\n",
                        "type": "boolean"
                    },
                    "createdAt": {
                        "description": "When this sync was created\n",
                        "type": "string"
                    },
                    "deleteEmptyFolders": {
                        "description": "Delete empty folders after sync?\n",
                        "type": "boolean"
                    },
                    "description": {
                        "description": "Description for this sync job\n",
                        "type": "string"
                    },
                    "destPath": {
                        "description": "Absolute destination path for the sync\n",
                        "type": "string"
                    },
                    "destRemoteServerId": {
                        "description": "Remote server ID for the destination (if remote)\n",
                        "type": "integer"
                    },
                    "destSiteId": {
                        "description": "Destination site ID if syncing to a child or partner site\n",
                        "type": "integer"
                    },
                    "disabled": {
                        "description": "Is this sync disabled?\n",
                        "type": "boolean"
                    },
                    "excludePatterns": {
                        "description": "Array of glob patterns to exclude\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "holidayRegion": {
                        "description": "Skip the sync if there is a formal, observed holiday for this region.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Sync ID\n",
                        "type": "integer"
                    },
                    "includePatterns": {
                        "description": "Array of glob patterns to include\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "interval": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies how often to run this sync.  One of: \u003cspan pulumi-lang-nodejs=\"`day`\" pulumi-lang-dotnet=\"`Day`\" pulumi-lang-go=\"`day`\" pulumi-lang-python=\"`day`\" pulumi-lang-yaml=\"`day`\" pulumi-lang-java=\"`day`\" pulumi-lang-hcl=\"`day`\"\u003e`day`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`weekEnd`\" pulumi-lang-dotnet=\"`WeekEnd`\" pulumi-lang-go=\"`weekEnd`\" pulumi-lang-python=\"`week_end`\" pulumi-lang-yaml=\"`weekEnd`\" pulumi-lang-java=\"`weekEnd`\" pulumi-lang-hcl=\"`week_end`\"\u003e`weekEnd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`monthEnd`\" pulumi-lang-dotnet=\"`MonthEnd`\" pulumi-lang-go=\"`monthEnd`\" pulumi-lang-python=\"`month_end`\" pulumi-lang-yaml=\"`monthEnd`\" pulumi-lang-java=\"`monthEnd`\" pulumi-lang-hcl=\"`month_end`\"\u003e`monthEnd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarterEnd`\" pulumi-lang-dotnet=\"`QuarterEnd`\" pulumi-lang-go=\"`quarterEnd`\" pulumi-lang-python=\"`quarter_end`\" pulumi-lang-yaml=\"`quarterEnd`\" pulumi-lang-java=\"`quarterEnd`\" pulumi-lang-hcl=\"`quarter_end`\"\u003e`quarterEnd`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`yearEnd`\" pulumi-lang-dotnet=\"`YearEnd`\" pulumi-lang-go=\"`yearEnd`\" pulumi-lang-python=\"`year_end`\" pulumi-lang-yaml=\"`yearEnd`\" pulumi-lang-java=\"`yearEnd`\" pulumi-lang-hcl=\"`year_end`\"\u003e`yearEnd`\u003c/span\u003e\n",
                        "type": "string"
                    },
                    "keepAfterCopy": {
                        "description": "Keep files after copying?\n",
                        "type": "boolean"
                    },
                    "latestSyncRun": {
                        "description": "The latest run of this sync\n",
                        "type": "string"
                    },
                    "name": {
                        "description": "Name for this sync job\n",
                        "type": "string"
                    },
                    "recurringDay": {
                        "description": "If trigger type is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies a day number to run in one of the supported intervals: \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e.\n",
                        "type": "integer"
                    },
                    "recurringDays": {
                        "description": "If trigger type is \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, this specifies one or more day numbers to run in one of the supported intervals: \u003cspan pulumi-lang-nodejs=\"`week`\" pulumi-lang-dotnet=\"`Week`\" pulumi-lang-go=\"`week`\" pulumi-lang-python=\"`week`\" pulumi-lang-yaml=\"`week`\" pulumi-lang-java=\"`week`\" pulumi-lang-hcl=\"`week`\"\u003e`week`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\" pulumi-lang-hcl=\"`month`\"\u003e`month`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quarter`\" pulumi-lang-dotnet=\"`Quarter`\" pulumi-lang-go=\"`quarter`\" pulumi-lang-python=\"`quarter`\" pulumi-lang-yaml=\"`quarter`\" pulumi-lang-java=\"`quarter`\" pulumi-lang-hcl=\"`quarter`\"\u003e`quarter`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\" pulumi-lang-hcl=\"`year`\"\u003e`year`\u003c/span\u003e.\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "scheduleDaysOfWeeks": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, Custom schedule description for when the sync should be run. 0-based days of the week. 0 is Sunday, 1 is Monday, etc.\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "scheduleId": {
                        "description": "If trigger is \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, the reusable Schedule used instead of the sync's schedule fields.\n",
                        "type": "integer"
                    },
                    "scheduleTimeZone": {
                        "description": "Time zone for the schedule. If not set, times are interpreted as UTC.\n",
                        "type": "string"
                    },
                    "scheduleTimesOfDays": {
                        "description": "Times of day to run in HH:MM format. For \u003cspan pulumi-lang-nodejs=\"`customSchedule`\" pulumi-lang-dotnet=\"`CustomSchedule`\" pulumi-lang-go=\"`customSchedule`\" pulumi-lang-python=\"`custom_schedule`\" pulumi-lang-yaml=\"`customSchedule`\" pulumi-lang-java=\"`customSchedule`\" pulumi-lang-hcl=\"`custom_schedule`\"\u003e`customSchedule`\u003c/span\u003e, run at these times on specified days of week. For \u003cspan pulumi-lang-nodejs=\"`daily`\" pulumi-lang-dotnet=\"`Daily`\" pulumi-lang-go=\"`daily`\" pulumi-lang-python=\"`daily`\" pulumi-lang-yaml=\"`daily`\" pulumi-lang-java=\"`daily`\" pulumi-lang-hcl=\"`daily`\"\u003e`daily`\u003c/span\u003e, run at these times on the scheduled interval date.\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "siteId": {
                        "description": "Site ID this sync belongs to\n",
                        "type": "integer"
                    },
                    "srcPath": {
                        "description": "Absolute source path for the sync\n",
                        "type": "string"
                    },
                    "srcRemoteServerId": {
                        "description": "Remote server ID for the source (if remote)\n",
                        "type": "integer"
                    },
                    "srcSiteId": {
                        "description": "Source site ID if syncing from a child or partner site\n",
                        "type": "integer"
                    },
                    "syncIntervalMinutes": {
                        "description": "Frequency in minutes between syncs. If set, this value must be greater than or equal to the \u003cspan pulumi-lang-nodejs=\"`remoteSyncInterval`\" pulumi-lang-dotnet=\"`RemoteSyncInterval`\" pulumi-lang-go=\"`remoteSyncInterval`\" pulumi-lang-python=\"`remote_sync_interval`\" pulumi-lang-yaml=\"`remoteSyncInterval`\" pulumi-lang-java=\"`remoteSyncInterval`\" pulumi-lang-hcl=\"`remote_sync_interval`\"\u003e`remoteSyncInterval`\u003c/span\u003e value for the site's plan. If left blank, the plan's \u003cspan pulumi-lang-nodejs=\"`remoteSyncInterval`\" pulumi-lang-dotnet=\"`RemoteSyncInterval`\" pulumi-lang-go=\"`remoteSyncInterval`\" pulumi-lang-python=\"`remote_sync_interval`\" pulumi-lang-yaml=\"`remoteSyncInterval`\" pulumi-lang-java=\"`remoteSyncInterval`\" pulumi-lang-hcl=\"`remote_sync_interval`\"\u003e`remoteSyncInterval`\u003c/span\u003e will be used. This setting is only used if \u003cspan pulumi-lang-nodejs=\"`trigger`\" pulumi-lang-dotnet=\"`Trigger`\" pulumi-lang-go=\"`trigger`\" pulumi-lang-python=\"`trigger`\" pulumi-lang-yaml=\"`trigger`\" pulumi-lang-java=\"`trigger`\" pulumi-lang-hcl=\"`trigger`\"\u003e`trigger`\u003c/span\u003e is empty.\n",
                        "type": "integer"
                    },
                    "trigger": {
                        "description": "Trigger type: daily, custom_schedule, or manual\n",
                        "type": "string"
                    },
                    "triggerFile": {
                        "description": "Some MFT services request an empty file (known as a trigger file) to signal the sync is complete and they can begin further processing. If\u003cspan pulumi-lang-nodejs=\" triggerFile \" pulumi-lang-dotnet=\" TriggerFile \" pulumi-lang-go=\" triggerFile \" pulumi-lang-python=\" trigger_file \" pulumi-lang-yaml=\" triggerFile \" pulumi-lang-java=\" triggerFile \" pulumi-lang-hcl=\" trigger_file \"\u003e triggerFile \u003c/span\u003eis set, a zero-byte file will be sent at the end of the sync.\n",
                        "type": "string"
                    },
                    "twoWay": {
                        "description": "Is this a two-way sync?\n",
                        "type": "boolean"
                    },
                    "updatedAt": {
                        "description": "When this sync was last updated\n",
                        "type": "string"
                    },
                    "userId": {
                        "description": "User who created or owns this sync\n",
                        "type": "integer"
                    },
                    "workspaceId": {
                        "description": "Workspace ID this sync belongs to\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "alwaysWriteTriggerFile",
                    "createdAt",
                    "deleteEmptyFolders",
                    "description",
                    "destPath",
                    "destRemoteServerId",
                    "destSiteId",
                    "disabled",
                    "excludePatterns",
                    "holidayRegion",
                    "id",
                    "includePatterns",
                    "interval",
                    "keepAfterCopy",
                    "latestSyncRun",
                    "name",
                    "recurringDay",
                    "recurringDays",
                    "scheduleDaysOfWeeks",
                    "scheduleId",
                    "scheduleTimeZone",
                    "scheduleTimesOfDays",
                    "siteId",
                    "srcPath",
                    "srcRemoteServerId",
                    "srcSiteId",
                    "syncIntervalMinutes",
                    "trigger",
                    "triggerFile",
                    "twoWay",
                    "updatedAt",
                    "userId",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getSyncRun:getSyncRun": {
            "description": "A SyncRun represents a single execution (run) of a Sync job.\n\nIt tracks status, statistics, logs, and timing for each sync operation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleSyncRun = filescom.getSyncRun({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_sync_run = filescom.get_sync_run(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleSyncRun = Filescom.GetSyncRun.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetSyncRun(ctx, \u0026filescom.GetSyncRunArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getsyncrun\" \"exampleSyncRun\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetSyncRunArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleSyncRun = FilescomFunctions.getSyncRun(GetSyncRunArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleSyncRun:\n    fn::invoke:\n      function: filescom:getSyncRun\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getSyncRun.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "SyncRun ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getSyncRun.\n",
                "properties": {
                    "body": {
                        "description": "Log or summary body for this run\n",
                        "type": "string"
                    },
                    "bytesSynced": {
                        "description": "Total bytes synced in this run\n",
                        "type": "integer"
                    },
                    "comparedFiles": {
                        "description": "Number of files compared\n",
                        "type": "integer"
                    },
                    "comparedFolders": {
                        "description": "Number of folders compared\n",
                        "type": "integer"
                    },
                    "completedAt": {
                        "description": "When this run was completed\n",
                        "type": "string"
                    },
                    "createdAt": {
                        "description": "When this run was created\n",
                        "type": "string"
                    },
                    "destRemoteServerType": {
                        "description": "Destination remote server type, if any\n",
                        "type": "string"
                    },
                    "dryRun": {
                        "description": "Whether this run was a dry run (no actual changes made)\n",
                        "type": "boolean"
                    },
                    "erroredFiles": {
                        "description": "Number of files that errored\n",
                        "type": "integer"
                    },
                    "estimatedBytesCount": {
                        "description": "Estimated bytes count for this run\n",
                        "type": "integer"
                    },
                    "eventErrors": {
                        "description": "Array of errors encountered during the run\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "id": {
                        "description": "SyncRun ID\n",
                        "type": "integer"
                    },
                    "liveTransfers": {
                        "$ref": "pulumi.json#/Any",
                        "description": "Array of in-progress file transfers with progress data. Only present when the sync run status is in_progress.\n"
                    },
                    "logUrl": {
                        "description": "Link to external log file.\n",
                        "type": "string"
                    },
                    "runtime": {
                        "description": "Total runtime in seconds\n",
                        "type": "number"
                    },
                    "siteId": {
                        "description": "Site ID\n",
                        "type": "integer"
                    },
                    "srcRemoteServerType": {
                        "description": "Source remote server type, if any\n",
                        "type": "string"
                    },
                    "status": {
                        "description": "Status of the sync run (success, failure, partial*failure, in*progress, skipped)\n",
                        "type": "string"
                    },
                    "successfulFiles": {
                        "description": "Number of files successfully synced\n",
                        "type": "integer"
                    },
                    "syncId": {
                        "description": "ID of the Sync this run belongs to\n",
                        "type": "integer"
                    },
                    "syncName": {
                        "description": "Name of the Sync this run belongs to\n",
                        "type": "string"
                    },
                    "updatedAt": {
                        "description": "When this run was last updated\n",
                        "type": "string"
                    },
                    "workspaceId": {
                        "description": "Workspace ID\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "body",
                    "bytesSynced",
                    "comparedFiles",
                    "comparedFolders",
                    "completedAt",
                    "createdAt",
                    "destRemoteServerType",
                    "dryRun",
                    "erroredFiles",
                    "estimatedBytesCount",
                    "eventErrors",
                    "id",
                    "liveTransfers",
                    "logUrl",
                    "runtime",
                    "siteId",
                    "srcRemoteServerType",
                    "status",
                    "successfulFiles",
                    "syncId",
                    "syncName",
                    "updatedAt",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getUser:getUser": {
            "description": "A User represents a human or system/service user with the ability to connect to Files.com via any of the available connectivity methods (unless restricted to specific protocols).\n\n\n\nUsers are associated with API Keys, SSH (SFTP) Keys, Notifications, Permissions, and Group memberships.\n\n\n\n\n\n## Authentication\n\n\n\nThe \u003cspan pulumi-lang-nodejs=\"`authenticationMethod`\" pulumi-lang-dotnet=\"`AuthenticationMethod`\" pulumi-lang-go=\"`authenticationMethod`\" pulumi-lang-python=\"`authentication_method`\" pulumi-lang-yaml=\"`authenticationMethod`\" pulumi-lang-java=\"`authenticationMethod`\" pulumi-lang-hcl=\"`authentication_method`\"\u003e`authenticationMethod`\u003c/span\u003e property on a User determines exactly how that user can login and authenticate to their Files.com account. Files.com offers a variety of authentication methods to ensure flexibility, security, migration, and compliance.\n\n\n\nThese authentication methods can be configured during user creation and can be modified at any time by site administrators. The meanings of the available values are as follows:\n\n\n\n* \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e - Allows authentication via a password. If API Keys or SSH (SFTP) Keys are also configured, those can be used *instead* of the password. If Two Factor Authentication (2FA) methods are also configured, a valid 2nd factor is required in addition to the password.\n\n* \u003cspan pulumi-lang-nodejs=\"`emailSignup`\" pulumi-lang-dotnet=\"`EmailSignup`\" pulumi-lang-go=\"`emailSignup`\" pulumi-lang-python=\"`email_signup`\" pulumi-lang-yaml=\"`emailSignup`\" pulumi-lang-java=\"`emailSignup`\" pulumi-lang-hcl=\"`email_signup`\"\u003e`emailSignup`\u003c/span\u003e - When set upon user creation, an email will be sent to the new user with a link for them to create their password. Once the user has created their password, their authentication type will change to \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e.\n\n* \u003cspan pulumi-lang-nodejs=\"`sso`\" pulumi-lang-dotnet=\"`Sso`\" pulumi-lang-go=\"`sso`\" pulumi-lang-python=\"`sso`\" pulumi-lang-yaml=\"`sso`\" pulumi-lang-java=\"`sso`\" pulumi-lang-hcl=\"`sso`\"\u003e`sso`\u003c/span\u003e - Allows authentication via a linked Single Sign On provider. If API Keys or SSH (SFTP) Keys are also configured, those can be used *instead* of Single Sign On. If Two Factor Authentication (2FA) methods are also configured, a valid 2nd factor is required in addition to Single Sign On. When using this method, you must also provide a valid \u003cspan pulumi-lang-nodejs=\"`ssoStrategyId`\" pulumi-lang-dotnet=\"`SsoStrategyId`\" pulumi-lang-go=\"`ssoStrategyId`\" pulumi-lang-python=\"`sso_strategy_id`\" pulumi-lang-yaml=\"`ssoStrategyId`\" pulumi-lang-java=\"`ssoStrategyId`\" pulumi-lang-hcl=\"`sso_strategy_id`\"\u003e`ssoStrategyId`\u003c/span\u003e to associate the User to the appropriate SSO provider.\n\n* \u003cspan pulumi-lang-nodejs=\"`passwordWithImportedHash`\" pulumi-lang-dotnet=\"`PasswordWithImportedHash`\" pulumi-lang-go=\"`passwordWithImportedHash`\" pulumi-lang-python=\"`password_with_imported_hash`\" pulumi-lang-yaml=\"`passwordWithImportedHash`\" pulumi-lang-java=\"`passwordWithImportedHash`\" pulumi-lang-hcl=\"`password_with_imported_hash`\"\u003e`passwordWithImportedHash`\u003c/span\u003e - Works like the \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e method but allows importing a hashed password in MD5, SHA-1, or SHA-256 format. Provide the imported hash in the field \u003cspan pulumi-lang-nodejs=\"`importedPasswordHash`\" pulumi-lang-dotnet=\"`ImportedPasswordHash`\" pulumi-lang-go=\"`importedPasswordHash`\" pulumi-lang-python=\"`imported_password_hash`\" pulumi-lang-yaml=\"`importedPasswordHash`\" pulumi-lang-java=\"`importedPasswordHash`\" pulumi-lang-hcl=\"`imported_password_hash`\"\u003e`importedPasswordHash`\u003c/span\u003e. Upon first use, the password will be converted to Files.com's internal storage format and the authentication type will change to \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e. Typically only used when migrating to Files.com from another MFT solution.\n\n* \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\" pulumi-lang-hcl=\"`none`\"\u003e`none`\u003c/span\u003e - Does not allow authentication via username and password, but does allow authentication via API Key or SSH (SFTP) Key. Typically only used for service users.\n\n* \u003cspan pulumi-lang-nodejs=\"`passwordAndSshKey`\" pulumi-lang-dotnet=\"`PasswordAndSshKey`\" pulumi-lang-go=\"`passwordAndSshKey`\" pulumi-lang-python=\"`password_and_ssh_key`\" pulumi-lang-yaml=\"`passwordAndSshKey`\" pulumi-lang-java=\"`passwordAndSshKey`\" pulumi-lang-hcl=\"`password_and_ssh_key`\"\u003e`passwordAndSshKey`\u003c/span\u003e - Allows authentication only by providing a password and also a valid SSH (SFTP) Key in a single attempt. If API Keys are also configured, those can be used *instead* of the password and key combination. This method only works with (typically enterprise) SSH/SFTP clients capable of sending both authentication methods at once. Typically only used for service users.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleUser = filescom.getUser({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_user = filescom.get_user(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleUser = Filescom.GetUser.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetUser(ctx, \u0026filescom.LookupUserArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getuser\" \"exampleUser\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetUserArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleUser = FilescomFunctions.getUser(GetUserArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleUser:\n    fn::invoke:\n      function: filescom:getUser\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getUser.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "User ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getUser.\n",
                "properties": {
                    "active2fa": {
                        "description": "Is 2fa active for the user?\n",
                        "type": "boolean"
                    },
                    "adminGroupIds": {
                        "description": "List of group IDs of which this user is an administrator\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "aiAssistantPersonalityId": {
                        "description": "AI Assistant Personality ID assigned directly to this user, if any.\n",
                        "type": "integer"
                    },
                    "allowedIps": {
                        "description": "A list of allowed IPs if applicable.  Newline delimited\n",
                        "type": "string"
                    },
                    "apiKeysCount": {
                        "description": "Number of API keys associated with this user\n",
                        "type": "integer"
                    },
                    "attachmentsPermission": {
                        "description": "If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the user can user create Bundles (aka Share Links). Use the bundle permission instead.\n",
                        "type": "boolean"
                    },
                    "authenticateUntil": {
                        "description": "Scheduled Date/Time at which user will be deactivated\n",
                        "type": "string"
                    },
                    "authenticationMethod": {
                        "description": "How is this user authenticated?\n",
                        "type": "string"
                    },
                    "avatarUrl": {
                        "description": "URL holding the user's avatar\n",
                        "type": "string"
                    },
                    "billable": {
                        "description": "Is this a billable user record?\n",
                        "type": "boolean"
                    },
                    "billingPermission": {
                        "description": "Allow this user to perform operations on the account, payments, and invoices?\n",
                        "type": "boolean"
                    },
                    "bypassSiteAllowedIps": {
                        "description": "Allow this user to skip site-wide IP blacklists?\n",
                        "type": "boolean"
                    },
                    "bypassUserLifecycleRules": {
                        "description": "Exempt this user from user lifecycle rules?\n",
                        "type": "boolean"
                    },
                    "company": {
                        "description": "User's company\n",
                        "type": "string"
                    },
                    "createdAt": {
                        "description": "When this user was created\n",
                        "type": "string"
                    },
                    "davPermission": {
                        "description": "Can the user connect with WebDAV?\n",
                        "type": "boolean"
                    },
                    "daysRemainingUntilPasswordExpire": {
                        "description": "Number of days remaining until password expires\n",
                        "type": "integer"
                    },
                    "defaultWorkspaceId": {
                        "description": "Workspace ID the user should land in by default when more than one Workspace is available.\n",
                        "type": "integer"
                    },
                    "desktopConfigurationProfileId": {
                        "description": "Desktop Configuration Profile ID assigned directly to this user, if any.\n",
                        "type": "integer"
                    },
                    "disabled": {
                        "description": "Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting or schedule to be deactivated after specific date.\n",
                        "type": "boolean"
                    },
                    "disabledExpiredOrInactive": {
                        "description": "Computed property that returns true if user disabled or expired or inactive.\n",
                        "type": "boolean"
                    },
                    "email": {
                        "description": "User email address\n",
                        "type": "string"
                    },
                    "externallyManaged": {
                        "description": "Is this user managed by a SsoStrategy?\n",
                        "type": "boolean"
                    },
                    "filesystemLayout": {
                        "description": "File system layout\n",
                        "type": "string"
                    },
                    "firstLoginAt": {
                        "description": "User's first login time\n",
                        "type": "string"
                    },
                    "ftpPermission": {
                        "description": "Can the user access with FTP/FTPS?\n",
                        "type": "boolean"
                    },
                    "groupIds": {
                        "description": "Comma-separated list of group IDs of which this user is a member\n",
                        "type": "string"
                    },
                    "headerText": {
                        "description": "Text to display to the user in the header of the UI\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "User ID\n",
                        "type": "integer"
                    },
                    "integrationCentricProfileId": {
                        "description": "Integration Centric Profile ID assigned directly to this user, if any.\n",
                        "type": "integer"
                    },
                    "language": {
                        "description": "Preferred language\n",
                        "type": "string"
                    },
                    "lastActiveAt": {
                        "description": "User's most recent activity time, which is the latest of most recent login, most recent API use, enablement, or creation\n",
                        "type": "string"
                    },
                    "lastApiUseAt": {
                        "description": "User's most recent API use time\n",
                        "type": "string"
                    },
                    "lastDavLoginAt": {
                        "description": "User's most recent login time via WebDAV\n",
                        "type": "string"
                    },
                    "lastDesktopLoginAt": {
                        "description": "User's most recent login time via Desktop app\n",
                        "type": "string"
                    },
                    "lastFtpLoginAt": {
                        "description": "User's most recent login time via FTP\n",
                        "type": "string"
                    },
                    "lastLoginAt": {
                        "description": "User's most recent login time via any protocol\n",
                        "type": "string"
                    },
                    "lastProtocolCipher": {
                        "description": "The most recent protocol and cipher used\n",
                        "type": "string"
                    },
                    "lastRestapiLoginAt": {
                        "description": "User's most recent login time via Rest API\n",
                        "type": "string"
                    },
                    "lastSftpLoginAt": {
                        "description": "User's most recent login time via SFTP\n",
                        "type": "string"
                    },
                    "lastWebLoginAt": {
                        "description": "User's most recent login time via web\n",
                        "type": "string"
                    },
                    "lockoutExpires": {
                        "description": "Time in the future that the user will no longer be locked out if applicable\n",
                        "type": "string"
                    },
                    "name": {
                        "description": "User's full name\n",
                        "type": "string"
                    },
                    "notes": {
                        "description": "Any internal notes on the user\n",
                        "type": "string"
                    },
                    "notificationDailySendTime": {
                        "description": "Hour of the day at which daily notifications should be sent. Can be in range 0 to 23\n",
                        "type": "integer"
                    },
                    "notifyOnAllAutomationFailures": {
                        "description": "Should the user receive automation failures via email?\n",
                        "type": "boolean"
                    },
                    "notifyOnAllExpectationFailures": {
                        "description": "Should the user receive expectation failures and misses via email?\n",
                        "type": "boolean"
                    },
                    "notifyOnAllPendingWorkFailures": {
                        "description": "Should the user receive pending work failures via email?\n",
                        "type": "boolean"
                    },
                    "notifyOnAllSiemHttpDestinationFailures": {
                        "description": "Should the user receive siem failures via email?\n",
                        "type": "boolean"
                    },
                    "notifyOnAllSiteWarnings": {
                        "description": "Should the user receive site warnings via email?\n",
                        "type": "boolean"
                    },
                    "notifyOnAllSsoFailures": {
                        "description": "Should the user receive sso/scim/ldap configuration/sync failures via email?\n",
                        "type": "boolean"
                    },
                    "notifyOnAllSyncFailures": {
                        "description": "Should the user receive sync failures via email?\n",
                        "type": "boolean"
                    },
                    "notifyOnAllUserSecurityEvents": {
                        "description": "Should the user receive user security events via email?\n",
                        "type": "boolean"
                    },
                    "officeIntegrationEnabled": {
                        "description": "Enable integration with Office for the web?\n",
                        "type": "boolean"
                    },
                    "partnerAdmin": {
                        "description": "Is this user a Partner administrator?\n",
                        "type": "boolean"
                    },
                    "partnerId": {
                        "description": "Partner ID if this user belongs to a Partner\n",
                        "type": "integer"
                    },
                    "partnerName": {
                        "description": "Name of the Partner if this user belongs to a Partner\n",
                        "type": "string"
                    },
                    "passwordExpireAt": {
                        "description": "Password expiration datetime\n",
                        "type": "string"
                    },
                    "passwordExpired": {
                        "description": "Is user's password expired?\n",
                        "type": "boolean"
                    },
                    "passwordSetAt": {
                        "description": "Last time the user's password was set\n",
                        "type": "string"
                    },
                    "passwordValidityDays": {
                        "description": "Number of days to allow user to use the same password\n",
                        "type": "integer"
                    },
                    "primaryGroupId": {
                        "description": "Primary group ID for Group Admin scoping\n",
                        "type": "integer"
                    },
                    "publicKeysCount": {
                        "description": "Number of public keys associated with this user\n",
                        "type": "integer"
                    },
                    "readonlySiteAdmin": {
                        "description": "Is the user an allowed to view all (non-billing) site configuration for this site?\n",
                        "type": "boolean"
                    },
                    "receiveAdminAlerts": {
                        "description": "Deprecated. Use notify*on*all*site*warnings and granular failure notification preferences instead.\n",
                        "type": "boolean"
                    },
                    "require2fa": {
                        "description": "2FA required setting. \u003cspan pulumi-lang-nodejs=\"`useSystemSetting`\" pulumi-lang-dotnet=\"`UseSystemSetting`\" pulumi-lang-go=\"`useSystemSetting`\" pulumi-lang-python=\"`use_system_setting`\" pulumi-lang-yaml=\"`useSystemSetting`\" pulumi-lang-java=\"`useSystemSetting`\" pulumi-lang-hcl=\"`use_system_setting`\"\u003e`useSystemSetting`\u003c/span\u003e uses the site-wide setting, including SSO exemptions. \u003cspan pulumi-lang-nodejs=\"`alwaysRequire`\" pulumi-lang-dotnet=\"`AlwaysRequire`\" pulumi-lang-go=\"`alwaysRequire`\" pulumi-lang-python=\"`always_require`\" pulumi-lang-yaml=\"`alwaysRequire`\" pulumi-lang-java=\"`alwaysRequire`\" pulumi-lang-hcl=\"`always_require`\"\u003e`alwaysRequire`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`neverRequire`\" pulumi-lang-dotnet=\"`NeverRequire`\" pulumi-lang-go=\"`neverRequire`\" pulumi-lang-python=\"`never_require`\" pulumi-lang-yaml=\"`neverRequire`\" pulumi-lang-java=\"`neverRequire`\" pulumi-lang-hcl=\"`never_require`\"\u003e`neverRequire`\u003c/span\u003e override the site-wide setting when user-level overrides are allowed.\n",
                        "type": "string"
                    },
                    "requireLoginBy": {
                        "description": "Require user to login by specified date otherwise it will be disabled.\n",
                        "type": "string"
                    },
                    "requirePasswordChange": {
                        "description": "Is a password change required upon next user login?\n",
                        "type": "boolean"
                    },
                    "responsibleGroupId": {
                        "description": "ID of the internal Group responsible for this Partner User, overriding the Partner default.\n",
                        "type": "integer"
                    },
                    "responsibleUserId": {
                        "description": "ID of the internal User responsible for this Partner User, overriding the Partner default.\n",
                        "type": "integer"
                    },
                    "restapiPermission": {
                        "description": "Can this user access the Web app, Desktop app, SDKs, or REST API?  (All of these tools use the API internally, so this is one unified permission set.)\n",
                        "type": "boolean"
                    },
                    "selfManaged": {
                        "description": "Does this user manage it's own credentials or is it a shared/bot user?\n",
                        "type": "boolean"
                    },
                    "sftpPermission": {
                        "description": "Can the user access with SFTP?\n",
                        "type": "boolean"
                    },
                    "siteAdmin": {
                        "description": "Is the user an administrator for this site?\n",
                        "type": "boolean"
                    },
                    "siteId": {
                        "description": "Site ID\n",
                        "type": "integer"
                    },
                    "skipWelcomeScreen": {
                        "description": "Skip Welcome page in the UI?\n",
                        "type": "boolean"
                    },
                    "sslRequired": {
                        "description": "SSL required setting\n",
                        "type": "string"
                    },
                    "ssoStrategyId": {
                        "description": "SSO (Single Sign On) strategy ID for the user, if applicable.\n",
                        "type": "integer"
                    },
                    "subscribeToNewsletter": {
                        "description": "Is the user subscribed to the newsletter?\n",
                        "type": "boolean"
                    },
                    "tags": {
                        "description": "Comma-separated list of Tags for this user. Tags are used for other features, such as UserLifecycleRules, which can target specific tags.  Tags must only contain lowercase letters, numbers, and hyphens.\n",
                        "type": "string"
                    },
                    "timeZone": {
                        "description": "User time zone\n",
                        "type": "string"
                    },
                    "typeOf2fa": {
                        "description": "Type(s) of 2FA methods in use, for programmatic use.  Will be either \u003cspan pulumi-lang-nodejs=\"`sms`\" pulumi-lang-dotnet=\"`Sms`\" pulumi-lang-go=\"`sms`\" pulumi-lang-python=\"`sms`\" pulumi-lang-yaml=\"`sms`\" pulumi-lang-java=\"`sms`\" pulumi-lang-hcl=\"`sms`\"\u003e`sms`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`totp`\" pulumi-lang-dotnet=\"`Totp`\" pulumi-lang-go=\"`totp`\" pulumi-lang-python=\"`totp`\" pulumi-lang-yaml=\"`totp`\" pulumi-lang-java=\"`totp`\" pulumi-lang-hcl=\"`totp`\"\u003e`totp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`webauthn`\" pulumi-lang-dotnet=\"`Webauthn`\" pulumi-lang-go=\"`webauthn`\" pulumi-lang-python=\"`webauthn`\" pulumi-lang-yaml=\"`webauthn`\" pulumi-lang-java=\"`webauthn`\" pulumi-lang-hcl=\"`webauthn`\"\u003e`webauthn`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`yubi`\" pulumi-lang-dotnet=\"`Yubi`\" pulumi-lang-go=\"`yubi`\" pulumi-lang-python=\"`yubi`\" pulumi-lang-yaml=\"`yubi`\" pulumi-lang-java=\"`yubi`\" pulumi-lang-hcl=\"`yubi`\"\u003e`yubi`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\" pulumi-lang-hcl=\"`email`\"\u003e`email`\u003c/span\u003e, or multiple values sorted alphabetically and joined by an underscore.  Does not specify whether user has more than one of a given method.\n",
                        "type": "string"
                    },
                    "typeOf2faForDisplay": {
                        "description": "Type(s) of 2FA methods in use, formatted for displaying in the UI.  Unlike \u003cspan pulumi-lang-nodejs=\"`typeOf2fa`\" pulumi-lang-dotnet=\"`TypeOf2fa`\" pulumi-lang-go=\"`typeOf2fa`\" pulumi-lang-python=\"`type_of_2fa`\" pulumi-lang-yaml=\"`typeOf2fa`\" pulumi-lang-java=\"`typeOf2fa`\" pulumi-lang-hcl=\"`type_of_2fa`\"\u003e`typeOf2fa`\u003c/span\u003e, this value will make clear when a user has more than 1 of the same type of method.\n",
                        "type": "string"
                    },
                    "userHome": {
                        "description": "Home folder for FTP/SFTP. For users with the\u003cspan pulumi-lang-nodejs=\" partnerRoot \" pulumi-lang-dotnet=\" PartnerRoot \" pulumi-lang-go=\" partnerRoot \" pulumi-lang-python=\" partner_root \" pulumi-lang-yaml=\" partnerRoot \" pulumi-lang-java=\" partnerRoot \" pulumi-lang-hcl=\" partner_root \"\u003e partnerRoot \u003c/span\u003efilesystem layout, this path is relative to the Partner root folder. In all other cases, it is an absolute path. Only applies to FTP and SFTP, and not any other interface.\n",
                        "type": "string"
                    },
                    "userRoot": {
                        "description": "If filesystem layout is user*root, this path is the root path the user is fixed to for all interfaces. If the filesystem layout is site*root or partner*root, this acts as a root folder only for FTP and SFTP (SFTP applicability also requires a site-wide setting to be set). For partner*root layout, this path is relative to the Partner root folder for all callers and blank opts out of an additional protocol root. In this situation, this path is not applied to the API, Desktop, or Web interface.\n",
                        "type": "string"
                    },
                    "username": {
                        "description": "User's username\n",
                        "type": "string"
                    },
                    "workspaceAdmin": {
                        "description": "Is the user a Workspace administrator?  Applicable only to the workspace ID related to this user, if one is set.\n",
                        "type": "boolean"
                    },
                    "workspaceId": {
                        "description": "Workspace ID\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "active2fa",
                    "adminGroupIds",
                    "aiAssistantPersonalityId",
                    "allowedIps",
                    "apiKeysCount",
                    "attachmentsPermission",
                    "authenticateUntil",
                    "authenticationMethod",
                    "avatarUrl",
                    "billable",
                    "billingPermission",
                    "bypassSiteAllowedIps",
                    "bypassUserLifecycleRules",
                    "company",
                    "createdAt",
                    "davPermission",
                    "daysRemainingUntilPasswordExpire",
                    "defaultWorkspaceId",
                    "desktopConfigurationProfileId",
                    "disabled",
                    "disabledExpiredOrInactive",
                    "email",
                    "externallyManaged",
                    "filesystemLayout",
                    "firstLoginAt",
                    "ftpPermission",
                    "groupIds",
                    "headerText",
                    "id",
                    "integrationCentricProfileId",
                    "language",
                    "lastActiveAt",
                    "lastApiUseAt",
                    "lastDavLoginAt",
                    "lastDesktopLoginAt",
                    "lastFtpLoginAt",
                    "lastLoginAt",
                    "lastProtocolCipher",
                    "lastRestapiLoginAt",
                    "lastSftpLoginAt",
                    "lastWebLoginAt",
                    "lockoutExpires",
                    "name",
                    "notes",
                    "notificationDailySendTime",
                    "notifyOnAllAutomationFailures",
                    "notifyOnAllExpectationFailures",
                    "notifyOnAllPendingWorkFailures",
                    "notifyOnAllSiemHttpDestinationFailures",
                    "notifyOnAllSiteWarnings",
                    "notifyOnAllSsoFailures",
                    "notifyOnAllSyncFailures",
                    "notifyOnAllUserSecurityEvents",
                    "officeIntegrationEnabled",
                    "partnerAdmin",
                    "partnerId",
                    "partnerName",
                    "passwordExpireAt",
                    "passwordExpired",
                    "passwordSetAt",
                    "passwordValidityDays",
                    "primaryGroupId",
                    "publicKeysCount",
                    "readonlySiteAdmin",
                    "receiveAdminAlerts",
                    "require2fa",
                    "requireLoginBy",
                    "requirePasswordChange",
                    "responsibleGroupId",
                    "responsibleUserId",
                    "restapiPermission",
                    "selfManaged",
                    "sftpPermission",
                    "siteAdmin",
                    "siteId",
                    "skipWelcomeScreen",
                    "sslRequired",
                    "ssoStrategyId",
                    "subscribeToNewsletter",
                    "tags",
                    "timeZone",
                    "typeOf2fa",
                    "typeOf2faForDisplay",
                    "userHome",
                    "userRoot",
                    "username",
                    "workspaceAdmin",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getUserAdditionalEmailRecipient:getUserAdditionalEmailRecipient": {
            "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleUserAdditionalEmailRecipient = filescom.getUserAdditionalEmailRecipient({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_user_additional_email_recipient = filescom.get_user_additional_email_recipient(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleUserAdditionalEmailRecipient = Filescom.GetUserAdditionalEmailRecipient.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetUserAdditionalEmailRecipient(ctx, \u0026filescom.LookupUserAdditionalEmailRecipientArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getuseradditionalemailrecipient\" \"exampleUserAdditionalEmailRecipient\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetUserAdditionalEmailRecipientArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleUserAdditionalEmailRecipient = FilescomFunctions.getUserAdditionalEmailRecipient(GetUserAdditionalEmailRecipientArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleUserAdditionalEmailRecipient:\n    fn::invoke:\n      function: filescom:getUserAdditionalEmailRecipient\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getUserAdditionalEmailRecipient.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "User additional email recipient ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getUserAdditionalEmailRecipient.\n",
                "properties": {
                    "createdAt": {
                        "description": "Created at date/time\n",
                        "type": "string"
                    },
                    "email": {
                        "description": "Additional email recipient address\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "User additional email recipient ID\n",
                        "type": "integer"
                    },
                    "userId": {
                        "description": "User ID\n",
                        "type": "integer"
                    },
                    "workspaceId": {
                        "description": "Workspace ID (0 for default workspace).\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "createdAt",
                    "email",
                    "id",
                    "userId",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getUserLifecycleRule:getUserLifecycleRule": {
            "description": "A UserLifecycleRule represents a rule that applies to users based on their inactivity, state and authentication method.\n\n\n\nThe rule either disable or delete users who have been inactive or disabled for a specified number of days.\n\n\n\nThe\u003cspan pulumi-lang-nodejs=\" authenticationMethod \" pulumi-lang-dotnet=\" AuthenticationMethod \" pulumi-lang-go=\" authenticationMethod \" pulumi-lang-python=\" authentication_method \" pulumi-lang-yaml=\" authenticationMethod \" pulumi-lang-java=\" authenticationMethod \" pulumi-lang-hcl=\" authentication_method \"\u003e authenticationMethod \u003c/span\u003eproperty specifies the authentication method for the rule, which can be set to \"all\", \u003cspan pulumi-lang-nodejs=\"\"allNonSso\"\" pulumi-lang-dotnet=\"\"AllNonSso\"\" pulumi-lang-go=\"\"allNonSso\"\" pulumi-lang-python=\"\"all_non_sso\"\" pulumi-lang-yaml=\"\"allNonSso\"\" pulumi-lang-java=\"\"allNonSso\"\" pulumi-lang-hcl=\"\"all_non_sso\"\"\u003e\"allNonSso\"\u003c/span\u003e, or a specific authentication method.\n\n\n\nThe rule can also include or exclude site and folder admins from the action.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleUserLifecycleRule = filescom.getUserLifecycleRule({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_user_lifecycle_rule = filescom.get_user_lifecycle_rule(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleUserLifecycleRule = Filescom.GetUserLifecycleRule.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetUserLifecycleRule(ctx, \u0026filescom.LookupUserLifecycleRuleArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getuserlifecyclerule\" \"exampleUserLifecycleRule\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetUserLifecycleRuleArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleUserLifecycleRule = FilescomFunctions.getUserLifecycleRule(GetUserLifecycleRuleArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleUserLifecycleRule:\n    fn::invoke:\n      function: filescom:getUserLifecycleRule\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getUserLifecycleRule.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "User Lifecycle Rule ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getUserLifecycleRule.\n",
                "properties": {
                    "action": {
                        "description": "Action to take on inactive users (disable or delete)\n",
                        "type": "string"
                    },
                    "applyToAllWorkspaces": {
                        "description": "If true, a default-workspace rule also applies to users in all workspaces.\n",
                        "type": "boolean"
                    },
                    "authenticationMethod": {
                        "description": "User authentication method for which the rule will apply. Use \u003cspan pulumi-lang-nodejs=\"`allNonSso`\" pulumi-lang-dotnet=\"`AllNonSso`\" pulumi-lang-go=\"`allNonSso`\" pulumi-lang-python=\"`all_non_sso`\" pulumi-lang-yaml=\"`allNonSso`\" pulumi-lang-java=\"`allNonSso`\" pulumi-lang-hcl=\"`all_non_sso`\"\u003e`allNonSso`\u003c/span\u003e to target every non-SSO authentication method with one rule.\n",
                        "type": "string"
                    },
                    "groupIds": {
                        "description": "Array of Group IDs to which the rule applies. If empty or not set, the rule applies to all users.\n",
                        "items": {
                            "type": "integer"
                        },
                        "type": "array"
                    },
                    "id": {
                        "description": "User Lifecycle Rule ID\n",
                        "type": "integer"
                    },
                    "inactivityDays": {
                        "description": "Number of days of inactivity before the rule applies\n",
                        "type": "integer"
                    },
                    "includeFolderAdmins": {
                        "description": "If true, the rule will apply to folder admins.\n",
                        "type": "boolean"
                    },
                    "includeSiteAdmins": {
                        "description": "If true, the rule will apply to site admins.\n",
                        "type": "boolean"
                    },
                    "name": {
                        "description": "User Lifecycle Rule name\n",
                        "type": "string"
                    },
                    "notifyUsers": {
                        "description": "If true, users will be emailed before the rule disables or deletes them.\n",
                        "type": "boolean"
                    },
                    "partnerTag": {
                        "description": "If provided, only users belonging to Partners with this tag at the Partner level will be affected by the rule. Tags must only contain lowercase letters, numbers, and hyphens.\n",
                        "type": "string"
                    },
                    "siteId": {
                        "description": "Site ID\n",
                        "type": "integer"
                    },
                    "userState": {
                        "description": "State of the users to apply the rule to (inactive or disabled)\n",
                        "type": "string"
                    },
                    "userTag": {
                        "description": "If provided, only users with this tag will be affected by the rule. Tags must only contain lowercase letters, numbers, and hyphens.\n",
                        "type": "string"
                    },
                    "workspaceId": {
                        "description": "Workspace ID. \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\" pulumi-lang-hcl=\"`0`\"\u003e`0`\u003c/span\u003e means the default workspace.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "action",
                    "applyToAllWorkspaces",
                    "authenticationMethod",
                    "groupIds",
                    "id",
                    "inactivityDays",
                    "includeFolderAdmins",
                    "includeSiteAdmins",
                    "name",
                    "notifyUsers",
                    "partnerTag",
                    "siteId",
                    "userState",
                    "userTag",
                    "workspaceId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getUserRequest:getUserRequest": {
            "description": "A UserRequest is an operation that allows anonymous users to place a request for access on the login screen to the site administrator.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleUserRequest = filescom.getUserRequest({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_user_request = filescom.get_user_request(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleUserRequest = Filescom.GetUserRequest.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetUserRequest(ctx, \u0026filescom.LookupUserRequestArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getuserrequest\" \"exampleUserRequest\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetUserRequestArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleUserRequest = FilescomFunctions.getUserRequest(GetUserRequestArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleUserRequest:\n    fn::invoke:\n      function: filescom:getUserRequest\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getUserRequest.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getUserRequest.\n",
                "properties": {
                    "company": {
                        "description": "User's company name\n",
                        "type": "string"
                    },
                    "details": {
                        "description": "Details of the user's request\n",
                        "type": "string"
                    },
                    "email": {
                        "description": "User email address\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "ID\n",
                        "type": "integer"
                    },
                    "name": {
                        "description": "User's full name\n",
                        "type": "string"
                    }
                },
                "required": [
                    "company",
                    "details",
                    "email",
                    "id",
                    "name"
                ],
                "type": "object"
            }
        },
        "filescom:index/getUserSecurityEvent:getUserSecurityEvent": {
            "description": "A UserSecurityEvent is a log record for user security activity such as user lockouts.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleUserSecurityEvent = filescom.getUserSecurityEvent({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_user_security_event = filescom.get_user_security_event(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleUserSecurityEvent = Filescom.GetUserSecurityEvent.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetUserSecurityEvent(ctx, \u0026filescom.GetUserSecurityEventArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getusersecurityevent\" \"exampleUserSecurityEvent\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetUserSecurityEventArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleUserSecurityEvent = FilescomFunctions.getUserSecurityEvent(GetUserSecurityEventArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleUserSecurityEvent:\n    fn::invoke:\n      function: filescom:getUserSecurityEvent\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getUserSecurityEvent.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Event ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getUserSecurityEvent.\n",
                "properties": {
                    "body": {
                        "description": "Event body.\n",
                        "type": "string"
                    },
                    "bodyUrl": {
                        "description": "Link to log file.\n",
                        "type": "string"
                    },
                    "createdAt": {
                        "description": "Event create date/time.\n",
                        "type": "string"
                    },
                    "eventErrors": {
                        "description": "Event errors.\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "eventType": {
                        "description": "Type of user security event being recorded.\n",
                        "type": "string"
                    },
                    "id": {
                        "description": "Event ID\n",
                        "type": "integer"
                    },
                    "userId": {
                        "description": "User ID.\n",
                        "type": "integer"
                    }
                },
                "required": [
                    "body",
                    "bodyUrl",
                    "createdAt",
                    "eventErrors",
                    "eventType",
                    "id",
                    "userId"
                ],
                "type": "object"
            }
        },
        "filescom:index/getWorkspace:getWorkspace": {
            "description": "A Workspace is a lightweight way to organize related resources inside a single Files.com Site.\n\n\n\nCustomers commonly group resources by project, department, client, or region. Workspaces provide a built-in structure for that grouping, so the UI can operate within a clear “workspace context” and admins can delegate management for a subset of resources without requiring full site-level isolation.\n\n\n\nEvery Site has an implicit Default workspace (ID 0). Resources that are not explicitly assigned to a named workspace are considered part of the Default workspace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as filescom from \"pulumi-filescom\";\n\nconst exampleWorkspace = filescom.getWorkspace({\n    id: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_filescom as filescom\n\nexample_workspace = filescom.get_workspace(id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Filescom = Jschady.Filescom;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleWorkspace = Filescom.GetWorkspace.Invoke(new()\n    {\n        Id = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/jschady/pulumi-filescom/sdk/go/filescom\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filescom.GetWorkspace(ctx, \u0026filescom.LookupWorkspaceArgs{\n\t\t\tId: 1,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    filescom = {\n      source = \"pulumi/filescom\"\n    }\n  }\n}\n\ndata \"filescom_getworkspace\" \"exampleWorkspace\" {\n  id = 1\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.filescom.FilescomFunctions;\nimport com.pulumi.filescom.inputs.GetWorkspaceArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleWorkspace = FilescomFunctions.getWorkspace(GetWorkspaceArgs.builder()\n            .id(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleWorkspace:\n    fn::invoke:\n      function: filescom:getWorkspace\n      arguments:\n        id: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getWorkspace.\n",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Workspace ID\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getWorkspace.\n",
                "properties": {
                    "id": {
                        "description": "Workspace ID\n",
                        "type": "integer"
                    },
                    "name": {
                        "description": "Workspace name\n",
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "name"
                ],
                "type": "object"
            }
        },
        "pulumi:providers:filescom/terraformConfig": {
            "description": "This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.",
            "inputs": {
                "properties": {
                    "__self__": {
                        "type": "ref",
                        "$ref": "#/provider"
                    }
                },
                "type": "pulumi:providers:filescom/terraformConfig",
                "required": [
                    "__self__"
                ]
            },
            "outputs": {
                "properties": {
                    "result": {
                        "additionalProperties": {
                            "$ref": "pulumi.json#/Any"
                        },
                        "type": "object"
                    }
                },
                "required": [
                    "result"
                ],
                "type": "object"
            }
        }
    }
}