Skip to content

Regenerate connectors #56

Description

@hallvictoria

Context

Connectors-NET-SDK PR #210 regenerated all 97 .NET connector clients from current managed-connector Swagger using AzureUX-BPM PR 16421737. That generator PR:

  • Replaced the ARMClient executable with Azure Identity DefaultAzureCredential.
  • Filters Swagger operations marked deprecated (in C#, TypeScript, and Python).
  • Preserves valid ARM JSON before applying malformed-response fallbacks.
  • Handles connectors advertising both JSON and multipart content types.
  • Sends binary Swagger bodies as raw application/octet-stream bytes instead of JSON/base64.

Because both SDKs generate from the same wire contracts, the Python SDK now drifts from .NET on any connector touched by this refresh. This issue tracks regenerating the affected Python clients so the two SDKs stay contract-aligned. The generator changes already support --pythonDirectClient, so this is primarily a regenerate-and-validate pass, not new generator work.

Scope / affected connectors

Mirror the contract changes landed in .NET. Regenerate at minimum the connectors with behavioral/contract deltas:

Removed operations (multipart/formData bodies the transport can't compose):

  • cloudmersiveconvert — 75 multipart ops removed (e.g. convert_document_autodetect_to_pdf, convert_document_docx_to_pdf, merge_document_pdf, split_document_pdf_by_page); 53 non-multipart ops remain.
  • docuwarestore_to_file_cabinet, import_to_document_tray, append_file, delete_file, replace_file removed.
  • zohosigncreate_document removed (multipart file param).

Contract shape changes:

  • azurequeues — nested QueueMessagesList.QueueMessage[] wrapper; TimeNextVisibleNextVisibleTime; confirm DequeueCount handling (see risk below).
  • documentdb — dynamic document fields on each ObjectWithoutType item; synthetic envelope property removed.
  • eventhubssend_events requires partition_key; generate_event_schema requires content_type.
  • docusign — deprecated ops removed; parameter renames (account_id, envelope_id); adds get_docgen_template_tabs, get_organizations.
  • teams — transcript/recording webhook trigger contracts removed; adds remove_member_from_chat, update_channel_properties.
  • sharepoint — adds get_day_of_week_options.
  • microsoftforms / wordonlinebusiness — internal discovery method contract corrections.

Binary upload transport:

  • signinghubattachment_upload_attachment / documents_upload_stream now require raw file bytes sent as application/octet-stream. Requires the Python SDK's binary/raw request path to exist and be wired the same way as .NET's new CallConnectorAsync(byte[], contentType) overloads. Verify the Python ConnectorClient base supports an unencoded binary body before regenerating these.

Required changes (per connector)

For each regenerated connector, follow the add-connector / regeneration workflow:

  1. Regenerate src/azure/connectors/<connector>.py via LogicAppsCompiler.exe <out> --pythonDirectClient --connectors=<name>.
  2. Copy output into src/azure/connectors/; do not hand-edit generated files.
  3. Update tests/test_<connector>.py for removed/renamed operations and new required params.
  4. Update sample files under samples/sample_connector_usage/ if operation signatures changed.
  5. Update README.md validated-connectors table (operation counts / status).
  6. Add a CHANGELOG.md entry under [Unreleased] — mark breaking changes (removed ops, renamed params, required-param additions) explicitly.
  7. Verify: py_compile clean + pytest green.

Risks / open questions

  • DequeueCount durability (Azure Queues): In .NET this field is kept even though AAPT Swagger omits it — a runtime-contract correction. Confirm whether that correction lives in the generator (survives regeneration) or was hand-patched into the .NET output. Python must inherit the same corrected generator behavior, otherwise the field silently drops on regeneration and the two SDKs diverge. Blocks azurequeues parity.
  • Binary transport prerequisite: signinghub (and any other binary-upload connector) parity depends on the Python base client having a raw-bytes request path equivalent to .NET's binary CallConnectorAsync overloads. If missing, that's a separate prerequisite task.
  • Multipart exclusions: Multipart/formData-only operations remain excluded in both SDKs pending Swagger 2.0 multipart transport support (.NET tracks this in issue #212). Python should reference the same limitation rather than attempt to expose those ops.

Acceptance criteria

  • Affected Python clients regenerated from the same generator revision as .NET PR #210.
  • Fresh regeneration verified for the correction-carrying connectors (azurequeues, documentdb, eventhubs) — not just office365/docuware/signinghub.
  • Removed/renamed operations reflected in tests, samples, README, and CHANGELOG (breaking changes flagged).
  • DequeueCount and other manual corrections confirmed reproducible by generation (no hand-edits).
  • pytest passes; generated files compile.
  • CHANGELOG [Unreleased] entry references .NET PR #210 for traceability.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions