> For the complete documentation index, see [llms.txt](https://docs.parallels.com/landing/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.parallels.com/landing/ras-cpf-integration-guide/custom-provider-framework/operational-guidance.md).

# Operational Guidance

<table data-header-hidden="false" data-header-sticky><thead><tr><th>Topic</th><th>Guidance</th></tr></thead><tbody><tr><td>Deployment location</td><td>Deploy the script and all dependencies on each relevant Provider Agent machine. Verify that the command can run successfully under the service context used by RAS.</td></tr><tr><td>Logging</td><td>Use RAS logs plus script-side diagnostics. The framework documentation defines dedicated logs for protocol traffic and stderr output.</td></tr><tr><td>Failure handling</td><td>Expect transient and development-time failures. Connectors should fail cleanly, return structured errors, and avoid partial state corruption.</td></tr><tr><td>Backoff and resiliency</td><td>Frequent failures should not lead to aggressive retry loops. Build retry behavior carefully around provider APIs and rate limits.</td></tr><tr><td>Validation</td><td>A validation tool is planned so scripts can be checked against the contract before onboarding into RAS or escalation through support.</td></tr><tr><td>Concurrency</td><td>Do not rely on global files, registry keys, or other shared mutable state that would break when multiple connector instances execute concurrently.</td></tr></tbody></table>

### Expected RAS-side logs

* **CustomProvider.log** - JSON communication between RAS and the script.
* **CustomProvider.out.log** - script stderr output, including exceptions and diagnostic messages.
* **Vdiagent.log** - Custom Provider activity, similar to other Tier 1 providers, including VM IDs, enumeration events, and command execution details.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.parallels.com/landing/ras-cpf-integration-guide/custom-provider-framework/operational-guidance.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
