diff --git a/.speakeasy/logs/changes/changes.html b/.speakeasy/logs/changes/changes.html index b63c077d..584253c1 100644 --- a/.speakeasy/logs/changes/changes.html +++ b/.speakeasy/logs/changes/changes.html @@ -4,7 +4,7 @@ - SDK Changelog - go + SDK Changelog - python -

Go SDK Changes:

+

Python SDK Changes:

\ No newline at end of file diff --git a/.speakeasy/logs/changes/changes.md b/.speakeasy/logs/changes/changes.md index 6f7d3e9f..e91221f7 100644 --- a/.speakeasy/logs/changes/changes.md +++ b/.speakeasy/logs/changes/changes.md @@ -1,28 +1,18 @@ -## Go SDK Changes: -* `Outpost.Events.List()`: `request.Request` **Changed** (Breaking ⚠️) - - `Id` **Added** - - `TenantId` **Changed** (Breaking ⚠️) - - `Time[gt]` **Added** - - `Time[lt]` **Added** - - `Topic` **Changed** (Breaking ⚠️) -* `Outpost.Attempts.List()`: `request.Request` **Changed** (Breaking ⚠️) - - `DestinationId` **Changed** (Breaking ⚠️) - - `EventId` **Changed** (Breaking ⚠️) - - `Include` **Changed** (Breaking ⚠️) - - `TenantId` **Changed** (Breaking ⚠️) - - `Time[gt]` **Added** - - `Time[lt]` **Added** - - `Topic` **Changed** (Breaking ⚠️) -* `Outpost.Attempts.Get()`: `request.Include` **Changed** (Breaking ⚠️) -* `Outpost.Destinations.List()`: `request` **Changed** (Breaking ⚠️) - - `Topics` **Changed** (Breaking ⚠️) - - `Type` **Changed** (Breaking ⚠️) -* `Outpost.Destinations.ListAttempts()`: `request.Request` **Changed** (Breaking ⚠️) - - `EventId` **Changed** (Breaking ⚠️) - - `Include` **Changed** (Breaking ⚠️) - - `Time[gt]` **Added** - - `Time[lt]` **Added** - - `Topic` **Changed** (Breaking ⚠️) -* `Outpost.Destinations.GetAttempt()`: `request.Include` **Changed** (Breaking ⚠️) -* `Outpost.Tenants.List()`: **Added** -* `Outpost.Tenants.ListTenants()`: **Removed** (Breaking ⚠️) +## Python SDK Changes: +* `outpost.events.list()`: `request` **Changed** (Breaking ⚠️) + - `id` **Added** + - `tenant_id` **Changed** (Breaking ⚠️) + - `time[gt]` **Added** + - `time[lt]` **Added** +* `outpost.attempts.list()`: `request` **Changed** (Breaking ⚠️) + - `destination_id` **Changed** (Breaking ⚠️) + - `event_id` **Changed** (Breaking ⚠️) + - `tenant_id` **Changed** (Breaking ⚠️) + - `time[gt]` **Added** + - `time[lt]` **Added** +* `outpost.destinations.list_attempts()`: `request` **Changed** (Breaking ⚠️) + - `event_id` **Changed** (Breaking ⚠️) + - `time[gt]` **Added** + - `time[lt]` **Added** +* `outpost.tenants.list()`: **Added** +* `outpost.tenants.list_tenants()`: **Removed** (Breaking ⚠️) diff --git a/.speakeasy/logs/changes/new.openapi.yaml b/.speakeasy/logs/changes/new.openapi.yaml index 494d08c0..df1f9f5c 100644 --- a/.speakeasy/logs/changes/new.openapi.yaml +++ b/.speakeasy/logs/changes/new.openapi.yaml @@ -204,11 +204,13 @@ components: nullable: true description: Cursor for the next page of results. Null if no more results. example: "MTcwNDA2NzIwMA==" + x-speakeasy-name-override: "next_cursor" prev: type: string nullable: true description: Cursor for the previous page of results. Null if on first page. example: null + x-speakeasy-name-override: "prev_cursor" APIErrorResponse: type: object description: Standard error response format. @@ -2209,9 +2211,11 @@ paths: in: query required: false schema: - type: array - items: - type: string + oneOf: + - type: string + - type: array + items: + type: string description: Filter tenants by ID(s). Use bracket notation for multiple values (e.g., `id[0]=t1&id[1]=t2` or `id[]=t1&id[]=t2`). - name: limit in: query @@ -2230,18 +2234,21 @@ paths: enum: [asc, desc] default: desc description: Sort direction. + x-speakeasy-name-override: "direction" - name: next in: query required: false schema: type: string description: Cursor for the next page of results. Mutually exclusive with `prev`. + x-speakeasy-name-override: "next_cursor" - name: prev in: query required: false schema: type: string description: Cursor for the previous page of results. Mutually exclusive with `next`. + x-speakeasy-name-override: "prev_cursor" responses: "200": description: List of tenants. @@ -2396,17 +2403,21 @@ paths: in: query required: false schema: - type: array - items: - type: string + oneOf: + - type: string + - type: array + items: + type: string description: Filter events by ID(s). Use bracket notation for multiple values (e.g., `id[0]=abc&id[1]=def`). - name: tenant_id in: query required: false schema: - type: array - items: - type: string + oneOf: + - type: string + - type: array + items: + type: string description: | Filter events by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`). When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used. @@ -2415,9 +2426,11 @@ paths: in: query required: false schema: - type: array - items: - type: string + oneOf: + - type: string + - type: array + items: + type: string description: Filter events by topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`). - name: time[gte] in: query @@ -2462,12 +2475,14 @@ paths: schema: type: string description: Cursor for next page of results. + x-speakeasy-name-override: "next_cursor" - name: prev in: query required: false schema: type: string description: Cursor for previous page of results. + x-speakeasy-name-override: "prev_cursor" - name: order_by in: query required: false @@ -2484,6 +2499,7 @@ paths: enum: [asc, desc] default: desc description: Sort direction. + x-speakeasy-name-override: "direction" responses: "200": description: A paginated list of events. @@ -2587,9 +2603,11 @@ paths: in: query required: false schema: - type: array - items: - type: string + oneOf: + - type: string + - type: array + items: + type: string description: | Filter attempts by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`). When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used. @@ -2598,17 +2616,21 @@ paths: in: query required: false schema: - type: array - items: - type: string + oneOf: + - type: string + - type: array + items: + type: string description: Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`). - name: destination_id in: query required: false schema: - type: array - items: - type: string + oneOf: + - type: string + - type: array + items: + type: string description: Filter attempts by destination ID(s). Use bracket notation for multiple values (e.g., `destination_id[0]=d1&destination_id[1]=d2`). - name: status in: query @@ -2621,9 +2643,11 @@ paths: in: query required: false schema: - type: array - items: - type: string + oneOf: + - type: string + - type: array + items: + type: string description: Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`). - name: time[gte] in: query @@ -2668,19 +2692,23 @@ paths: schema: type: string description: Cursor for next page of results. + x-speakeasy-name-override: "next_cursor" - name: prev in: query required: false schema: type: string description: Cursor for previous page of results. + x-speakeasy-name-override: "prev_cursor" - name: include in: query required: false schema: - type: array - items: - type: string + oneOf: + - type: string + - type: array + items: + type: string description: | Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) @@ -2702,6 +2730,7 @@ paths: enum: [asc, desc] default: desc description: Sort direction. + x-speakeasy-name-override: "direction" responses: "200": description: A paginated list of attempts. @@ -2797,9 +2826,11 @@ paths: in: query required: false schema: - type: array - items: - type: string + oneOf: + - type: string + - type: array + items: + type: string description: | Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) @@ -2948,17 +2979,21 @@ paths: in: query required: false schema: - type: array - items: - $ref: "#/components/schemas/DestinationType" + oneOf: + - $ref: "#/components/schemas/DestinationType" + - type: array + items: + $ref: "#/components/schemas/DestinationType" description: Filter destinations by type(s). Use bracket notation for multiple values (e.g., `type[0]=webhook&type[1]=aws_sqs`). - name: topics in: query required: false schema: - type: array - items: - type: string + oneOf: + - type: string + - type: array + items: + type: string description: Filter destinations by supported topic(s). Use bracket notation for multiple values (e.g., `topics[0]=user.created&topics[1]=user.deleted`). responses: "200": @@ -3292,9 +3327,11 @@ paths: in: query required: false schema: - type: array - items: - type: string + oneOf: + - type: string + - type: array + items: + type: string description: Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`). - name: status in: query @@ -3307,9 +3344,11 @@ paths: in: query required: false schema: - type: array - items: - type: string + oneOf: + - type: string + - type: array + items: + type: string description: Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`). - name: time[gte] in: query @@ -3354,19 +3393,23 @@ paths: schema: type: string description: Cursor for next page of results. + x-speakeasy-name-override: "next_cursor" - name: prev in: query required: false schema: type: string description: Cursor for previous page of results. + x-speakeasy-name-override: "prev_cursor" - name: include in: query required: false schema: - type: array - items: - type: string + oneOf: + - type: string + - type: array + items: + type: string description: | Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) @@ -3388,6 +3431,7 @@ paths: enum: [asc, desc] default: desc description: Sort direction. + x-speakeasy-name-override: "direction" responses: "200": description: A paginated list of attempts for the destination. @@ -3468,9 +3512,11 @@ paths: in: query required: false schema: - type: array - items: - type: string + oneOf: + - type: string + - type: array + items: + type: string description: | Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary diff --git a/.speakeasy/logs/changes/old.openapi.yaml b/.speakeasy/logs/changes/old.openapi.yaml index 7f29c3eb..f1a9fa00 100644 --- a/.speakeasy/logs/changes/old.openapi.yaml +++ b/.speakeasy/logs/changes/old.openapi.yaml @@ -204,11 +204,13 @@ components: nullable: true description: Cursor for the next page of results. Null if no more results. example: "MTcwNDA2NzIwMA==" + x-speakeasy-name-override: "next_cursor" prev: type: string nullable: true description: Cursor for the previous page of results. Null if on first page. example: null + x-speakeasy-name-override: "prev_cursor" APIErrorResponse: type: object description: Standard error response format. @@ -2191,6 +2193,7 @@ paths: schema: type: string description: Cursor for the next page of results. Mutually exclusive with `prev`. + x-speakeasy-name-override: "direction" - name: prev in: query required: false @@ -2240,6 +2243,18 @@ paths: example: "list tenant not supported" security: - BearerAuth: [] + x-speakeasy-pagination: + type: cursor + inputs: + - name: next + in: parameters + type: cursor + - name: limit + in: parameters + type: limit + outputs: + nextCursor: $.pagination.next + results: $.models /tenants/{tenant_id}: parameters: - name: tenant_id @@ -2378,12 +2393,14 @@ paths: schema: type: string description: Cursor for next page of results. + x-speakeasy-name-override: "next_cursor" - name: prev in: query required: false schema: type: string description: Cursor for previous page of results. + x-speakeasy-name-override: "prev_cursor" - name: order_by in: query required: false @@ -2400,6 +2417,7 @@ paths: enum: [asc, desc] default: desc description: Sort direction. + x-speakeasy-name-override: "direction" responses: "200": description: A paginated list of events. @@ -2436,6 +2454,18 @@ paths: x-speakeasy-name-override: list security: - BearerAuth: [] + x-speakeasy-pagination: + type: cursor + inputs: + - name: next + in: parameters + type: cursor + - name: limit + in: parameters + type: limit + outputs: + nextCursor: $.pagination.next + results: $.models /events/{event_id}: parameters: - name: event_id @@ -2551,12 +2581,14 @@ paths: schema: type: string description: Cursor for next page of results. + x-speakeasy-name-override: "next_cursor" - name: prev in: query required: false schema: type: string description: Cursor for previous page of results. + x-speakeasy-name-override: "prev_cursor" - name: include in: query required: false @@ -2587,6 +2619,7 @@ paths: enum: [asc, desc] default: desc description: Sort direction. + x-speakeasy-name-override: "direction" responses: "200": description: A paginated list of attempts. @@ -2648,6 +2681,18 @@ paths: x-speakeasy-name-override: list security: - BearerAuth: [] + x-speakeasy-pagination: + type: cursor + inputs: + - name: next + in: parameters + type: cursor + - name: limit + in: parameters + type: limit + outputs: + nextCursor: $.pagination.next + results: $.models /attempts/{attempt_id}: parameters: - name: attempt_id @@ -3219,12 +3264,14 @@ paths: schema: type: string description: Cursor for next page of results. + x-speakeasy-name-override: "next_cursor" - name: prev in: query required: false schema: type: string description: Cursor for previous page of results. + x-speakeasy-name-override: "prev_cursor" - name: include in: query required: false @@ -3255,6 +3302,7 @@ paths: enum: [asc, desc] default: desc description: Sort direction. + x-speakeasy-name-override: "direction" responses: "200": description: A paginated list of attempts for the destination. @@ -3293,6 +3341,18 @@ paths: "500": $ref: "#/components/responses/InternalServerError" x-speakeasy-name-override: listAttempts + x-speakeasy-pagination: + type: cursor + inputs: + - name: next + in: parameters + type: cursor + - name: limit + in: parameters + type: limit + outputs: + nextCursor: $.pagination.next + results: $.models /tenants/{tenant_id}/destinations/{destination_id}/attempts/{attempt_id}: parameters: - name: tenant_id diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 885269f0..577a6a14 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -16,8 +16,8 @@ sources: - 0.0.1 Outpost API (Python): sourceNamespace: outpost-api - sourceRevisionDigest: sha256:d1d97af77bb9ab9b38089defb5744be7cc8910f1b03dc17317c01720dc0c7807 - sourceBlobDigest: sha256:5b210a3b76521c36f5de1c89ac603a21104d4fb86b3a991768f25a44e82befc6 + sourceRevisionDigest: sha256:ae2005ea6bf52e19608bfd688182b8d821c4a265804e1d0e12639e94e6266b18 + sourceBlobDigest: sha256:f8f5a2e89ea8cabb42b5cb2510198bd9c755b44c77c4a4ca2c8dc570abfd5690 tags: - latest - 0.0.1 @@ -32,10 +32,10 @@ targets: outpost-python: source: Outpost API (Python) sourceNamespace: outpost-api - sourceRevisionDigest: sha256:d1d97af77bb9ab9b38089defb5744be7cc8910f1b03dc17317c01720dc0c7807 - sourceBlobDigest: sha256:5b210a3b76521c36f5de1c89ac603a21104d4fb86b3a991768f25a44e82befc6 + sourceRevisionDigest: sha256:ae2005ea6bf52e19608bfd688182b8d821c4a265804e1d0e12639e94e6266b18 + sourceBlobDigest: sha256:f8f5a2e89ea8cabb42b5cb2510198bd9c755b44c77c4a4ca2c8dc570abfd5690 codeSamplesNamespace: outpost-api-python-code-samples - codeSamplesRevisionDigest: sha256:43113303ed5f118c8a76d9d2a794a167cd8d84c14f676164b4e053e0f829ee26 + codeSamplesRevisionDigest: sha256:4cf30359d97c81a205f5d859a43184c99c41e1fd6b52c67fa50692e64489d2a2 outpost-ts: source: Outpost API sourceNamespace: outpost-api diff --git a/sdks/outpost-python/.speakeasy/gen.lock b/sdks/outpost-python/.speakeasy/gen.lock index a0555117..502c74e8 100644 --- a/sdks/outpost-python/.speakeasy/gen.lock +++ b/sdks/outpost-python/.speakeasy/gen.lock @@ -1,36 +1,34 @@ lockVersion: 2.0.0 id: da774284-22d9-4b6c-bb26-1c3fc9f2c7ee management: - docChecksum: fc3581a855e89ec9db5a0d095ac9d13a + docChecksum: 9b1adf53575bed63e98d258f2c1fb8fc docVersion: 0.0.1 - speakeasyVersion: 1.741.7 - generationVersion: 2.849.10 - releaseVersion: 0.7.0 - configChecksum: 48df1e742f8ba17e710cfcc8e870617d + speakeasyVersion: 1.753.0 + generationVersion: 2.862.0 + releaseVersion: 0.8.0 + configChecksum: 0b2fad570669f491140b7db263919f1e repoURL: https://github.com/hookdeck/outpost.git repoSubDirectory: sdks/outpost-python installationURL: https://github.com/hookdeck/outpost.git#subdirectory=sdks/outpost-python published: true persistentEdits: - generation_id: 868cef49-9dd7-4d94-8e79-28a25e1d7262 - pristine_commit_hash: 74ee894ce53593d0b290292f1700365d9c0bd4fb - pristine_tree_hash: 079d5befe3d48a4e72d3a8a22a4539c30d05e9ee + generation_id: e8cb74b4-7fed-4fa9-a7d2-3767408a53aa + pristine_commit_hash: bc26908564846032206f11c2d11af3b47500a12b + pristine_tree_hash: 8a48720fd7e0bdf541bbb8e8fb2f2f0881f11b2a features: python: additionalDependencies: 1.0.0 additionalProperties: 1.0.1 constsAndDefaults: 1.0.7 - core: 6.0.16 + core: 6.0.18 defaultEnabledRetries: 0.2.0 - enumUnions: 0.1.0 + enumUnions: 0.1.1 envVarSecurityUsage: 0.3.2 - flatRequests: 1.0.1 flattening: 3.1.1 globalSecurity: 3.0.5 globalSecurityCallbacks: 1.0.0 globalSecurityFlattening: 1.0.0 globalServerURLs: 3.2.1 - methodArguments: 1.0.2 nameOverrides: 3.0.3 nullables: 1.0.2 pagination: 3.0.7 @@ -129,8 +127,8 @@ trackedFiles: pristine_git_object: 02f6cf43352e6c2e4c624c6fb5fd21f49d897e6f docs/models/createtenantdestinationrequest.md: id: "943059858332" - last_write_checksum: sha1:efe92e04cabc512c1d155493caeeafa5d2b3a02e - pristine_git_object: 61ac6d5010e2ebd2f76667048839772b6e66c96c + last_write_checksum: sha1:1c6db08a4f5ae29f94ff43383af77a2011aee38d + pristine_git_object: 4d58782ccd2df74c989a33faf02e10059fb67bf1 docs/models/deletetenantdestinationrequest.md: id: ff17485df01b last_write_checksum: sha1:ccda05463b6c3ed74c13cfe967967328a18da9ab @@ -259,6 +257,10 @@ trackedFiles: id: 1c418f6e0237 last_write_checksum: sha1:5af9bf985d5c4985761e34a320170236d525328b pristine_git_object: babbc45d009197cb9fd737fd2d7c40c1d54d699f + docs/models/destinationid.md: + id: bc96d6ad0c9a + last_write_checksum: sha1:acd296d435eb09c3e57042867c2a5b79ce302808 + pristine_git_object: 791cb34a0c3e9c9a283210a1afd4d6dda1d890af docs/models/destinationrabbitmq.md: id: 0e006fb4f238 last_write_checksum: sha1:3beb093000acb153b73f1c3ab17b3d9a5214c85e @@ -369,12 +371,12 @@ trackedFiles: pristine_git_object: c785edab1894fa93f3b5011161f15dd0caab3196 docs/models/getattemptinclude.md: id: 5e7bbec19c6a - last_write_checksum: sha1:bf04a37746fbb291bd3819d320f5598b9e797f02 - pristine_git_object: 131a3616d3562040b45aafcd7ae52271098a5c1c + last_write_checksum: sha1:49bed9c878da42b5ae10da573cd025e91395ce92 + pristine_git_object: 0f6692238cc054447734ef88f3976ec789cedd5e docs/models/getattemptrequest.md: id: fd7906421f5d - last_write_checksum: sha1:7793b25f461be85b09140931b09bd2289b81eb28 - pristine_git_object: ee68506d2c456d2368b243f9934291448d3a8ed1 + last_write_checksum: sha1:7a06ed40dfaff1b0fbd7d2f755540a0237140420 + pristine_git_object: f37fc70798871376942043e77b996f21fef0faf2 docs/models/getdestinationtypeschemarequest.md: id: 7964f308b544 last_write_checksum: sha1:1cf8c0bf9c095ca337822676dacdfb6e43791c6a @@ -389,12 +391,12 @@ trackedFiles: pristine_git_object: 6b518b40c64c40fc10fdc5146f76c63fcb26b88d docs/models/gettenantdestinationattemptinclude.md: id: b56354c2a7d4 - last_write_checksum: sha1:3f6ebdc43ca0cb4ce40899be5add3e003f87bdf3 - pristine_git_object: e1890fa538b4deec3f981ae8d3813ad92b0ea2ae + last_write_checksum: sha1:c57bc0cf317de9272e2631df40990c30ca3fbea8 + pristine_git_object: 4c0d34b44f2ddd0cdba87229497ccde27da7d748 docs/models/gettenantdestinationattemptrequest.md: id: 522abfb549c9 - last_write_checksum: sha1:e2e604f36391f86d156a128ebef4a3c5c59226e5 - pristine_git_object: 1785f2adeb767f00d3e77d803803d038278bcf4b + last_write_checksum: sha1:186914b4494b59cb2d8a259f8a48c3ec6da6fbdb + pristine_git_object: ff3ef651eefeda42fd0af0d312f469855daba33e docs/models/gettenantdestinationrequest.md: id: 173425f3055d last_write_checksum: sha1:d5b085c9e99d3b2e005de2695cd218b203bb3e43 @@ -431,18 +433,22 @@ trackedFiles: id: d73aac2abac6 last_write_checksum: sha1:03e956731b23eb1f9e5e23c2b9b2553501e939e4 pristine_git_object: ab417f9970f0c517498a6b12ce34c37d8aa09c5d + docs/models/listattemptseventid.md: + id: bd22736352fe + last_write_checksum: sha1:2d7b59d8f110cf46c4992026b9931893e36f4deb + pristine_git_object: 35df71f508817a086478307839c49f0708123628 docs/models/listattemptsinclude.md: id: 024177981c3a - last_write_checksum: sha1:6331a81065c781097e1b60d39449ba7e52547fd8 - pristine_git_object: 0596cb1f67b81f6d9a8b71364284cb9d177f816a + last_write_checksum: sha1:530b9158af4a7e71b6e278f5a9349a0b3627f3b7 + pristine_git_object: b2ca934ef64852cb9c846110f8284423ff9bde1e docs/models/listattemptsorderby.md: id: 1069decaba38 last_write_checksum: sha1:dfaab937573a6561259421a5dd34562ddb20db42 pristine_git_object: 04dcda31401076909fccc8841b0ee6229449f930 docs/models/listattemptsrequest.md: id: 934b5dab0590 - last_write_checksum: sha1:6fecb57bbd23541370f78f9566c6d83c26c7ab11 - pristine_git_object: 421cffdc39f74c1e70acea09235c8a055bf24c4d + last_write_checksum: sha1:c2ffac0dfc6404737160916c7b6a58a50712fd49 + pristine_git_object: e1a97afe10b1ccd7c11c681d12e9e7f9d390e995 docs/models/listattemptsresponse.md: id: e036b31e7aec last_write_checksum: sha1:db48676f2cf5e3273c6ddd4bee2545150d4c4097 @@ -451,46 +457,62 @@ trackedFiles: id: 9e57a5cb10e3 last_write_checksum: sha1:9f51a7744d783e948e209f59ff79a01100edd442 pristine_git_object: 8e43da70ae987a66d66a15361b44843600b05e9e + docs/models/listattemptstenantid.md: + id: 350076cbf0a0 + last_write_checksum: sha1:e11c22f0040bf9f57a5eac1e3ab9b617fc7d1345 + pristine_git_object: e5bfdaa626634d05953176be6c2803ef51c5838e docs/models/listattemptstopic.md: id: f090dc1a171d - last_write_checksum: sha1:8c6d3ceed426f1a4983b5c08baaa1dd31abeaa3a - pristine_git_object: 25865989bebfb673b618d7ea37d77c11fd943b61 + last_write_checksum: sha1:ce80eed9990a045f6bd76215714bb189da8dba3c + pristine_git_object: 03f3dc3cacba28b8e1c0ef3e77ae296d498b90eb docs/models/listeventsdir.md: id: ce6108dddd98 last_write_checksum: sha1:7cc79925fe016fb3262eaaf3264c45babb3fce4e pristine_git_object: 2273ef953eceb77d2d068006fdeeea241fdc90af + docs/models/listeventsid.md: + id: 5659fe0921d1 + last_write_checksum: sha1:e5ae77d8a8858d0dbb0fa152b5e4ca8cb4fcb8f2 + pristine_git_object: 8b77946b6949481c2e7a972b6729f262be6ed2a3 docs/models/listeventsorderby.md: id: 24d368058e64 last_write_checksum: sha1:21df02b953d1816904a9f4c9bb8ee38b1062ed10 pristine_git_object: 278e7b2391ab0568c874dcaea5d8f54ee9426f07 docs/models/listeventsrequest.md: id: 176d9b992537 - last_write_checksum: sha1:4d3c11b5511bc7fe0a0bc9a525b6a4c9c3580075 - pristine_git_object: 4b6a5f27fc3732a1894291261d6bd12452e1ac2c + last_write_checksum: sha1:dba520dbe29a5b0fccec3f3784ea1cf66cf97c13 + pristine_git_object: b422280938d3b4178caff98259fb658170be7316 docs/models/listeventsresponse.md: id: 150f903b0ed9 last_write_checksum: sha1:eff00a900bc790aef35b8eccac27ad984fb1ae91 pristine_git_object: 5beb7c4116fdb039e2ff1b62b2787c1e3369dff1 + docs/models/listeventstenantid.md: + id: 1c3d1f2c7320 + last_write_checksum: sha1:12709dbf96beed15225a55ed8982803c23c8f610 + pristine_git_object: 53245663ff9eb35ac7e512010f6beda4a0a70bb9 docs/models/listeventstopic.md: id: b18f7c84a90b - last_write_checksum: sha1:bb937f5055d5648fce91fa0407d66d253b6321ff - pristine_git_object: f379a1ee92b4b0800010b78c321927e6cbbb1954 + last_write_checksum: sha1:1a0e6c0cc44c487c09ba57f27b99fbaa54c84723 + pristine_git_object: 36684aa4f6f018eed07c3608b9e12018f9c82199 docs/models/listtenantdestinationattemptsdir.md: id: 64818637cc10 last_write_checksum: sha1:3abd008805648a6a5b66adf7e3c1a188747b0585 pristine_git_object: c5ec40d9a8a4c0625009d400c94b28252b4cb62a + docs/models/listtenantdestinationattemptseventid.md: + id: 270311f7d47c + last_write_checksum: sha1:273eb74738e7eb243388bb1d40ff10ffd24daa77 + pristine_git_object: 189021e2cee9c388021f36318a4415be31dbaca1 docs/models/listtenantdestinationattemptsinclude.md: id: 9f996f6daa33 - last_write_checksum: sha1:dfac52b94cbd91b889bb9b07e54da6d321145082 - pristine_git_object: 546330eae989c83d42a09170ccdbcdffce210ad3 + last_write_checksum: sha1:99cd75f2ceba3bb5a4be5b1b915b02d0ee1724be + pristine_git_object: 15c7715838180eabf159bc3a9c3c51402f7b386e docs/models/listtenantdestinationattemptsorderby.md: id: a7d360311114 last_write_checksum: sha1:6c33d99acae78266f7c8c5a3e4342c0bc7b8b953 pristine_git_object: 0ea9f5ebd8633f45a62046b90fcbe73c628e7601 docs/models/listtenantdestinationattemptsrequest.md: id: c8a7c18306b0 - last_write_checksum: sha1:b04586e71b6b75447f03db48dbed336e8db838d0 - pristine_git_object: 8bd4f9906d71906f282701440377534819c84d41 + last_write_checksum: sha1:be83f7884af281b826655fd2c5c47de34ead373c + pristine_git_object: 38bef260ce3e6b25d26de906eb670cb2851de358 docs/models/listtenantdestinationattemptsresponse.md: id: 6bcaf756b801 last_write_checksum: sha1:9ca4b3533e4c72bcca30b4f617b5e9cbbf0252f5 @@ -501,28 +523,32 @@ trackedFiles: pristine_git_object: 4973bd0db5193d14eab06af228839b9c547d0503 docs/models/listtenantdestinationattemptstopic.md: id: 6b016445b69a - last_write_checksum: sha1:dd85e00873e4f93ae1b2b7d241b50aa2573c8955 - pristine_git_object: 17d836d78f6620e1f0039b93b67e6c29da68964b + last_write_checksum: sha1:5b9b93599ebfc42af549dda53b805525fd903ebc + pristine_git_object: 10bab1e13453db565a0fd816485229f74459633c docs/models/listtenantdestinationsrequest.md: id: a1c960e26be7 - last_write_checksum: sha1:5559e5e8adc583b422fda0a4a1ef8931bd808579 - pristine_git_object: b8acb2a8004db31287028bb86c9dda499a0fc3ac + last_write_checksum: sha1:b73f2fc5e886b0945a670254cb0c64b7bdc20dbd + pristine_git_object: 5e52c71ade4c3c22b54ec429da2d46cdceff11d6 docs/models/listtenantdestinationstopics.md: id: f495fffb06d5 - last_write_checksum: sha1:f52327725b100deb9d6cb9be142594c74713f8f5 - pristine_git_object: 4713f106a287e61f3e13a7d7805a86c2c9901f08 + last_write_checksum: sha1:b190db32b47e9848d0602950a67f8adccab51936 + pristine_git_object: db46f67e35bcd5d3e3d7a59a63f8233b3ebaf8db docs/models/listtenantdestinationstype.md: id: a94cc1eae534 - last_write_checksum: sha1:433f72db883050f35285a4bde018f055ea69c8e6 - pristine_git_object: fdf4bf5254f80c08544b0295f6b5303d3dbf4cc0 + last_write_checksum: sha1:b2062cb8c26a60522116413283529400fa8d18cc + pristine_git_object: 87ee4fc422ded8448cb2cd6737eb81fedd3af900 docs/models/listtenantsdir.md: id: 9a214a2e4264 last_write_checksum: sha1:7ac363f3835005c19b9a2a097e4e3ba97779ce91 pristine_git_object: 99d9cf40ce69359300b84db572b8b278bc2b7cf0 + docs/models/listtenantsid.md: + id: 8f7c3ff7353e + last_write_checksum: sha1:00d23e15eb9777c8032c028d7c19909c3969a414 + pristine_git_object: b96893fcdd72f321ea3010a4b0d5ee89e26d156e docs/models/listtenantsrequest.md: id: 39a7c6125a52 - last_write_checksum: sha1:288f233a83c2c18d13df50b0e82b6f6ed7c6c383 - pristine_git_object: 09323ccd19941c8c11c15c327c762b6f32c24056 + last_write_checksum: sha1:2dc49214cd63dd2f6f819b4c13edd8c877df09f5 + pristine_git_object: 14d312b6d1c8a81415b625253eefe05f3f0ad276 docs/models/listtenantsresponse.md: id: 1f7eb86195fd last_write_checksum: sha1:de0b042e331b60f344f8ab65b3997997f82c674e @@ -601,16 +627,16 @@ trackedFiles: pristine_git_object: 333ed39ceb47534ddd177aed49c2c8d5e1288a6f docs/models/updatetenantdestinationrequest.md: id: a573c8a2ef7f - last_write_checksum: sha1:46e9c4c1f469ac7821196977a3dbdd948e8f8022 - pristine_git_object: a0e53b39aafe3213c20943e3a16d1f6a7614ec02 + last_write_checksum: sha1:b65d9ce3994b31dbadc4c27216260daa9d5da238 + pristine_git_object: bf0ca6320efd04b5762a649bb2e7e8091d6e943a docs/models/updatetenantdestinationresponse.md: id: 674595acc745 last_write_checksum: sha1:e727b2a45ef7fcc7090e34378f32ba2b07f1ebff pristine_git_object: c63b5b37e3f0c27c765fa917cdfafcb28c0e4653 docs/models/upserttenantrequest.md: id: 9d9234f1fce9 - last_write_checksum: sha1:f40d5ff2af284c959f029624a863b5131d777800 - pristine_git_object: 657ca94026a77b37fd9694652c7055808bbbbafa + last_write_checksum: sha1:70752eb6259b596351dab9b408037da491ac897e + pristine_git_object: 9c7f8930c519f2dc986230e7703071ca125e0c15 docs/models/utils/retryconfig.md: id: 4343ac43161c last_write_checksum: sha1:562c0f21e308ad10c27f85f75704c15592c6929d @@ -633,32 +659,32 @@ trackedFiles: pristine_git_object: 36572088751475931126b4d86e8ea067ac214eed docs/sdks/attempts/README.md: id: 41a6f5edd623 - last_write_checksum: sha1:8a0076d63b751baffb4a38fde17ddf05f51c4bc7 - pristine_git_object: 8883fe393f1c543087fc46577b09ea1b9ad2ba8a + last_write_checksum: sha1:19a92d358f46677f255ae8e4db0e9bb1cbfc8419 + pristine_git_object: 91534caccd61c040381d20b4a94b40a8638e2c28 docs/sdks/destinations/README.md: id: e83d288899aa - last_write_checksum: sha1:db3e5d295dac8ec107164e875af5ee3d546507db - pristine_git_object: bb7acf6f03828ecb21bb02218cae005447ffdefc + last_write_checksum: sha1:2ee5e618f6aefbfc66fce6d9d04be69121e95dda + pristine_git_object: 3c9960b0ecd93d4a5ac8ff117b6070a473473f04 docs/sdks/events/README.md: id: cf45a4390b9b - last_write_checksum: sha1:267a03a4e1bf62febfdd831cbeffd532bb98e14c - pristine_git_object: d0df90e010eb010e7d78e34716a5c5b628a38c68 + last_write_checksum: sha1:ac966b4d12318a9c4395cb21e2f9dced84da554b + pristine_git_object: 0e8208f72f41db29b15dc78d33db7b6f1cc7e1d3 docs/sdks/health/README.md: id: 5082c50d5e82 last_write_checksum: sha1:edbbd8aa126aa79f9db43884174dcadb6724b3d2 pristine_git_object: 450073a93bd5a48acda412a41083b545ab9c5604 docs/sdks/publish/README.md: id: 370ef5537c93 - last_write_checksum: sha1:d391236f4f8e02e2530ba3da9a396bf1a27bad8e - pristine_git_object: c3a0e2d4a8f4a6b5fded5778226c6f54a84e0546 + last_write_checksum: sha1:86d4567afe9f0224ff74d39a1f5277cdef65e531 + pristine_git_object: def08cf2191c504899940ead1768205e9a51b7f6 docs/sdks/schemas/README.md: id: 26a0abac640e last_write_checksum: sha1:5008eca020ce917ee56f83f8315275af8cc2afa8 pristine_git_object: 16076d59a9be107f46064f479bf68ff33b66bf0f docs/sdks/tenants/README.md: id: 68a2b19779b5 - last_write_checksum: sha1:a9a2b0b76488290e3f56bcfa4eeb2b6e757c4918 - pristine_git_object: efe7bd19632d25a8658e0c7ec4cdc7e6044ccd0d + last_write_checksum: sha1:61276661f851d9fcc6c8d30d6dca0b2badb78a7c + pristine_git_object: 0199c80d0b22287a45aa987e772496fba8960f5c docs/sdks/topicssdk/README.md: id: ee1b98e4769d last_write_checksum: sha1:571715e60e1263b84a6f745807df97842510028a @@ -677,8 +703,8 @@ trackedFiles: pristine_git_object: cb9c15d314c1930557401074329ed7a737147919 pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:ba8d2420826fd38721945071b5366b941f3ca62d - pristine_git_object: d16b457b2dfc2084a0fce50e92ec5805d9c1cfe1 + last_write_checksum: sha1:7fe4f887776d5fc503e90e8d74cbe1c873daf2e1 + pristine_git_object: f06cb423c017bb6d129b5b6daa704e3ea832dd9e scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:eb460f85c06b287fee629d997b2df75c92fa1cab @@ -705,20 +731,20 @@ trackedFiles: pristine_git_object: b1777a2eacece4434c53b2e136158f0c1360707d src/outpost_sdk/_version.py: id: 22be68f35ad0 - last_write_checksum: sha1:b73ce065eaa193fac0126a837a5a08491eb6e076 - pristine_git_object: 9bde0b832c8d3586b6ef72ded217fa65e75b263d + last_write_checksum: sha1:f1712f584f4d518e555ce228b57f00beadc4acb1 + pristine_git_object: f7d6cd50d3b8263f8c530d11c3f2da587b8a9f62 src/outpost_sdk/attempts.py: id: 304ea4e0bbf1 - last_write_checksum: sha1:2af7b4b1e6b5b2b5907c1278798b188316d1db38 - pristine_git_object: 6ba6637731c23575f68e26d928d2eb6467ac3f39 + last_write_checksum: sha1:f0c6e47c0a8b491757dcd598f966eca8476bed0c + pristine_git_object: 06c122eaa57ad24da014d0aa32f3aa0a6215e500 src/outpost_sdk/basesdk.py: id: 06a87cb4bdaf last_write_checksum: sha1:b009b4794d3bc426ab812ae401ae678c2ed8a6ed pristine_git_object: 31ce35a30dfa71de49f055b40083baca20e75ced src/outpost_sdk/destinations.py: id: c941d7cf8960 - last_write_checksum: sha1:00de325514c38911a253288d1280b9e82f094fe4 - pristine_git_object: cac34b75c84c6c7670e9b6594de40fd87d10566e + last_write_checksum: sha1:e8f543def0751b5338fed1be14ce69864e66e5b8 + pristine_git_object: d95d2dc5949314aca686b8139940445140dd7d0b src/outpost_sdk/errors/__init__.py: id: 8cd8140f4773 last_write_checksum: sha1:32a90fdbd5d713cbffb8ff6e4066055df2268392 @@ -773,8 +799,8 @@ trackedFiles: pristine_git_object: 38b68bb656c457a7801b6da04e384737dd5ffdb2 src/outpost_sdk/events.py: id: 8b2e2ec7d8c0 - last_write_checksum: sha1:149d0c61b6da622681b9ec041cea96ea1c8e53e8 - pristine_git_object: bcc4388baeb9dfb4f14a1b570a0c44725643908c + last_write_checksum: sha1:866e58e6eb2c3eae5c61eca2b3d7508cd85f6c28 + pristine_git_object: 27ac65497472572553f1fa03a43f7d9044d5ac48 src/outpost_sdk/health.py: id: 10a3c4bcf747 last_write_checksum: sha1:aee0baed7d4d328e475db9081b1ed80615d53e15 @@ -785,40 +811,40 @@ trackedFiles: pristine_git_object: 89560b566073785535643e694c112bedbd3db13d src/outpost_sdk/models/__init__.py: id: 690a20e1a54c - last_write_checksum: sha1:418fca3d3499baa34771325188da13aec15e0b33 - pristine_git_object: 89b0bb1a62a271859cde9b518d2f8418c0059dd0 + last_write_checksum: sha1:51b8a0f6fa7a7bf031e2fba8da73e2ed09222a9b + pristine_git_object: 23477ccc07bb943a586e92eb72cbd13b824c3bc8 src/outpost_sdk/models/attempt.py: id: 931b46ffc0d9 - last_write_checksum: sha1:e1d5048d6779185069f012127152432c12ec28f9 - pristine_git_object: 41e7af65dba9ae77ca8921694228dc581eea172a + last_write_checksum: sha1:5f43e5faf5ab50bee4a2d8a06ec90eaeb78d4797 + pristine_git_object: c13f62510cae4c2252547081772b4a919089189c src/outpost_sdk/models/attemptpaginatedresult.py: id: 8a2ab0a7d088 - last_write_checksum: sha1:33a4b9a6de7e97ea728dd6a2a471f3954de54379 - pristine_git_object: be2def768fb5300bddf1a59a6df2b7391c92400c + last_write_checksum: sha1:6c08df5fd93aec38d39adda6e167ea0c9404f607 + pristine_git_object: 15c8d8b9559b31f82ab61a9e71a4499858050205 src/outpost_sdk/models/awskinesisconfig.py: id: fb8571913af4 - last_write_checksum: sha1:506c97c6ee9be4aae2808a9d53c0cc327b87b8b9 - pristine_git_object: e4d4c6e0b31939869c19b5e507f94dbb59f6371b + last_write_checksum: sha1:076a0abb86a71f628d7eb608089dc799eb7564db + pristine_git_object: 0df6bfba8da07fd7e74eec7f64a540df06ec7587 src/outpost_sdk/models/awskinesiscredentials.py: id: 0578ec0c9b6e - last_write_checksum: sha1:22c3a71750f0c7855dcc663af8a5bb3f76a8046a - pristine_git_object: fd20ba04453faf4761e7b368a4538d0ffb54ac37 + last_write_checksum: sha1:af34ea8ee3cf3333ff29b1d3837b0973d69bb351 + pristine_git_object: eff5f62cf42b1ec6510a0fabee3b26fcee9a4351 src/outpost_sdk/models/awss3config.py: id: a2ed2a804efb - last_write_checksum: sha1:3622841fa850bd943fea719faecd40857265f463 - pristine_git_object: 22d37583c095e4b384a59bd199e356efd85ea3dc + last_write_checksum: sha1:bdaff59f2600b6fdbdae0273131f6ed1769ffbdd + pristine_git_object: 2dccd8c47f15fa8074eca0f2b9a8476db4835247 src/outpost_sdk/models/awss3credentials.py: id: d64070cd6a9d - last_write_checksum: sha1:a09059e2fb0d4ab3c24e674dbc09c1bf2df00f93 - pristine_git_object: 9a145cd91ea81e48637ca3b34d69b0de70feca12 + last_write_checksum: sha1:eb091d3cd0fdd3d23aad54f5a49d7a31b8a15a7a + pristine_git_object: 7d36bb72b1f9180953f8af379c80bbf6fe41d0c1 src/outpost_sdk/models/awssqsconfig.py: id: 8d2a992822e1 - last_write_checksum: sha1:7fcee1254fd16c6476782369173ba39f7473d6aa - pristine_git_object: 4de8ead7679125a67def4a0b40e0d9e42ed5fa80 + last_write_checksum: sha1:58539e1768f1b64665632a35c5230f63da8fd4c8 + pristine_git_object: 46d05210e04d9c9e75bb2c49f3734da9f9adcd45 src/outpost_sdk/models/awssqscredentials.py: id: 83be77c3aac0 - last_write_checksum: sha1:4b7dab397f3c01c492eccc217cdf2bd263b8e2b7 - pristine_git_object: 56f871ee9a650b9e12aaf5a481ecef56603e6bb8 + last_write_checksum: sha1:35c2fe0795a7d50635cb790105611bee80339ac0 + pristine_git_object: ea84c37e7a21097d27af1eb64b37772e2686085c src/outpost_sdk/models/azureservicebusconfig.py: id: 9369230317df last_write_checksum: sha1:b2015d2d8aee1a5d0047297e806d41f979005c5d @@ -829,8 +855,8 @@ trackedFiles: pristine_git_object: 30d9b6df725736d076367450277f83c2c9829fc3 src/outpost_sdk/models/createtenantdestinationop.py: id: 13d5940f603f - last_write_checksum: sha1:bb2018ed87d26259b8edfb6bbb6400d3aaebd5f9 - pristine_git_object: c8935d55ce08e7c1cfb777ae65422fc173b6fb70 + last_write_checksum: sha1:f775f852ebb6fd6acb810d09c7f6c1a4e5c74eba + pristine_git_object: 023ef2ca4986e95dbed14aa452e029cf3dd60385 src/outpost_sdk/models/deletetenantdestinationop.py: id: cdfdbedc82b2 last_write_checksum: sha1:e69df1f35e3a65c3e4bb00fc11969d0ee90e6df9 @@ -845,120 +871,120 @@ trackedFiles: pristine_git_object: 590c793f35bd2473384ff6de31c60060aaedc81d src/outpost_sdk/models/destinationawskinesis.py: id: 55b5d40a6b01 - last_write_checksum: sha1:f154f3928a53850695bad283e803fd6c40f37dfb - pristine_git_object: 60b39ff470ba9317779f63e7f64469e6054b9f05 + last_write_checksum: sha1:b4c51077c47a7b4350b3f70c6bb4103447ceb2b3 + pristine_git_object: ea044a52f504e92dec997955517a75804487927b src/outpost_sdk/models/destinationawss3.py: id: 8beea87159bf - last_write_checksum: sha1:7fe73677b98d60c2d197a276a651d08267be5756 - pristine_git_object: 87c5843d8a2b3bea89d9fa5e9442aaa75d953674 + last_write_checksum: sha1:8232062696211fba1b1aadf83f45be5b0ad94ef7 + pristine_git_object: 21dea6c0f485ba5f46d68dafd648b8f188cfb1fb src/outpost_sdk/models/destinationawssqs.py: id: cdd8eb03e51b - last_write_checksum: sha1:7731726fe93296f53c45164a0fa6a6acacf316bb - pristine_git_object: db17241523014c294eb5435fe1decde0574f70bd + last_write_checksum: sha1:56452f86aa3f739178f73ac68e5a4a74eb4b406b + pristine_git_object: 22eb41722f07a53c2078867248ff7191a6d07a7b src/outpost_sdk/models/destinationazureservicebus.py: id: f1c2f3da46c7 - last_write_checksum: sha1:4847864003645d044273b1250197064750803579 - pristine_git_object: 66aa757947c91a8d8dcc34baeccf80e8f5cc7777 + last_write_checksum: sha1:7ce07d8876e948b78883f765cb35b49632013830 + pristine_git_object: 0867f22167ff7e7a71836e8d3668ef7a97fb5cd4 src/outpost_sdk/models/destinationcreate.py: id: e5897fffe64a last_write_checksum: sha1:52cfabb563ef137c8df12aad66eba2813dfe695f pristine_git_object: 24c3ffee86d177e46072439ea1c92379098bd76d src/outpost_sdk/models/destinationcreateawskinesis.py: id: c47c9be03ea9 - last_write_checksum: sha1:6435c79ee8483850d4f2396b7db158cf1371d63e - pristine_git_object: d69c8b929ebdfbbacc0af1bb2fb92f38bd45cf15 + last_write_checksum: sha1:5596d831d9650f2a74863412a4a67b7f589e8ca7 + pristine_git_object: c47a54b7756b84ad125c01ec5431d278893fc1f8 src/outpost_sdk/models/destinationcreateawss3.py: id: 2a12772aa193 - last_write_checksum: sha1:85cbaae7d47aedf8e8a2ee985ff9aa1cd574f53a - pristine_git_object: 1c7e3125dd9d50ba3b2f9a1377bf40f6e0863fd3 + last_write_checksum: sha1:63c8c2b852706f9684a0364d76f883172855403c + pristine_git_object: f905ab28a323d85ba62eb2876eb213c7cc3a233d src/outpost_sdk/models/destinationcreateawssqs.py: id: d571450aa34c - last_write_checksum: sha1:787ec5d1aa7a011562d74bde58d7716d8de21543 - pristine_git_object: d8b02006b4126c0432ba0c0e6de8a802ab464b99 + last_write_checksum: sha1:5880ccf4c99ecb8a02e6bcd4e5bcffee18de4a7c + pristine_git_object: 3cef8972a61416d96c1f90f69140e48daa29df6f src/outpost_sdk/models/destinationcreateazureservicebus.py: id: 40b34cc6d212 - last_write_checksum: sha1:aafe78798963e51542c69d4a6186bed744d52ddb - pristine_git_object: 2ecc1ff5259c35212eacd4e4e60a0d8d7afe1770 + last_write_checksum: sha1:2e4730f65d3f46616a4f8d47f78d035945ef0913 + pristine_git_object: 8e6807b1580224bd2abe58e7a23354bbf5ffb7ef src/outpost_sdk/models/destinationcreategcppubsub.py: id: 175ea4a525fc - last_write_checksum: sha1:11b8b1225ce9f9c5ec67b4812582fc8c128b2bc2 - pristine_git_object: 9aa8bd40714558941f55b52d27c06a6b25475b66 + last_write_checksum: sha1:8329a196a6f7d7944c06ce4b67480719b1ed6383 + pristine_git_object: 9efd0c74e3bbf95404056632bcc011696ddf7b15 src/outpost_sdk/models/destinationcreatehookdeck.py: id: ff182a9732d1 - last_write_checksum: sha1:23774da802a0105a7255dc1819a23801d6fd4df0 - pristine_git_object: cb68fe0794b202f94f5e6a4d49f06249591a7f04 + last_write_checksum: sha1:a59e27bcbbaf251ec3cbc7e62f4f6513ef5df053 + pristine_git_object: 3418875330af685575a723bb657ccb41006beb02 src/outpost_sdk/models/destinationcreaterabbitmq.py: id: ef6476931b78 - last_write_checksum: sha1:b0a0e47ff05d9ef4e51de94554857cd6786256a7 - pristine_git_object: ddc99534e512112e479e7f7489c717b8c7246c3e + last_write_checksum: sha1:1175937ef83536977ef19a55a2c715cd99192800 + pristine_git_object: 0eee513354c05a17a9165222e12af207f67d4668 src/outpost_sdk/models/destinationcreatewebhook.py: id: 7957ca0fcac4 - last_write_checksum: sha1:3366b3a47b95e6726f3f4564bf2d559564b3c724 - pristine_git_object: 675783346aa9febb5dc7bc0621dc4732a02f04c9 + last_write_checksum: sha1:3355de5f4266858f12ed300e35313ac2f25f8e57 + pristine_git_object: cb64ebb46812c293e06545ecb535b06bc198a458 src/outpost_sdk/models/destinationgcppubsub.py: id: b9c427853f36 - last_write_checksum: sha1:39bc350d891689d288cf593bbf50773ebaa70eb2 - pristine_git_object: 7384c655e3070b83f08ceac1621b487c5cc90105 + last_write_checksum: sha1:22d8f5399d7e7932de39826e37fee2de374ca479 + pristine_git_object: 6f214924c2cf8a7ade474fad941f23399f281def src/outpost_sdk/models/destinationhookdeck.py: id: e77c8b7fe514 - last_write_checksum: sha1:13353e32bb754cc80f9b0a8390a387e51909014c - pristine_git_object: 3a236065c423d9c3768c65d3d08efff1bf90b827 + last_write_checksum: sha1:8f382e27ed6604bbb74deefc21539437d83f8fd0 + pristine_git_object: 7497b4bb8fbc20c1e5b2eb00122639b6ee27202f src/outpost_sdk/models/destinationrabbitmq.py: id: 31e01ead2367 - last_write_checksum: sha1:705d3fbd612d07784a47f1556c3d95871866d365 - pristine_git_object: 494313852a021a9d100c75f0eabbb747ec95d059 + last_write_checksum: sha1:adaf1717912454f079bd6f433508c6338342cde7 + pristine_git_object: 9535cfec04173b463b6b6caecd53a758f61c2c82 src/outpost_sdk/models/destinationschemafield.py: id: 9fea102c01b8 - last_write_checksum: sha1:fc8bf7066a02708bc67cdab25e76aca5169366e6 - pristine_git_object: 8727389664dd12d6597837765c74d507e43217fc + last_write_checksum: sha1:6c1f240ad925267baba930a06e710cd1423c2710 + pristine_git_object: 00ea7fb1f5d151d946a95c186ecac9a46461d6e3 src/outpost_sdk/models/destinationtype.py: id: "314568989242" last_write_checksum: sha1:7e4670afa60a4ed4bf05be1b858ed93577d1c3d4 pristine_git_object: 8f9c912b233d40dec83e313303befd79452c3ebe src/outpost_sdk/models/destinationtypeschema.py: id: 52670c29e85e - last_write_checksum: sha1:591450ccd0dd10d889a5deb1ad15ca103a582709 - pristine_git_object: d6ac3382bc047ec690e67730d7cfa362a11e6333 + last_write_checksum: sha1:2bd2afbb3bbe6c8f91152cd2db0beb2799d412a6 + pristine_git_object: e422d62ec58fa2eb14f4355ec41cd3db3254e5d7 src/outpost_sdk/models/destinationupdate.py: id: 4791a55bcc9b last_write_checksum: sha1:e03fbdac995d27c0df4680d2fe07bb6f95ec1273 pristine_git_object: 8af5e55b32919687a5bd097d0a0012c4543f775f src/outpost_sdk/models/destinationupdateawskinesis.py: id: 4fafb7c70bff - last_write_checksum: sha1:75ca63955e3e957d28449d037742b08831c233b1 - pristine_git_object: 5e32703c5dcc55c13219e2688f23db320ae179ca + last_write_checksum: sha1:244ca72a250913ce0bb56ae1aabc86834b123370 + pristine_git_object: 924e6a570e9882d8e174b9c3fb94b9cf442d96e3 src/outpost_sdk/models/destinationupdateawss3.py: id: 46ad0c46a423 - last_write_checksum: sha1:346f424ee05bd327932fd60f52e386896a195229 - pristine_git_object: 6c181b7720d8282837b426a3c84681f277ff7d7c + last_write_checksum: sha1:2b2f4d7e1af835040d70f670159e723372e61de3 + pristine_git_object: 9d9541f139e8dd12cfeaf0f8cd099f2eaf54c741 src/outpost_sdk/models/destinationupdateawssqs.py: id: 26cfbd4e6127 - last_write_checksum: sha1:fc98396719f3d9dd6721a782f83d09fd0ec3ab24 - pristine_git_object: 6bb0ec78f1052c258ef1c64479e74df29bc384c8 + last_write_checksum: sha1:037c86c05a3fa09b76422ccd4039a2f391141b45 + pristine_git_object: b30d690dc3f15c1da191ecc1ce7bb1b6b788ee71 src/outpost_sdk/models/destinationupdateazureservicebus.py: id: 255b1dd4b368 - last_write_checksum: sha1:415a7b0bbc13483c8a832f548adcd8e9c1ccd95f - pristine_git_object: ab9fdb365649326032682d747f98a06b4d9ac01e + last_write_checksum: sha1:6b2bb8c273017640b698458205f11830dc458dec + pristine_git_object: c06379b06b42cc62716a60b2599a880a5c551367 src/outpost_sdk/models/destinationupdategcppubsub.py: id: 970389551c42 - last_write_checksum: sha1:dffc0913db0aa1abb2a237756d8555ad9b74fade - pristine_git_object: 89008066b1c2bd931fe357f8e0e30f07707a89e0 + last_write_checksum: sha1:ef69fc61fb6438503b8f67639e7440df04e5f775 + pristine_git_object: f0a9bb4d79e7ba005d70f350038ad4fe05590637 src/outpost_sdk/models/destinationupdatehookdeck.py: id: e1c91a86e3a2 - last_write_checksum: sha1:3919340f3a362e7c6e0c97523dc92a0e9dd5ee6d - pristine_git_object: 912f555428c262ffb25702d1bce0573a3ee258dc + last_write_checksum: sha1:51e545bb2e4bf0f7fb733e842babc48bac85455e + pristine_git_object: 43336d801886a2ad34f3c910b188844b1ca622ea src/outpost_sdk/models/destinationupdaterabbitmq.py: id: 92e3f15788ed - last_write_checksum: sha1:85bf47ac5fa7c6c3eabbe30cd69d313251f81c87 - pristine_git_object: b127791a5272dcc41a4deedbb8b1ada5c86fec27 + last_write_checksum: sha1:ebd4ff156c274a08194895ea34f2e1b9a71a37af + pristine_git_object: 9f953d80d99f983c3ef90a19cd02ca4bcbc395da src/outpost_sdk/models/destinationupdatewebhook.py: id: 9c02c3e9e713 - last_write_checksum: sha1:5a2e7ac99b20a1bd2c0f60c9c9ccd913b0b56ea0 - pristine_git_object: 50a8b087976b602ed4f0e2471b23a3ccd274d947 + last_write_checksum: sha1:e1060439105dd33fb252800955943626b64fcf89 + pristine_git_object: e79cbee62d436aab019a56caa92d314c720202c4 src/outpost_sdk/models/destinationwebhook.py: id: 4c4e5b9c334f - last_write_checksum: sha1:75e64bebfc6096b12cb897957b6512cb406615a8 - pristine_git_object: 836640cbd85f0a92c3c029e11682d484b6dc0f00 + last_write_checksum: sha1:3f69f39d16294bfed6d0bdd0a115b305dcdcafc1 + pristine_git_object: e75c1461482650bbad497f171f3e4da5e047ec08 src/outpost_sdk/models/disabletenantdestinationop.py: id: e0cea60a05fd last_write_checksum: sha1:f5ac7b2eb23ef872cdf5de80dd904ef25fc65988 @@ -969,32 +995,32 @@ trackedFiles: pristine_git_object: 8565cfdfe4de81d1893f98ed2db7fa2397c88d31 src/outpost_sdk/models/event.py: id: d76334f49c72 - last_write_checksum: sha1:70cbf35bffa80e03e4910800670c5de98fcaef8e - pristine_git_object: 4d7c72e487e9f9d7a663261871b9a957f264f8d3 + last_write_checksum: sha1:b4552440fb0adc1191dc54c1967e8a62f977f5af + pristine_git_object: 7320fd229270a725f89d68ae7d51eaeecb6f3a1b src/outpost_sdk/models/eventfull.py: id: 5d4778348e54 - last_write_checksum: sha1:88c662d0682263afe3f7b0e433fb37b7a21b1930 - pristine_git_object: 63e4e64251b0502d2f39c4b846e47b6fcb7be7c6 + last_write_checksum: sha1:441194efacc87d848068876e9f40c4089ee0f617 + pristine_git_object: 8db47be89fe946a33b8d4b8e515885d996307b38 src/outpost_sdk/models/eventpaginatedresult.py: id: d3ac58b45469 - last_write_checksum: sha1:43f922f7bfd531341a9920e04526aa67c6fb8189 - pristine_git_object: c0144dfa13b9ef9d9c7adb7e08b76100b348dcdf + last_write_checksum: sha1:cae2c5021c282c68e34b66591fb1cc3a8cadcaac + pristine_git_object: c1815a38476eec2c9bd46901195cf999ba1fcc93 src/outpost_sdk/models/eventsummary.py: id: f3dd5eebc5ac - last_write_checksum: sha1:9b98de396a60684272f3b4f8691a5eb6c628ac63 - pristine_git_object: 8647a8d279eb341d8a115da7dbcff116eb8708ec + last_write_checksum: sha1:10a53bf7c303aff33cd357c85c47372e3a0ff1fb + pristine_git_object: 1609f1df2787e04294528d9ee7b154bea3420c27 src/outpost_sdk/models/gcppubsubconfig.py: id: 5088ceb75781 - last_write_checksum: sha1:bdc4cdce9ff95e9b4a55c173469e7417b86dc02f - pristine_git_object: 8c8e730db9c2862a37f5911c2339b58343d282fb + last_write_checksum: sha1:00ca10c52495f57d6ae4e5429a24a4716bb0a625 + pristine_git_object: 7a952ba7d161bb3e9f89e5b554e2198a5422a9f7 src/outpost_sdk/models/gcppubsubcredentials.py: id: abca05169737 last_write_checksum: sha1:dc8390c93bf25ac535e88256a7e4d5b4717055f1 pristine_git_object: 359c1110785eb1541c9db38d18edf145df04bfc6 src/outpost_sdk/models/getattemptop.py: id: 7782fa767ceb - last_write_checksum: sha1:66a44a8ad53170fd2afc4e31c8884d5f987e6744 - pristine_git_object: 95593fe7a7c80762c2ecee5946131b7bd9319c66 + last_write_checksum: sha1:5f643ea8bbf3cc5b1909a27c9805a1f783977e7e + pristine_git_object: 2977650be25b0f4cc766c26fdf4c0deb32aed2d0 src/outpost_sdk/models/getdestinationtypeschemaop.py: id: c2eac8f2bbca last_write_checksum: sha1:9f1e56affa65b5e7fd8ef4009ab475de68b434e4 @@ -1005,8 +1031,8 @@ trackedFiles: pristine_git_object: 3359c7636361c151177b86cce9a7f365258431f6 src/outpost_sdk/models/gettenantdestinationattemptop.py: id: ccf28ac65f39 - last_write_checksum: sha1:0a66810f37640889373ff7ecbda8b1f011da3486 - pristine_git_object: 90f1c4cb9dc1b122cd0439f41bc49dcbb4b3d3fe + last_write_checksum: sha1:22bb48ee41df86ae7651e750d160c25e3ac7a204 + pristine_git_object: 72e267abab1c42cf0f6e659091326981d9b1acc1 src/outpost_sdk/models/gettenantdestinationop.py: id: 6f1966ca7278 last_write_checksum: sha1:846e419ffc178a7713a0c80f3fc32bcaf2e8ae89 @@ -1017,8 +1043,8 @@ trackedFiles: pristine_git_object: 9655b9856c65d9d250733d02dc6930744575ece4 src/outpost_sdk/models/gettenantportalurlop.py: id: 3475f159387a - last_write_checksum: sha1:ef3097bc989bf4ea51f199fb87fc3e6861eecf83 - pristine_git_object: fbbd4f95019a5b410ee8ce9a9469580b971f607a + last_write_checksum: sha1:dc64b913cc988b176964a5cd1a808f83afabb00e + pristine_git_object: 71ea2b5bfd104905f26f326bea16236cd0b8e53f src/outpost_sdk/models/gettenanttokenop.py: id: 4db19b635abf last_write_checksum: sha1:787bcacc7d672a577222287fded502eba80d1e82 @@ -1033,40 +1059,40 @@ trackedFiles: pristine_git_object: 090b478df5d6be4f69b4460766fb4f87411d2d43 src/outpost_sdk/models/listattemptsop.py: id: 23d568326218 - last_write_checksum: sha1:b8502e33ab563391e81857cca0bd2362e3e020f7 - pristine_git_object: 281606ed45208de302abd22ba910b406ec8f2105 + last_write_checksum: sha1:bfdb77068a6ab44684377ebcb6b70c12a4d599ad + pristine_git_object: 1e29a0ba8c1d4680b3d598b81ea350aa0af72fed src/outpost_sdk/models/listeventsop.py: id: 2d1ec5c5d505 - last_write_checksum: sha1:5c31f6f98f1b717dd50f0167fd8412338415cbc6 - pristine_git_object: 79a69384276c4ff170c698387d828c37888be46a + last_write_checksum: sha1:237e04b749293b5b3731f216499cbf199b9c4670 + pristine_git_object: 41b53192d3756bb5439d0318eb84c8391c9f1266 src/outpost_sdk/models/listtenantdestinationattemptsop.py: id: 1b700f60c32a - last_write_checksum: sha1:7418b67d2d712575b327bcebf46467487d9622f4 - pristine_git_object: 699a3c3a7393da08b9d3aa5253b1f201c2977615 + last_write_checksum: sha1:e005d1164e0ecd7d7076c61765bc21aad587f957 + pristine_git_object: 0a3c888cd22db85096f0c6c4dd423056207e94e0 src/outpost_sdk/models/listtenantdestinationsop.py: id: 8e9d6032dbe9 - last_write_checksum: sha1:5b627e7d620e1469d43b670a1fadd65d7556c8dc - pristine_git_object: 0db9ae86045ca64290e2b5a3c91de9ac2c3ccbd2 + last_write_checksum: sha1:68ce6e93902bdb9c6ec423f1cbeb08768f387995 + pristine_git_object: dd62647327fa462c021460f7e2d119bf16839c5b src/outpost_sdk/models/listtenantsop.py: id: 4f4212a7d66b - last_write_checksum: sha1:59557b485436dc34790629b618433f716e4559a4 - pristine_git_object: 9feba4c6731401e243814c8d8d3caa2fd96fd417 + last_write_checksum: sha1:61259c156c44c30bfd6c9670408d0ce3813e3774 + pristine_git_object: 3ffaf234fbda6f5fd0b915e3f0d4df0d9d073bcd src/outpost_sdk/models/portalredirect.py: id: 24df1cb14669 - last_write_checksum: sha1:7ea043843217141238fad319d81660d5ca7da14c - pristine_git_object: b51b4dccd682e2c9e589b3eaa8fef2c9dee027ad + last_write_checksum: sha1:7518f878e6a37489d8ea45bb7d6fb0ce04042db9 + pristine_git_object: 7618ceb8793735dd3fd86df979648c0d438bad04 src/outpost_sdk/models/publishrequest.py: id: baf66d2d3cc8 - last_write_checksum: sha1:8c5b00da22b4d335dfde2cd80e4b59d18a362366 - pristine_git_object: de1e9a782d655aba6eb93ec824db2607e57e7dbd + last_write_checksum: sha1:e4dd16faf706750c5d1c3122dc8c837311a76c35 + pristine_git_object: 7b7793f3b4c3db79a1369b9fa49e5d4aae06e883 src/outpost_sdk/models/publishresponse.py: id: 9654d8ee9d84 last_write_checksum: sha1:1d5a02ed9adc3ebdaba18add62c2c68f83283b06 pristine_git_object: 53ddadcce3510f4e956bc4599eaae888674b5161 src/outpost_sdk/models/rabbitmqconfig.py: id: 9052e976265f - last_write_checksum: sha1:f81a2d7f793c82912f4f414844807b7637ccdd78 - pristine_git_object: 1c7495d846a476df251424bc9a076536b6acd461 + last_write_checksum: sha1:cd36b236694cc00cbe6def2817dfa51089664e29 + pristine_git_object: e8ce63be458b1afb23cbd1f0739d0a53347f687c src/outpost_sdk/models/rabbitmqcredentials.py: id: 4fd25a9a0775 last_write_checksum: sha1:02394a65044b85394a0a1cbdb6f63875f0142c83 @@ -1077,60 +1103,60 @@ trackedFiles: pristine_git_object: 673103b30229f29722532ca9045f39233485a09f src/outpost_sdk/models/security.py: id: e6e012493b56 - last_write_checksum: sha1:8aae13072f396b5308b6e6edb8a696f0e2bd9378 - pristine_git_object: 87542daa8b570c12118da49db1abca7596f3db78 + last_write_checksum: sha1:e4c60a975323de0788b868a79c92f37354070f1e + pristine_git_object: 5125d045e7cb08aff6a7a69d2ac43798abd4e3c1 src/outpost_sdk/models/seekpagination.py: id: 4cad9794f60a - last_write_checksum: sha1:43bada743de17c9ff8e0725cebe71730727ad5ab - pristine_git_object: e26c619782f2df294475216189908316f2eea1bf + last_write_checksum: sha1:ece951f4d94243daf72afaf80999b9ccf0ea23b4 + pristine_git_object: de7167fe0361fead786db1d1e8cdd3e5d6d2f0be src/outpost_sdk/models/successresponse.py: id: 8d64048dbebc - last_write_checksum: sha1:49482bfbdcc3c5c20c60c31d134400b45738ebb7 - pristine_git_object: dc3d0c321bc0686e509752e9f6f8d950fe99c9f6 + last_write_checksum: sha1:17b0f916c924ecd3532ebf2d36fd216f9ca08daa + pristine_git_object: 59b7e6dd464c7f09eae6c9949822651bc637f03b src/outpost_sdk/models/tenant.py: id: 9b3af67659ce - last_write_checksum: sha1:c61fc37f690dad4ab2f137cb50a754e0a5e03ebf - pristine_git_object: 9f076c682c513e92b0e3dc88d9d738e1de2114b3 + last_write_checksum: sha1:fbcce9a84825d63478c133eafeb7107b2e439e9f + pristine_git_object: c95a0e076c0055ee625009554c3dcf12d3113830 src/outpost_sdk/models/tenantpaginatedresult.py: id: c8d246f228c8 - last_write_checksum: sha1:ffa76e8175181c5186f72ede73a80bba72f50c59 - pristine_git_object: 387f0c3047fc3b872184c8b70e6c0e6775183221 + last_write_checksum: sha1:fd4726666d1f019c91f053ef3f26796a4534f350 + pristine_git_object: 682db32a728c0cbafbba4fdd8a7cb6cf5e905e1c src/outpost_sdk/models/tenanttoken.py: id: cc80422b1099 - last_write_checksum: sha1:60674a805301142cff82e3146baaaeb7941c44c0 - pristine_git_object: b11906d8d3fadfa12adddb28e0d80aba632d56a6 + last_write_checksum: sha1:c7b9f128d4bf74ad10700120fc22763a8b859e3c + pristine_git_object: 912f9b4440ee3fcefc5fd387313f76dbd9d07ad8 src/outpost_sdk/models/tenantupsert.py: id: 7a3647aa74bf - last_write_checksum: sha1:4ad5494203c0e6602ba0024a8a9e1501a2dda723 - pristine_git_object: 842dbeaaa4bd4585ed47fb902d57b500823547a4 + last_write_checksum: sha1:24c88fcc7ccdb2f926566aa5bbc3ece9c8906b15 + pristine_git_object: 80f8c68c1f31b798670421df56ec01ce54e04345 src/outpost_sdk/models/topics_union.py: id: 5f1555c3c073 last_write_checksum: sha1:a13581e78aed2368e38df7877d3eb01950490eaf pristine_git_object: 5f812aa065ab1e8409d325052ac9cb77de353722 src/outpost_sdk/models/updatetenantdestinationop.py: id: a50aeefe37f9 - last_write_checksum: sha1:4eb84a8deb7983f0b27fe96fb7af2098f6b720df - pristine_git_object: 510b0d4dca15270d8147533ea714bdd037069158 + last_write_checksum: sha1:e9b141cadb395bd3236c1bc66fa976764faf0753 + pristine_git_object: c2455679f495555736e65822ecb41f9379e65f47 src/outpost_sdk/models/upserttenantop.py: id: 70ae30767fa8 - last_write_checksum: sha1:889048374ef6d34e2c85417c35f13dda0e73020b - pristine_git_object: b8ce1db1201f003decde809392d774dff66774ce + last_write_checksum: sha1:15d3bcaec9fa1e5eb72afc1c1c4ff2d665bf4603 + pristine_git_object: ac15dda68f695595c345b9bd7fedeb6031f7d8ef src/outpost_sdk/models/webhookconfig.py: id: fe92488cf40a - last_write_checksum: sha1:d2b3e43e90f8b573e8bccecf395fe8bc03a331d6 - pristine_git_object: 9da323289ec68b5c083b97c57eb22888f85999d3 + last_write_checksum: sha1:7ffa7fff12b5533a24029111be499501860f5e58 + pristine_git_object: e4dae5e849ad61fc221e2eafda8658e3e6b1e9d9 src/outpost_sdk/models/webhookcredentials.py: id: b7f3472f7eaf - last_write_checksum: sha1:81acb1fe1fbbcc54313056bca754a54cf9f5e64b - pristine_git_object: f4b9e2dd1ca23b3bfcb303cbdd91cb68d94b138d + last_write_checksum: sha1:15611deb83d704548faecd29a1be7b857a959535 + pristine_git_object: 1217324366cde0664c1d2321d3673a400f51919d src/outpost_sdk/models/webhookcredentialsupdate.py: id: 7d38cc3a7838 - last_write_checksum: sha1:4a12c21f80da8f289e63fd2f0525230811337cde - pristine_git_object: 89b3e3f4f4c236f9ce541907a665e0e685fd568c + last_write_checksum: sha1:361683d2675dee7760af86d012a36f78bbed02ba + pristine_git_object: 18ee1833a367e6e1c2b2278481e33b4ef07c0ecd src/outpost_sdk/publish.py: id: 9022d8173f51 - last_write_checksum: sha1:d29c685f9093c7ccbc3b3492f90cdc20c43794cb - pristine_git_object: 09367b82bcb348a017f8c25aadd5684855dda770 + last_write_checksum: sha1:7573d0313fb00bcec94e6d625a79c9f8798a71c1 + pristine_git_object: 071965f9d95c9c2201f9cf69d7b1e6afd89affa2 src/outpost_sdk/py.typed: id: 4f30ed072a58 last_write_checksum: sha1:8efc425ffe830805ffcc0f3055871bdcdc542c60 @@ -1149,8 +1175,8 @@ trackedFiles: pristine_git_object: 6a045c19a5a7a033e43debf63d5393d9459d2d32 src/outpost_sdk/tenants.py: id: 6575cae7064e - last_write_checksum: sha1:196cc1cd388ae6cacc2d1ea3d3e5446987a7c8d3 - pristine_git_object: 652afc22a39044c5268d6cb00c4bdc26e82b33cd + last_write_checksum: sha1:5a5c554f676d5b07f5334dcc0104972fb5ec5586 + pristine_git_object: 7e2c69ddf99c7f9801f3bbfbee4ea5fbf4a7db2b src/outpost_sdk/topics_sdk.py: id: 7e5ee20344bd last_write_checksum: sha1:4a5f8b212df50f2156dcdfed4679cfdff999ab8c @@ -1185,8 +1211,8 @@ trackedFiles: pristine_git_object: 3324e1bc2668c54c4d5f5a1a845675319757a828 src/outpost_sdk/utils/eventstreaming.py: id: 820142ef32ea - last_write_checksum: sha1:ffa870a25a7e4e2015bfd7a467ccd3aa1de97f0e - pristine_git_object: f2052fc22d9fd6c663ba3dce019fe234ca37108b + last_write_checksum: sha1:620d78a8b4e3b854e08d136e02e40a01a786bd70 + pristine_git_object: 3bdcd6d3d4fc772cb7f5fca8685dcdc8c85e13e8 src/outpost_sdk/utils/forms.py: id: 906e4bc25e36 last_write_checksum: sha1:15fa7e9ab1611e062a9984cf06cb20969713d295 @@ -1680,7 +1706,13 @@ examples: application/json: {"models": [{"id": "del_123", "status": "success", "time": "2024-01-01T00:00:05Z", "code": "200", "attempt_number": 1, "event_id": "evt_123", "destination_id": "des_456", "event": {"id": "evt_123", "topic": "user.created", "time": "2024-01-01T00:00:00Z", "eligible_for_retry": false, "metadata": {"source": "crm"}}}], "pagination": {"order_by": "time", "dir": "desc", "limit": 100, "next": null, "prev": null}} examplesVersion: 1.0.2 generatedTests: {} -releaseNotes: "## Python SDK Changes:\n* `outpost.attempts.list()`: `error` **Changed** (Breaking ⚠️)\n* `outpost.destinations.list_attempts()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `outpost.publish.event()`: `error` **Changed** (Breaking ⚠️)\n* `outpost.destinations.get_attempt()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `outpost.tenants.list_tenants()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `outpost.tenants.upsert()`: \n * `request` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `outpost.tenants.get()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `outpost.tenants.delete()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `outpost.tenants.get_portal_url()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `outpost.tenants.get_token()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `outpost.events.list()`: \n * `response.models[].successful_at` **Removed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `outpost.events.get()`: \n * `response.successful_at` **Removed** (Breaking ⚠️)\n * `error` **Changed**\n* `outpost.destinations.disable()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `outpost.destinations.enable()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `outpost.destinations.update()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `outpost.destinations.list()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `outpost.destinations.create()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `outpost.destinations.get()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `outpost.attempts.retry()`: `error` **Changed** (Breaking ⚠️)\n* `outpost.destinations.delete()`: \n * `request.tenant_id` **Changed** (Breaking ⚠️)\n * `error` **Changed**\n* `outpost.schemas.list_destination_types()`: **Added**\n* `outpost.schemas.get_destination_type()`: **Added**\n* `outpost.attempts.get()`: `error` **Changed**\n* `outpost.schemas.get_destination_type_jwt()`: **Removed** (Breaking ⚠️)\n* `outpost.schemas.list_destination_types_jwt()`: **Removed** (Breaking ⚠️)\n* `outpost.topics.list()`: `error.status[401]` **Added**\n" +releaseNotes: | + ## Python SDK Changes: + * `outpost.events.list()`: `request` **Changed** (Breaking ⚠️) + * `outpost.attempts.list()`: `request` **Changed** (Breaking ⚠️) + * `outpost.destinations.list_attempts()`: `request` **Changed** (Breaking ⚠️) + * `outpost.tenants.list()`: **Added** + * `outpost.tenants.list_tenants()`: **Removed** (Breaking ⚠️) generatedFiles: - .gitattributes - .vscode/settings.json diff --git a/sdks/outpost-python/.speakeasy/gen.yaml b/sdks/outpost-python/.speakeasy/gen.yaml index d10b6bc4..0b2639e8 100644 --- a/sdks/outpost-python/.speakeasy/gen.yaml +++ b/sdks/outpost-python/.speakeasy/gen.yaml @@ -29,7 +29,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false python: - version: 0.7.0 + version: 0.8.0 additionalDependencies: dev: {} main: {} diff --git a/sdks/outpost-python/README-PYPI.md b/sdks/outpost-python/README-PYPI.md index 74c49b95..eef54d59 100644 --- a/sdks/outpost-python/README-PYPI.md +++ b/sdks/outpost-python/README-PYPI.md @@ -225,7 +225,7 @@ with Outpost( ### [Tenants](https://github.com/hookdeck/outpost/blob/master/sdks/outpost-python/docs/sdks/tenants/README.md) -* [list_tenants](https://github.com/hookdeck/outpost/blob/master/sdks/outpost-python/docs/sdks/tenants/README.md#list_tenants) - List Tenants +* [list](https://github.com/hookdeck/outpost/blob/master/sdks/outpost-python/docs/sdks/tenants/README.md#list) - List Tenants * [upsert](https://github.com/hookdeck/outpost/blob/master/sdks/outpost-python/docs/sdks/tenants/README.md#upsert) - Create or Update Tenant * [get](https://github.com/hookdeck/outpost/blob/master/sdks/outpost-python/docs/sdks/tenants/README.md#get) - Get Tenant * [delete](https://github.com/hookdeck/outpost/blob/master/sdks/outpost-python/docs/sdks/tenants/README.md#delete) - Delete Tenant @@ -248,14 +248,14 @@ return value of `Next` is `None`, then there are no more pages to be fetched. Here's an example of one such pagination call: ```python -from outpost_sdk import Outpost, models +from outpost_sdk import Outpost with Outpost( api_key="", ) as outpost: - res = outpost.tenants.list_tenants(limit=20, dir=models.ListTenantsDir.DESC) + res = outpost.tenants.list(request={}) while res is not None: # Handle items diff --git a/sdks/outpost-python/README.md b/sdks/outpost-python/README.md index cd7241a9..586e967d 100644 --- a/sdks/outpost-python/README.md +++ b/sdks/outpost-python/README.md @@ -225,7 +225,7 @@ with Outpost( ### [Tenants](docs/sdks/tenants/README.md) -* [list_tenants](docs/sdks/tenants/README.md#list_tenants) - List Tenants +* [list](docs/sdks/tenants/README.md#list) - List Tenants * [upsert](docs/sdks/tenants/README.md#upsert) - Create or Update Tenant * [get](docs/sdks/tenants/README.md#get) - Get Tenant * [delete](docs/sdks/tenants/README.md#delete) - Delete Tenant @@ -248,14 +248,14 @@ return value of `Next` is `None`, then there are no more pages to be fetched. Here's an example of one such pagination call: ```python -from outpost_sdk import Outpost, models +from outpost_sdk import Outpost with Outpost( api_key="", ) as outpost: - res = outpost.tenants.list_tenants(limit=20, dir=models.ListTenantsDir.DESC) + res = outpost.tenants.list(request={}) while res is not None: # Handle items diff --git a/sdks/outpost-python/RELEASES.md b/sdks/outpost-python/RELEASES.md index d66d90fb..c3d65d44 100644 --- a/sdks/outpost-python/RELEASES.md +++ b/sdks/outpost-python/RELEASES.md @@ -58,4 +58,14 @@ Based on: ### Generated - [python v0.7.0] sdks/outpost-python ### Releases -- [PyPI v0.7.0] https://pypi.org/project/outpost_sdk/0.7.0 - sdks/outpost-python \ No newline at end of file +- [PyPI v0.7.0] https://pypi.org/project/outpost_sdk/0.7.0 - sdks/outpost-python + +## 2026-03-13 12:55:17 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.753.0 (2.862.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.8.0] sdks/outpost-python +### Releases +- [PyPI v0.8.0] https://pypi.org/project/outpost_sdk/0.8.0 - sdks/outpost-python \ No newline at end of file diff --git a/sdks/outpost-python/docs/models/createtenantdestinationrequest.md b/sdks/outpost-python/docs/models/createtenantdestinationrequest.md index 61ac6d50..4d58782c 100644 --- a/sdks/outpost-python/docs/models/createtenantdestinationrequest.md +++ b/sdks/outpost-python/docs/models/createtenantdestinationrequest.md @@ -6,4 +6,4 @@ | Field | Type | Required | Description | | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | | `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. | -| `params` | [models.DestinationCreate](../models/destinationcreate.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| `body` | [models.DestinationCreate](../models/destinationcreate.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/sdks/outpost-python/docs/models/destinationid.md b/sdks/outpost-python/docs/models/destinationid.md new file mode 100644 index 00000000..791cb34a --- /dev/null +++ b/sdks/outpost-python/docs/models/destinationid.md @@ -0,0 +1,19 @@ +# DestinationID + +Filter attempts by destination ID(s). Use bracket notation for multiple values (e.g., `destination_id[0]=d1&destination_id[1]=d2`). + + +## Supported Types + +### `str` + +```python +value: str = /* values here */ +``` + +### `List[str]` + +```python +value: List[str] = /* values here */ +``` + diff --git a/sdks/outpost-python/docs/models/getattemptinclude.md b/sdks/outpost-python/docs/models/getattemptinclude.md index 131a3616..0f669223 100644 --- a/sdks/outpost-python/docs/models/getattemptinclude.md +++ b/sdks/outpost-python/docs/models/getattemptinclude.md @@ -1,6 +1,6 @@ # GetAttemptInclude -Fields to include in the response. Can be specified multiple times or comma-separated. +Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) - `event.data`: Include full event with payload data - `response_data`: Include response body and headers diff --git a/sdks/outpost-python/docs/models/getattemptrequest.md b/sdks/outpost-python/docs/models/getattemptrequest.md index ee68506d..f37fc707 100644 --- a/sdks/outpost-python/docs/models/getattemptrequest.md +++ b/sdks/outpost-python/docs/models/getattemptrequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `attempt_id` | *str* | :heavy_check_mark: | The ID of the attempt. | -| `include` | [Optional[models.GetAttemptInclude]](../models/getattemptinclude.md) | :heavy_minus_sign: | Fields to include in the response. Can be specified multiple times or comma-separated.
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
| \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `attempt_id` | *str* | :heavy_check_mark: | The ID of the attempt. | +| `include` | [Optional[models.GetAttemptInclude]](../models/getattemptinclude.md) | :heavy_minus_sign: | Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
| \ No newline at end of file diff --git a/sdks/outpost-python/docs/models/gettenantdestinationattemptinclude.md b/sdks/outpost-python/docs/models/gettenantdestinationattemptinclude.md index e1890fa5..4c0d34b4 100644 --- a/sdks/outpost-python/docs/models/gettenantdestinationattemptinclude.md +++ b/sdks/outpost-python/docs/models/gettenantdestinationattemptinclude.md @@ -1,6 +1,6 @@ # GetTenantDestinationAttemptInclude -Fields to include in the response. Can be specified multiple times or comma-separated. +Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary - `event.data`: Include full event with payload data - `response_data`: Include response body and headers diff --git a/sdks/outpost-python/docs/models/gettenantdestinationattemptrequest.md b/sdks/outpost-python/docs/models/gettenantdestinationattemptrequest.md index 1785f2ad..ff3ef651 100644 --- a/sdks/outpost-python/docs/models/gettenantdestinationattemptrequest.md +++ b/sdks/outpost-python/docs/models/gettenantdestinationattemptrequest.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. | -| `destination_id` | *str* | :heavy_check_mark: | The ID of the destination. | -| `attempt_id` | *str* | :heavy_check_mark: | The ID of the attempt. | -| `include` | [Optional[models.GetTenantDestinationAttemptInclude]](../models/gettenantdestinationattemptinclude.md) | :heavy_minus_sign: | Fields to include in the response. Can be specified multiple times or comma-separated.
- `event`: Include event summary
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
| \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. | +| `destination_id` | *str* | :heavy_check_mark: | The ID of the destination. | +| `attempt_id` | *str* | :heavy_check_mark: | The ID of the attempt. | +| `include` | [Optional[models.GetTenantDestinationAttemptInclude]](../models/gettenantdestinationattemptinclude.md) | :heavy_minus_sign: | Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
| \ No newline at end of file diff --git a/sdks/outpost-python/docs/models/listattemptseventid.md b/sdks/outpost-python/docs/models/listattemptseventid.md new file mode 100644 index 00000000..35df71f5 --- /dev/null +++ b/sdks/outpost-python/docs/models/listattemptseventid.md @@ -0,0 +1,19 @@ +# ListAttemptsEventID + +Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`). + + +## Supported Types + +### `str` + +```python +value: str = /* values here */ +``` + +### `List[str]` + +```python +value: List[str] = /* values here */ +``` + diff --git a/sdks/outpost-python/docs/models/listattemptsinclude.md b/sdks/outpost-python/docs/models/listattemptsinclude.md index 0596cb1f..b2ca934e 100644 --- a/sdks/outpost-python/docs/models/listattemptsinclude.md +++ b/sdks/outpost-python/docs/models/listattemptsinclude.md @@ -1,6 +1,6 @@ # ListAttemptsInclude -Fields to include in the response. Can be specified multiple times or comma-separated. +Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) - `event.data`: Include full event with payload data - `response_data`: Include response body and headers diff --git a/sdks/outpost-python/docs/models/listattemptsrequest.md b/sdks/outpost-python/docs/models/listattemptsrequest.md index 421cffdc..e1a97afe 100644 --- a/sdks/outpost-python/docs/models/listattemptsrequest.md +++ b/sdks/outpost-python/docs/models/listattemptsrequest.md @@ -3,18 +3,20 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `tenant_id` | *Optional[str]* | :heavy_minus_sign: | Filter attempts by tenant ID. If not provided, returns attempts from all tenants. | -| `event_id` | *Optional[str]* | :heavy_minus_sign: | Filter attempts by event ID. | -| `destination_id` | *Optional[str]* | :heavy_minus_sign: | Filter attempts by destination ID. | -| `status` | [Optional[models.ListAttemptsStatus]](../models/listattemptsstatus.md) | :heavy_minus_sign: | Filter attempts by status. | -| `topic` | [Optional[models.ListAttemptsTopic]](../models/listattemptstopic.md) | :heavy_minus_sign: | Filter attempts by event topic(s). Can be specified multiple times or comma-separated. | -| `time_gte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time >= value (RFC3339 or YYYY-MM-DD format). | -| `time_lte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format). | -| `limit` | *Optional[int]* | :heavy_minus_sign: | Number of items per page (default 100, max 1000). | -| `next_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for next page of results. | -| `prev_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for previous page of results. | -| `include` | [Optional[models.ListAttemptsInclude]](../models/listattemptsinclude.md) | :heavy_minus_sign: | Fields to include in the response. Can be specified multiple times or comma-separated.
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
| -| `order_by` | [Optional[models.ListAttemptsOrderBy]](../models/listattemptsorderby.md) | :heavy_minus_sign: | Field to sort by. | -| `direction` | [Optional[models.ListAttemptsDir]](../models/listattemptsdir.md) | :heavy_minus_sign: | Sort direction. | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `tenant_id` | [Optional[models.ListAttemptsTenantID]](../models/listattemptstenantid.md) | :heavy_minus_sign: | Filter attempts by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`).
When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used.
If not provided with API key auth, returns attempts from all tenants.
| +| `event_id` | [Optional[models.ListAttemptsEventID]](../models/listattemptseventid.md) | :heavy_minus_sign: | Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`). | +| `destination_id` | [Optional[models.DestinationID]](../models/destinationid.md) | :heavy_minus_sign: | Filter attempts by destination ID(s). Use bracket notation for multiple values (e.g., `destination_id[0]=d1&destination_id[1]=d2`). | +| `status` | [Optional[models.ListAttemptsStatus]](../models/listattemptsstatus.md) | :heavy_minus_sign: | Filter attempts by status. | +| `topic` | [Optional[models.ListAttemptsTopic]](../models/listattemptstopic.md) | :heavy_minus_sign: | Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`). | +| `time_gte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time >= value (RFC3339 or YYYY-MM-DD format). | +| `time_lte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format). | +| `time_gt` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time > value (RFC3339 or YYYY-MM-DD format). | +| `time_lt` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time < value (RFC3339 or YYYY-MM-DD format). | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Number of items per page (default 100, max 1000). | +| `next_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for next page of results. | +| `prev_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for previous page of results. | +| `include` | [Optional[models.ListAttemptsInclude]](../models/listattemptsinclude.md) | :heavy_minus_sign: | Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
| +| `order_by` | [Optional[models.ListAttemptsOrderBy]](../models/listattemptsorderby.md) | :heavy_minus_sign: | Field to sort by. | +| `direction` | [Optional[models.ListAttemptsDir]](../models/listattemptsdir.md) | :heavy_minus_sign: | Sort direction. | \ No newline at end of file diff --git a/sdks/outpost-python/docs/models/listattemptstenantid.md b/sdks/outpost-python/docs/models/listattemptstenantid.md new file mode 100644 index 00000000..e5bfdaa6 --- /dev/null +++ b/sdks/outpost-python/docs/models/listattemptstenantid.md @@ -0,0 +1,22 @@ +# ListAttemptsTenantID + +Filter attempts by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`). +When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used. +If not provided with API key auth, returns attempts from all tenants. + + + +## Supported Types + +### `str` + +```python +value: str = /* values here */ +``` + +### `List[str]` + +```python +value: List[str] = /* values here */ +``` + diff --git a/sdks/outpost-python/docs/models/listattemptstopic.md b/sdks/outpost-python/docs/models/listattemptstopic.md index 25865989..03f3dc3c 100644 --- a/sdks/outpost-python/docs/models/listattemptstopic.md +++ b/sdks/outpost-python/docs/models/listattemptstopic.md @@ -1,6 +1,6 @@ # ListAttemptsTopic -Filter attempts by event topic(s). Can be specified multiple times or comma-separated. +Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`). ## Supported Types diff --git a/sdks/outpost-python/docs/models/listeventsid.md b/sdks/outpost-python/docs/models/listeventsid.md new file mode 100644 index 00000000..8b77946b --- /dev/null +++ b/sdks/outpost-python/docs/models/listeventsid.md @@ -0,0 +1,19 @@ +# ListEventsID + +Filter events by ID(s). Use bracket notation for multiple values (e.g., `id[0]=abc&id[1]=def`). + + +## Supported Types + +### `str` + +```python +value: str = /* values here */ +``` + +### `List[str]` + +```python +value: List[str] = /* values here */ +``` + diff --git a/sdks/outpost-python/docs/models/listeventsrequest.md b/sdks/outpost-python/docs/models/listeventsrequest.md index 4b6a5f27..b4222809 100644 --- a/sdks/outpost-python/docs/models/listeventsrequest.md +++ b/sdks/outpost-python/docs/models/listeventsrequest.md @@ -3,14 +3,17 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | -| `tenant_id` | *Optional[str]* | :heavy_minus_sign: | Filter events by tenant ID. If not provided, returns events from all tenants. | -| `topic` | [Optional[models.ListEventsTopic]](../models/listeventstopic.md) | :heavy_minus_sign: | Filter events by topic(s). Can be specified multiple times or comma-separated. | -| `time_gte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter events with time >= value (RFC3339 or YYYY-MM-DD format). | -| `time_lte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter events with time <= value (RFC3339 or YYYY-MM-DD format). | -| `limit` | *Optional[int]* | :heavy_minus_sign: | Number of items per page (default 100, max 1000). | -| `next_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for next page of results. | -| `prev_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for previous page of results. | -| `order_by` | [Optional[models.ListEventsOrderBy]](../models/listeventsorderby.md) | :heavy_minus_sign: | Field to sort by. | -| `direction` | [Optional[models.ListEventsDir]](../models/listeventsdir.md) | :heavy_minus_sign: | Sort direction. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | [Optional[models.ListEventsID]](../models/listeventsid.md) | :heavy_minus_sign: | Filter events by ID(s). Use bracket notation for multiple values (e.g., `id[0]=abc&id[1]=def`). | +| `tenant_id` | [Optional[models.ListEventsTenantID]](../models/listeventstenantid.md) | :heavy_minus_sign: | Filter events by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`).
When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used.
If not provided with API key auth, returns events from all tenants.
| +| `topic` | [Optional[models.ListEventsTopic]](../models/listeventstopic.md) | :heavy_minus_sign: | Filter events by topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`). | +| `time_gte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter events with time >= value (RFC3339 or YYYY-MM-DD format). | +| `time_lte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter events with time <= value (RFC3339 or YYYY-MM-DD format). | +| `time_gt` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter events with time > value (RFC3339 or YYYY-MM-DD format). | +| `time_lt` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter events with time < value (RFC3339 or YYYY-MM-DD format). | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Number of items per page (default 100, max 1000). | +| `next_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for next page of results. | +| `prev_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for previous page of results. | +| `order_by` | [Optional[models.ListEventsOrderBy]](../models/listeventsorderby.md) | :heavy_minus_sign: | Field to sort by. | +| `direction` | [Optional[models.ListEventsDir]](../models/listeventsdir.md) | :heavy_minus_sign: | Sort direction. | \ No newline at end of file diff --git a/sdks/outpost-python/docs/models/listeventstenantid.md b/sdks/outpost-python/docs/models/listeventstenantid.md new file mode 100644 index 00000000..53245663 --- /dev/null +++ b/sdks/outpost-python/docs/models/listeventstenantid.md @@ -0,0 +1,22 @@ +# ListEventsTenantID + +Filter events by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`). +When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used. +If not provided with API key auth, returns events from all tenants. + + + +## Supported Types + +### `str` + +```python +value: str = /* values here */ +``` + +### `List[str]` + +```python +value: List[str] = /* values here */ +``` + diff --git a/sdks/outpost-python/docs/models/listeventstopic.md b/sdks/outpost-python/docs/models/listeventstopic.md index f379a1ee..36684aa4 100644 --- a/sdks/outpost-python/docs/models/listeventstopic.md +++ b/sdks/outpost-python/docs/models/listeventstopic.md @@ -1,6 +1,6 @@ # ListEventsTopic -Filter events by topic(s). Can be specified multiple times or comma-separated. +Filter events by topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`). ## Supported Types diff --git a/sdks/outpost-python/docs/models/listtenantdestinationattemptseventid.md b/sdks/outpost-python/docs/models/listtenantdestinationattemptseventid.md new file mode 100644 index 00000000..189021e2 --- /dev/null +++ b/sdks/outpost-python/docs/models/listtenantdestinationattemptseventid.md @@ -0,0 +1,19 @@ +# ListTenantDestinationAttemptsEventID + +Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`). + + +## Supported Types + +### `str` + +```python +value: str = /* values here */ +``` + +### `List[str]` + +```python +value: List[str] = /* values here */ +``` + diff --git a/sdks/outpost-python/docs/models/listtenantdestinationattemptsinclude.md b/sdks/outpost-python/docs/models/listtenantdestinationattemptsinclude.md index 546330ea..15c77158 100644 --- a/sdks/outpost-python/docs/models/listtenantdestinationattemptsinclude.md +++ b/sdks/outpost-python/docs/models/listtenantdestinationattemptsinclude.md @@ -1,6 +1,6 @@ # ListTenantDestinationAttemptsInclude -Fields to include in the response. Can be specified multiple times or comma-separated. +Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) - `event.data`: Include full event with payload data - `response_data`: Include response body and headers diff --git a/sdks/outpost-python/docs/models/listtenantdestinationattemptsrequest.md b/sdks/outpost-python/docs/models/listtenantdestinationattemptsrequest.md index 8bd4f990..38bef260 100644 --- a/sdks/outpost-python/docs/models/listtenantdestinationattemptsrequest.md +++ b/sdks/outpost-python/docs/models/listtenantdestinationattemptsrequest.md @@ -3,18 +3,20 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. | -| `destination_id` | *str* | :heavy_check_mark: | The ID of the destination. | -| `event_id` | *Optional[str]* | :heavy_minus_sign: | Filter attempts by event ID. | -| `status` | [Optional[models.ListTenantDestinationAttemptsStatus]](../models/listtenantdestinationattemptsstatus.md) | :heavy_minus_sign: | Filter attempts by status. | -| `topic` | [Optional[models.ListTenantDestinationAttemptsTopic]](../models/listtenantdestinationattemptstopic.md) | :heavy_minus_sign: | Filter attempts by event topic(s). Can be specified multiple times or comma-separated. | -| `time_gte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time >= value (RFC3339 or YYYY-MM-DD format). | -| `time_lte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format). | -| `limit` | *Optional[int]* | :heavy_minus_sign: | Number of items per page (default 100, max 1000). | -| `next_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for next page of results. | -| `prev_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for previous page of results. | -| `include` | [Optional[models.ListTenantDestinationAttemptsInclude]](../models/listtenantdestinationattemptsinclude.md) | :heavy_minus_sign: | Fields to include in the response. Can be specified multiple times or comma-separated.
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
| -| `order_by` | [Optional[models.ListTenantDestinationAttemptsOrderBy]](../models/listtenantdestinationattemptsorderby.md) | :heavy_minus_sign: | Field to sort by. | -| `direction` | [Optional[models.ListTenantDestinationAttemptsDir]](../models/listtenantdestinationattemptsdir.md) | :heavy_minus_sign: | Sort direction. | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. | +| `destination_id` | *str* | :heavy_check_mark: | The ID of the destination. | +| `event_id` | [Optional[models.ListTenantDestinationAttemptsEventID]](../models/listtenantdestinationattemptseventid.md) | :heavy_minus_sign: | Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`). | +| `status` | [Optional[models.ListTenantDestinationAttemptsStatus]](../models/listtenantdestinationattemptsstatus.md) | :heavy_minus_sign: | Filter attempts by status. | +| `topic` | [Optional[models.ListTenantDestinationAttemptsTopic]](../models/listtenantdestinationattemptstopic.md) | :heavy_minus_sign: | Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`). | +| `time_gte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time >= value (RFC3339 or YYYY-MM-DD format). | +| `time_lte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format). | +| `time_gt` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time > value (RFC3339 or YYYY-MM-DD format). | +| `time_lt` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time < value (RFC3339 or YYYY-MM-DD format). | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Number of items per page (default 100, max 1000). | +| `next_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for next page of results. | +| `prev_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for previous page of results. | +| `include` | [Optional[models.ListTenantDestinationAttemptsInclude]](../models/listtenantdestinationattemptsinclude.md) | :heavy_minus_sign: | Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
| +| `order_by` | [Optional[models.ListTenantDestinationAttemptsOrderBy]](../models/listtenantdestinationattemptsorderby.md) | :heavy_minus_sign: | Field to sort by. | +| `direction` | [Optional[models.ListTenantDestinationAttemptsDir]](../models/listtenantdestinationattemptsdir.md) | :heavy_minus_sign: | Sort direction. | \ No newline at end of file diff --git a/sdks/outpost-python/docs/models/listtenantdestinationattemptstopic.md b/sdks/outpost-python/docs/models/listtenantdestinationattemptstopic.md index 17d836d7..10bab1e1 100644 --- a/sdks/outpost-python/docs/models/listtenantdestinationattemptstopic.md +++ b/sdks/outpost-python/docs/models/listtenantdestinationattemptstopic.md @@ -1,6 +1,6 @@ # ListTenantDestinationAttemptsTopic -Filter attempts by event topic(s). Can be specified multiple times or comma-separated. +Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`). ## Supported Types diff --git a/sdks/outpost-python/docs/models/listtenantdestinationsrequest.md b/sdks/outpost-python/docs/models/listtenantdestinationsrequest.md index b8acb2a8..5e52c71a 100644 --- a/sdks/outpost-python/docs/models/listtenantdestinationsrequest.md +++ b/sdks/outpost-python/docs/models/listtenantdestinationsrequest.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | -| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. | -| `type` | [Optional[models.ListTenantDestinationsType]](../models/listtenantdestinationstype.md) | :heavy_minus_sign: | Filter destinations by type(s). | -| `topics` | [Optional[models.ListTenantDestinationsTopics]](../models/listtenantdestinationstopics.md) | :heavy_minus_sign: | Filter destinations by supported topic(s). | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | +| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. | +| `type` | [Optional[models.ListTenantDestinationsType]](../models/listtenantdestinationstype.md) | :heavy_minus_sign: | Filter destinations by type(s). Use bracket notation for multiple values (e.g., `type[0]=webhook&type[1]=aws_sqs`). | +| `topics` | [Optional[models.ListTenantDestinationsTopics]](../models/listtenantdestinationstopics.md) | :heavy_minus_sign: | Filter destinations by supported topic(s). Use bracket notation for multiple values (e.g., `topics[0]=user.created&topics[1]=user.deleted`). | \ No newline at end of file diff --git a/sdks/outpost-python/docs/models/listtenantdestinationstopics.md b/sdks/outpost-python/docs/models/listtenantdestinationstopics.md index 4713f106..db46f67e 100644 --- a/sdks/outpost-python/docs/models/listtenantdestinationstopics.md +++ b/sdks/outpost-python/docs/models/listtenantdestinationstopics.md @@ -1,6 +1,6 @@ # ListTenantDestinationsTopics -Filter destinations by supported topic(s). +Filter destinations by supported topic(s). Use bracket notation for multiple values (e.g., `topics[0]=user.created&topics[1]=user.deleted`). ## Supported Types diff --git a/sdks/outpost-python/docs/models/listtenantdestinationstype.md b/sdks/outpost-python/docs/models/listtenantdestinationstype.md index fdf4bf52..87ee4fc4 100644 --- a/sdks/outpost-python/docs/models/listtenantdestinationstype.md +++ b/sdks/outpost-python/docs/models/listtenantdestinationstype.md @@ -1,6 +1,6 @@ # ListTenantDestinationsType -Filter destinations by type(s). +Filter destinations by type(s). Use bracket notation for multiple values (e.g., `type[0]=webhook&type[1]=aws_sqs`). ## Supported Types diff --git a/sdks/outpost-python/docs/models/listtenantsid.md b/sdks/outpost-python/docs/models/listtenantsid.md new file mode 100644 index 00000000..b96893fc --- /dev/null +++ b/sdks/outpost-python/docs/models/listtenantsid.md @@ -0,0 +1,19 @@ +# ListTenantsID + +Filter tenants by ID(s). Use bracket notation for multiple values (e.g., `id[0]=t1&id[1]=t2` or `id[]=t1&id[]=t2`). + + +## Supported Types + +### `str` + +```python +value: str = /* values here */ +``` + +### `List[str]` + +```python +value: List[str] = /* values here */ +``` + diff --git a/sdks/outpost-python/docs/models/listtenantsrequest.md b/sdks/outpost-python/docs/models/listtenantsrequest.md index 09323ccd..14d312b6 100644 --- a/sdks/outpost-python/docs/models/listtenantsrequest.md +++ b/sdks/outpost-python/docs/models/listtenantsrequest.md @@ -3,9 +3,10 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | -| `limit` | *Optional[int]* | :heavy_minus_sign: | Number of tenants to return per page (1-100, default 20). | -| `dir` | [Optional[models.ListTenantsDir]](../models/listtenantsdir.md) | :heavy_minus_sign: | Sort direction. | -| `direction` | *Optional[str]* | :heavy_minus_sign: | Cursor for the next page of results. Mutually exclusive with `prev`. | -| `prev` | *Optional[str]* | :heavy_minus_sign: | Cursor for the previous page of results. Mutually exclusive with `next`. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | +| `id` | [Optional[models.ListTenantsID]](../models/listtenantsid.md) | :heavy_minus_sign: | Filter tenants by ID(s). Use bracket notation for multiple values (e.g., `id[0]=t1&id[1]=t2` or `id[]=t1&id[]=t2`). | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Number of tenants to return per page (1-100, default 20). | +| `direction` | [Optional[models.ListTenantsDir]](../models/listtenantsdir.md) | :heavy_minus_sign: | Sort direction. | +| `next_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for the next page of results. Mutually exclusive with `prev`. | +| `prev_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for the previous page of results. Mutually exclusive with `next`. | \ No newline at end of file diff --git a/sdks/outpost-python/docs/models/updatetenantdestinationrequest.md b/sdks/outpost-python/docs/models/updatetenantdestinationrequest.md index a0e53b39..bf0ca632 100644 --- a/sdks/outpost-python/docs/models/updatetenantdestinationrequest.md +++ b/sdks/outpost-python/docs/models/updatetenantdestinationrequest.md @@ -7,4 +7,4 @@ | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | | `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. | | `destination_id` | *str* | :heavy_check_mark: | The ID of the destination. | -| `params` | [models.DestinationUpdate](../models/destinationupdate.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| `body` | [models.DestinationUpdate](../models/destinationupdate.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/sdks/outpost-python/docs/models/upserttenantrequest.md b/sdks/outpost-python/docs/models/upserttenantrequest.md index 657ca940..9c7f8930 100644 --- a/sdks/outpost-python/docs/models/upserttenantrequest.md +++ b/sdks/outpost-python/docs/models/upserttenantrequest.md @@ -6,4 +6,4 @@ | Field | Type | Required | Description | | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | | `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. | -| `params` | [Optional[models.TenantUpsert]](../models/tenantupsert.md) | :heavy_minus_sign: | Optional tenant metadata | \ No newline at end of file +| `body` | [Optional[models.TenantUpsert]](../models/tenantupsert.md) | :heavy_minus_sign: | Optional tenant metadata | \ No newline at end of file diff --git a/sdks/outpost-python/docs/sdks/attempts/README.md b/sdks/outpost-python/docs/sdks/attempts/README.md index 8883fe39..91534cac 100644 --- a/sdks/outpost-python/docs/sdks/attempts/README.md +++ b/sdks/outpost-python/docs/sdks/attempts/README.md @@ -37,14 +37,14 @@ When authenticated with Admin API Key, returns attempts across all tenants. Use ```python -from outpost_sdk import Outpost, models +from outpost_sdk import Outpost with Outpost( api_key="", ) as outpost: - res = outpost.attempts.list(limit=100, order_by=models.ListAttemptsOrderBy.TIME, direction=models.ListAttemptsDir.DESC) + res = outpost.attempts.list(request={}) while res is not None: # Handle items @@ -56,14 +56,14 @@ with Outpost( ```python -from outpost_sdk import Outpost, models +from outpost_sdk import Outpost with Outpost( api_key="", ) as outpost: - res = outpost.attempts.list(limit=100, order_by=models.ListAttemptsOrderBy.TIME, direction=models.ListAttemptsDir.DESC) + res = outpost.attempts.list(request={}) while res is not None: # Handle items @@ -74,22 +74,10 @@ with Outpost( ### Parameters -| Parameter | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `tenant_id` | *Optional[str]* | :heavy_minus_sign: | Filter attempts by tenant ID. If not provided, returns attempts from all tenants. | -| `event_id` | *Optional[str]* | :heavy_minus_sign: | Filter attempts by event ID. | -| `destination_id` | *Optional[str]* | :heavy_minus_sign: | Filter attempts by destination ID. | -| `status` | [Optional[models.ListAttemptsStatus]](../../models/listattemptsstatus.md) | :heavy_minus_sign: | Filter attempts by status. | -| `topic` | [Optional[models.ListAttemptsTopic]](../../models/listattemptstopic.md) | :heavy_minus_sign: | Filter attempts by event topic(s). Can be specified multiple times or comma-separated. | -| `time_gte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time >= value (RFC3339 or YYYY-MM-DD format). | -| `time_lte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format). | -| `limit` | *Optional[int]* | :heavy_minus_sign: | Number of items per page (default 100, max 1000). | -| `next_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for next page of results. | -| `prev_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for previous page of results. | -| `include` | [Optional[models.ListAttemptsInclude]](../../models/listattemptsinclude.md) | :heavy_minus_sign: | Fields to include in the response. Can be specified multiple times or comma-separated.
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
| -| `order_by` | [Optional[models.ListAttemptsOrderBy]](../../models/listattemptsorderby.md) | :heavy_minus_sign: | Field to sort by. | -| `direction` | [Optional[models.ListAttemptsDir]](../../models/listattemptsdir.md) | :heavy_minus_sign: | Sort direction. | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `request` | [models.ListAttemptsRequest](../../models/listattemptsrequest.md) | :heavy_check_mark: | The request object to use for the request. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -148,11 +136,11 @@ with Outpost( ### Parameters -| Parameter | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `attempt_id` | *str* | :heavy_check_mark: | The ID of the attempt. | -| `include` | [Optional[models.GetAttemptInclude]](../../models/getattemptinclude.md) | :heavy_minus_sign: | Fields to include in the response. Can be specified multiple times or comma-separated.
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
| -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `attempt_id` | *str* | :heavy_check_mark: | The ID of the attempt. | +| `include` | [Optional[models.GetAttemptInclude]](../../models/getattemptinclude.md) | :heavy_minus_sign: | Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
| +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -186,7 +174,10 @@ with Outpost( api_key="", ) as outpost: - res = outpost.attempts.retry(event_id="evt_123", destination_id="des_456") + res = outpost.attempts.retry(request={ + "event_id": "evt_123", + "destination_id": "des_456", + }) # Handle response print(res) @@ -195,11 +186,10 @@ with Outpost( ### Parameters -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | -| `event_id` | *str* | :heavy_check_mark: | The ID of the event to retry. | evt_123 | -| `destination_id` | *str* | :heavy_check_mark: | The ID of the destination to deliver to. | des_456 | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `request` | [models.RetryRequest](../../models/retryrequest.md) | :heavy_check_mark: | The request object to use for the request. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/sdks/outpost-python/docs/sdks/destinations/README.md b/sdks/outpost-python/docs/sdks/destinations/README.md index bb7acf6f..3c9960b0 100644 --- a/sdks/outpost-python/docs/sdks/destinations/README.md +++ b/sdks/outpost-python/docs/sdks/destinations/README.md @@ -63,12 +63,12 @@ with Outpost( ### Parameters -| Parameter | Type | Required | Description | -| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. | -| `type` | [Optional[models.ListTenantDestinationsType]](../../models/listtenantdestinationstype.md) | :heavy_minus_sign: | Filter destinations by type(s). | -| `topics` | [Optional[models.ListTenantDestinationsTopics]](../../models/listtenantdestinationstopics.md) | :heavy_minus_sign: | Filter destinations by supported topic(s). | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | +| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. | +| `type` | [Optional[models.ListTenantDestinationsType]](../../models/listtenantdestinationstype.md) | :heavy_minus_sign: | Filter destinations by type(s). Use bracket notation for multiple values (e.g., `type[0]=webhook&type[1]=aws_sqs`). | +| `topics` | [Optional[models.ListTenantDestinationsTopics]](../../models/listtenantdestinationstopics.md) | :heavy_minus_sign: | Filter destinations by supported topic(s). Use bracket notation for multiple values (e.g., `topics[0]=user.created&topics[1]=user.deleted`). | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -98,7 +98,7 @@ with Outpost( api_key="", ) as outpost: - res = outpost.destinations.create(tenant_id="", params={ + res = outpost.destinations.create(tenant_id="", body={ "id": "user-provided-id", "type": models.DestinationCreateRabbitMQType.RABBITMQ, "topics": models.TopicsEnum.WILDCARD_, @@ -123,7 +123,7 @@ with Outpost( | Parameter | Type | Required | Description | | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | | `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. | -| `params` | [models.DestinationCreate](../../models/destinationcreate.md) | :heavy_check_mark: | N/A | +| `body` | [models.DestinationCreate](../../models/destinationcreate.md) | :heavy_check_mark: | N/A | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -198,7 +198,7 @@ with Outpost( api_key="", ) as outpost: - res = outpost.destinations.update(tenant_id="", destination_id="", params={ + res = outpost.destinations.update(tenant_id="", destination_id="", body={ "topics": models.TopicsEnum.WILDCARD_, "config": { "server_url": "localhost:5672", @@ -222,7 +222,7 @@ with Outpost( | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | | `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. | | `destination_id` | *str* | :heavy_check_mark: | The ID of the destination. | -| `params` | [models.DestinationUpdate](../../models/destinationupdate.md) | :heavy_check_mark: | N/A | +| `body` | [models.DestinationUpdate](../../models/destinationupdate.md) | :heavy_check_mark: | N/A | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -376,14 +376,17 @@ Retrieves a paginated list of attempts scoped to a specific destination. ```python -from outpost_sdk import Outpost, models +from outpost_sdk import Outpost with Outpost( api_key="", ) as outpost: - res = outpost.destinations.list_attempts(tenant_id="", destination_id="", limit=100, order_by=models.ListTenantDestinationAttemptsOrderBy.TIME, direction=models.ListTenantDestinationAttemptsDir.DESC) + res = outpost.destinations.list_attempts(request={ + "tenant_id": "", + "destination_id": "", + }) while res is not None: # Handle items @@ -394,22 +397,10 @@ with Outpost( ### Parameters -| Parameter | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. | -| `destination_id` | *str* | :heavy_check_mark: | The ID of the destination. | -| `event_id` | *Optional[str]* | :heavy_minus_sign: | Filter attempts by event ID. | -| `status` | [Optional[models.ListTenantDestinationAttemptsStatus]](../../models/listtenantdestinationattemptsstatus.md) | :heavy_minus_sign: | Filter attempts by status. | -| `topic` | [Optional[models.ListTenantDestinationAttemptsTopic]](../../models/listtenantdestinationattemptstopic.md) | :heavy_minus_sign: | Filter attempts by event topic(s). Can be specified multiple times or comma-separated. | -| `time_gte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time >= value (RFC3339 or YYYY-MM-DD format). | -| `time_lte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format). | -| `limit` | *Optional[int]* | :heavy_minus_sign: | Number of items per page (default 100, max 1000). | -| `next_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for next page of results. | -| `prev_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for previous page of results. | -| `include` | [Optional[models.ListTenantDestinationAttemptsInclude]](../../models/listtenantdestinationattemptsinclude.md) | :heavy_minus_sign: | Fields to include in the response. Can be specified multiple times or comma-separated.
- `event`: Include event summary (id, topic, time, eligible_for_retry, metadata)
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
| -| `order_by` | [Optional[models.ListTenantDestinationAttemptsOrderBy]](../../models/listtenantdestinationattemptsorderby.md) | :heavy_minus_sign: | Field to sort by. | -| `direction` | [Optional[models.ListTenantDestinationAttemptsDir]](../../models/listtenantdestinationattemptsdir.md) | :heavy_minus_sign: | Sort direction. | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `request` | [models.ListTenantDestinationAttemptsRequest](../../models/listtenantdestinationattemptsrequest.md) | :heavy_check_mark: | The request object to use for the request. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -448,13 +439,13 @@ with Outpost( ### Parameters -| Parameter | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. | -| `destination_id` | *str* | :heavy_check_mark: | The ID of the destination. | -| `attempt_id` | *str* | :heavy_check_mark: | The ID of the attempt. | -| `include` | [Optional[models.GetTenantDestinationAttemptInclude]](../../models/gettenantdestinationattemptinclude.md) | :heavy_minus_sign: | Fields to include in the response. Can be specified multiple times or comma-separated.
- `event`: Include event summary
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
| -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. | +| `destination_id` | *str* | :heavy_check_mark: | The ID of the destination. | +| `attempt_id` | *str* | :heavy_check_mark: | The ID of the attempt. | +| `include` | [Optional[models.GetTenantDestinationAttemptInclude]](../../models/gettenantdestinationattemptinclude.md) | :heavy_minus_sign: | Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`).
- `event`: Include event summary
- `event.data`: Include full event with payload data
- `response_data`: Include response body and headers
| +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/sdks/outpost-python/docs/sdks/events/README.md b/sdks/outpost-python/docs/sdks/events/README.md index d0df90e0..0e8208f7 100644 --- a/sdks/outpost-python/docs/sdks/events/README.md +++ b/sdks/outpost-python/docs/sdks/events/README.md @@ -21,14 +21,14 @@ When authenticated with Admin API Key, returns events across all tenants. Use `t ```python -from outpost_sdk import Outpost, models +from outpost_sdk import Outpost with Outpost( api_key="", ) as outpost: - res = outpost.events.list(limit=100, order_by=models.ListEventsOrderBy.TIME, direction=models.ListEventsDir.DESC) + res = outpost.events.list(request={}) while res is not None: # Handle items @@ -39,18 +39,10 @@ with Outpost( ### Parameters -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | -| `tenant_id` | *Optional[str]* | :heavy_minus_sign: | Filter events by tenant ID. If not provided, returns events from all tenants. | -| `topic` | [Optional[models.ListEventsTopic]](../../models/listeventstopic.md) | :heavy_minus_sign: | Filter events by topic(s). Can be specified multiple times or comma-separated. | -| `time_gte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter events with time >= value (RFC3339 or YYYY-MM-DD format). | -| `time_lte` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Filter events with time <= value (RFC3339 or YYYY-MM-DD format). | -| `limit` | *Optional[int]* | :heavy_minus_sign: | Number of items per page (default 100, max 1000). | -| `next_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for next page of results. | -| `prev_cursor` | *Optional[str]* | :heavy_minus_sign: | Cursor for previous page of results. | -| `order_by` | [Optional[models.ListEventsOrderBy]](../../models/listeventsorderby.md) | :heavy_minus_sign: | Field to sort by. | -| `direction` | [Optional[models.ListEventsDir]](../../models/listeventsdir.md) | :heavy_minus_sign: | Sort direction. | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `request` | [models.ListEventsRequest](../../models/listeventsrequest.md) | :heavy_check_mark: | The request object to use for the request. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/sdks/outpost-python/docs/sdks/publish/README.md b/sdks/outpost-python/docs/sdks/publish/README.md index c3a0e2d4..def08cf2 100644 --- a/sdks/outpost-python/docs/sdks/publish/README.md +++ b/sdks/outpost-python/docs/sdks/publish/README.md @@ -24,11 +24,19 @@ with Outpost( api_key="", ) as outpost: - res = outpost.publish.event(data={ - "user_id": "userid", - "status": "active", - }, id="evt_custom_123", tenant_id="", destination_id="", topic="topic.name", time=parse_datetime("2024-01-15T10:30:00Z"), metadata={ - "source": "crm", + res = outpost.publish.event(request={ + "id": "evt_custom_123", + "tenant_id": "", + "destination_id": "", + "topic": "topic.name", + "time": parse_datetime("2024-01-15T10:30:00Z"), + "metadata": { + "source": "crm", + }, + "data": { + "user_id": "userid", + "status": "active", + }, }) # Handle response @@ -38,17 +46,10 @@ with Outpost( ### Parameters -| Parameter | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | -| `data` | Dict[str, *Any*] | :heavy_check_mark: | Any JSON payload for the event data. | {
"user_id": "userid",
"status": "active"
} | -| `id` | *Optional[str]* | :heavy_minus_sign: | Optional. A unique identifier for the event. If not provided, a UUID will be generated. | evt_custom_123 | -| `tenant_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the tenant to publish for. | | -| `destination_id` | *Optional[str]* | :heavy_minus_sign: | Optional. Route event to a specific destination. | | -| `topic` | *Optional[str]* | :heavy_minus_sign: | Topic name for the event. Required if Outpost has been configured with topics. | topic.name | -| `eligible_for_retry` | *Optional[bool]* | :heavy_minus_sign: | Should event delivery be retried on failure. | | -| `time` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Optional. Custom timestamp for the event. If not provided, defaults to the current time. | 2024-01-15T10:30:00Z | -| `metadata` | Dict[str, *str*] | :heavy_minus_sign: | Any key-value string pairs for metadata. | {
"source": "crm"
} | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `request` | [models.PublishRequest](../../models/publishrequest.md) | :heavy_check_mark: | The request object to use for the request. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/sdks/outpost-python/docs/sdks/tenants/README.md b/sdks/outpost-python/docs/sdks/tenants/README.md index efe7bd19..0199c80d 100644 --- a/sdks/outpost-python/docs/sdks/tenants/README.md +++ b/sdks/outpost-python/docs/sdks/tenants/README.md @@ -9,14 +9,14 @@ If your system is not multi-tenant, create a single tenant with a hard-code tena ### Available Operations -* [list_tenants](#list_tenants) - List Tenants +* [list](#list) - List Tenants * [upsert](#upsert) - Create or Update Tenant * [get](#get) - Get Tenant * [delete](#delete) - Delete Tenant * [get_portal_url](#get_portal_url) - Get Portal Redirect URL * [get_token](#get_token) - Get Tenant JWT Token -## list_tenants +## list List all tenants with cursor-based pagination. @@ -30,14 +30,14 @@ When authenticated with a Tenant JWT, returns only the authenticated tenant. Pag ```python -from outpost_sdk import Outpost, models +from outpost_sdk import Outpost with Outpost( api_key="", ) as outpost: - res = outpost.tenants.list_tenants(limit=20, dir=models.ListTenantsDir.DESC) + res = outpost.tenants.list(request={}) while res is not None: # Handle items @@ -48,13 +48,10 @@ with Outpost( ### Parameters -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | -| `limit` | *Optional[int]* | :heavy_minus_sign: | Number of tenants to return per page (1-100, default 20). | -| `dir` | [Optional[models.ListTenantsDir]](../../models/listtenantsdir.md) | :heavy_minus_sign: | Sort direction. | -| `direction` | *Optional[str]* | :heavy_minus_sign: | Cursor for the next page of results. Mutually exclusive with `prev`. | -| `prev` | *Optional[str]* | :heavy_minus_sign: | Cursor for the previous page of results. Mutually exclusive with `next`. | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `request` | [models.ListTenantsRequest](../../models/listtenantsrequest.md) | :heavy_check_mark: | The request object to use for the request. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -97,7 +94,7 @@ with Outpost( | Parameter | Type | Required | Description | | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | | `tenant_id` | *str* | :heavy_check_mark: | The ID of the tenant. Required when using AdminApiKey authentication. | -| `metadata` | Dict[str, *str*] | :heavy_minus_sign: | Optional metadata to store with the tenant. | +| `body` | [Optional[models.TenantUpsert]](../../models/tenantupsert.md) | :heavy_minus_sign: | Optional tenant metadata | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/sdks/outpost-python/pyproject.toml b/sdks/outpost-python/pyproject.toml index d16b457b..f06cb423 100644 --- a/sdks/outpost-python/pyproject.toml +++ b/sdks/outpost-python/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "outpost_sdk" -version = "0.7.0" +version = "0.8.0" description = "Python Client SDK Generated by Speakeasy." authors = [{ name = "Speakeasy" },] readme = "README-PYPI.md" diff --git a/sdks/outpost-python/src/outpost_sdk/_version.py b/sdks/outpost-python/src/outpost_sdk/_version.py index 9bde0b83..f7d6cd50 100644 --- a/sdks/outpost-python/src/outpost_sdk/_version.py +++ b/sdks/outpost-python/src/outpost_sdk/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "outpost_sdk" -__version__: str = "0.7.0" +__version__: str = "0.8.0" __openapi_doc_version__: str = "0.0.1" -__gen_version__: str = "2.849.10" -__user_agent__: str = "speakeasy-sdk/python 0.7.0 2.849.10 0.0.1 outpost_sdk" +__gen_version__: str = "2.862.0" +__user_agent__: str = "speakeasy-sdk/python 0.8.0 2.862.0 0.0.1 outpost_sdk" try: if __package__ is not None: diff --git a/sdks/outpost-python/src/outpost_sdk/attempts.py b/sdks/outpost-python/src/outpost_sdk/attempts.py index 6ba66377..06c122ea 100644 --- a/sdks/outpost-python/src/outpost_sdk/attempts.py +++ b/sdks/outpost-python/src/outpost_sdk/attempts.py @@ -1,13 +1,12 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from .basesdk import BaseSDK -from datetime import datetime from jsonpath import JSONPath from outpost_sdk import errors, models, utils from outpost_sdk._hooks import HookContext -from outpost_sdk.types import OptionalNullable, UNSET +from outpost_sdk.types import BaseModel, OptionalNullable, UNSET from outpost_sdk.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, Dict, List, Mapping, Optional, Union +from typing import Any, Dict, List, Mapping, Optional, Union, cast class Attempts(BaseSDK): @@ -32,25 +31,7 @@ class Attempts(BaseSDK): def list( self, *, - tenant_id: Optional[str] = None, - event_id: Optional[str] = None, - destination_id: Optional[str] = None, - status: Optional[models.ListAttemptsStatus] = None, - topic: Optional[ - Union[models.ListAttemptsTopic, models.ListAttemptsTopicTypedDict] - ] = None, - time_gte: Optional[datetime] = None, - time_lte: Optional[datetime] = None, - limit: Optional[int] = 100, - next_cursor: Optional[str] = None, - prev_cursor: Optional[str] = None, - include: Optional[ - Union[models.ListAttemptsInclude, models.ListAttemptsIncludeTypedDict] - ] = None, - order_by: Optional[ - models.ListAttemptsOrderBy - ] = models.ListAttemptsOrderBy.TIME, - direction: Optional[models.ListAttemptsDir] = models.ListAttemptsDir.DESC, + request: Union[models.ListAttemptsRequest, models.ListAttemptsRequestTypedDict], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -64,23 +45,7 @@ def list( When authenticated with Admin API Key, returns attempts across all tenants. Use `tenant_id` query parameter to filter by tenant. - :param tenant_id: Filter attempts by tenant ID. If not provided, returns attempts from all tenants. - :param event_id: Filter attempts by event ID. - :param destination_id: Filter attempts by destination ID. - :param status: Filter attempts by status. - :param topic: Filter attempts by event topic(s). Can be specified multiple times or comma-separated. - :param time_gte: Filter attempts by event time >= value (RFC3339 or YYYY-MM-DD format). - :param time_lte: Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format). - :param limit: Number of items per page (default 100, max 1000). - :param next_cursor: Cursor for next page of results. - :param prev_cursor: Cursor for previous page of results. - :param include: Fields to include in the response. Can be specified multiple times or comma-separated. - - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) - - `event.data`: Include full event with payload data - - `response_data`: Include response body and headers - - :param order_by: Field to sort by. - :param direction: Sort direction. + :param request: The request object to send. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -96,21 +61,9 @@ def list( else: base_url = self._get_url(base_url, url_variables) - request = models.ListAttemptsRequest( - tenant_id=tenant_id, - event_id=event_id, - destination_id=destination_id, - status=status, - topic=topic, - time_gte=time_gte, - time_lte=time_lte, - limit=limit, - next_cursor=next_cursor, - prev_cursor=prev_cursor, - include=include, - order_by=order_by, - direction=direction, - ) + if not isinstance(request, BaseModel): + request = utils.unmarshal(request, models.ListAttemptsRequest) + request = cast(models.ListAttemptsRequest, request) req = self._build_request( method="GET", @@ -168,19 +121,23 @@ def next_func() -> Optional[models.ListAttemptsResponse]: return None return self.list( - tenant_id=tenant_id, - event_id=event_id, - destination_id=destination_id, - status=status, - topic=topic, - time_gte=time_gte, - time_lte=time_lte, - limit=limit, - next_cursor=next_cursor, - prev_cursor=prev_cursor, - include=include, - order_by=order_by, - direction=direction, + request=models.ListAttemptsRequest( + tenant_id=request.tenant_id, + event_id=request.event_id, + destination_id=request.destination_id, + status=request.status, + topic=request.topic, + time_gte=request.time_gte, + time_lte=request.time_lte, + time_gt=request.time_gt, + time_lt=request.time_lt, + limit=request.limit, + next_cursor=request.next_cursor, + prev_cursor=request.prev_cursor, + include=request.include, + order_by=request.order_by, + direction=request.direction, + ), retries=retries, ) @@ -212,25 +169,7 @@ def next_func() -> Optional[models.ListAttemptsResponse]: async def list_async( self, *, - tenant_id: Optional[str] = None, - event_id: Optional[str] = None, - destination_id: Optional[str] = None, - status: Optional[models.ListAttemptsStatus] = None, - topic: Optional[ - Union[models.ListAttemptsTopic, models.ListAttemptsTopicTypedDict] - ] = None, - time_gte: Optional[datetime] = None, - time_lte: Optional[datetime] = None, - limit: Optional[int] = 100, - next_cursor: Optional[str] = None, - prev_cursor: Optional[str] = None, - include: Optional[ - Union[models.ListAttemptsInclude, models.ListAttemptsIncludeTypedDict] - ] = None, - order_by: Optional[ - models.ListAttemptsOrderBy - ] = models.ListAttemptsOrderBy.TIME, - direction: Optional[models.ListAttemptsDir] = models.ListAttemptsDir.DESC, + request: Union[models.ListAttemptsRequest, models.ListAttemptsRequestTypedDict], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -244,23 +183,7 @@ async def list_async( When authenticated with Admin API Key, returns attempts across all tenants. Use `tenant_id` query parameter to filter by tenant. - :param tenant_id: Filter attempts by tenant ID. If not provided, returns attempts from all tenants. - :param event_id: Filter attempts by event ID. - :param destination_id: Filter attempts by destination ID. - :param status: Filter attempts by status. - :param topic: Filter attempts by event topic(s). Can be specified multiple times or comma-separated. - :param time_gte: Filter attempts by event time >= value (RFC3339 or YYYY-MM-DD format). - :param time_lte: Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format). - :param limit: Number of items per page (default 100, max 1000). - :param next_cursor: Cursor for next page of results. - :param prev_cursor: Cursor for previous page of results. - :param include: Fields to include in the response. Can be specified multiple times or comma-separated. - - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) - - `event.data`: Include full event with payload data - - `response_data`: Include response body and headers - - :param order_by: Field to sort by. - :param direction: Sort direction. + :param request: The request object to send. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -276,21 +199,9 @@ async def list_async( else: base_url = self._get_url(base_url, url_variables) - request = models.ListAttemptsRequest( - tenant_id=tenant_id, - event_id=event_id, - destination_id=destination_id, - status=status, - topic=topic, - time_gte=time_gte, - time_lte=time_lte, - limit=limit, - next_cursor=next_cursor, - prev_cursor=prev_cursor, - include=include, - order_by=order_by, - direction=direction, - ) + if not isinstance(request, BaseModel): + request = utils.unmarshal(request, models.ListAttemptsRequest) + request = cast(models.ListAttemptsRequest, request) req = self._build_request_async( method="GET", @@ -348,19 +259,23 @@ def next_func() -> Optional[models.ListAttemptsResponse]: return None return self.list( - tenant_id=tenant_id, - event_id=event_id, - destination_id=destination_id, - status=status, - topic=topic, - time_gte=time_gte, - time_lte=time_lte, - limit=limit, - next_cursor=next_cursor, - prev_cursor=prev_cursor, - include=include, - order_by=order_by, - direction=direction, + request=models.ListAttemptsRequest( + tenant_id=request.tenant_id, + event_id=request.event_id, + destination_id=request.destination_id, + status=request.status, + topic=request.topic, + time_gte=request.time_gte, + time_lte=request.time_lte, + time_gt=request.time_gt, + time_lt=request.time_lt, + limit=request.limit, + next_cursor=request.next_cursor, + prev_cursor=request.prev_cursor, + include=request.include, + order_by=request.order_by, + direction=request.direction, + ), retries=retries, ) @@ -410,7 +325,7 @@ def get( :param attempt_id: The ID of the attempt. - :param include: Fields to include in the response. Can be specified multiple times or comma-separated. + :param include: Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) - `event.data`: Include full event with payload data - `response_data`: Include response body and headers @@ -519,7 +434,7 @@ async def get_async( :param attempt_id: The ID of the attempt. - :param include: Fields to include in the response. Can be specified multiple times or comma-separated. + :param include: Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) - `event.data`: Include full event with payload data - `response_data`: Include response body and headers @@ -610,8 +525,7 @@ async def get_async( def retry( self, *, - event_id: str, - destination_id: str, + request: Union[models.RetryRequest, models.RetryRequestTypedDict], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -625,8 +539,7 @@ def retry( When authenticated with Admin API Key, events from any tenant can be retried. - :param event_id: The ID of the event to retry. - :param destination_id: The ID of the destination to deliver to. + :param request: The request object to send. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -642,10 +555,9 @@ def retry( else: base_url = self._get_url(base_url, url_variables) - request = models.RetryRequest( - event_id=event_id, - destination_id=destination_id, - ) + if not isinstance(request, BaseModel): + request = utils.unmarshal(request, models.RetryRequest) + request = cast(models.RetryRequest, request) req = self._build_request( method="POST", @@ -716,8 +628,7 @@ def retry( async def retry_async( self, *, - event_id: str, - destination_id: str, + request: Union[models.RetryRequest, models.RetryRequestTypedDict], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -731,8 +642,7 @@ async def retry_async( When authenticated with Admin API Key, events from any tenant can be retried. - :param event_id: The ID of the event to retry. - :param destination_id: The ID of the destination to deliver to. + :param request: The request object to send. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -748,10 +658,9 @@ async def retry_async( else: base_url = self._get_url(base_url, url_variables) - request = models.RetryRequest( - event_id=event_id, - destination_id=destination_id, - ) + if not isinstance(request, BaseModel): + request = utils.unmarshal(request, models.RetryRequest) + request = cast(models.RetryRequest, request) req = self._build_request_async( method="POST", diff --git a/sdks/outpost-python/src/outpost_sdk/destinations.py b/sdks/outpost-python/src/outpost_sdk/destinations.py index cac34b75..d95d2dc5 100644 --- a/sdks/outpost-python/src/outpost_sdk/destinations.py +++ b/sdks/outpost-python/src/outpost_sdk/destinations.py @@ -1,13 +1,12 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from .basesdk import BaseSDK -from datetime import datetime from jsonpath import JSONPath from outpost_sdk import errors, models, utils from outpost_sdk._hooks import HookContext -from outpost_sdk.types import OptionalNullable, UNSET +from outpost_sdk.types import BaseModel, OptionalNullable, UNSET from outpost_sdk.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, Dict, List, Mapping, Optional, Union +from typing import Any, Dict, List, Mapping, Optional, Union, cast class Destinations(BaseSDK): @@ -63,8 +62,8 @@ def list( Return a list of the destinations for the tenant. The endpoint is not paged. :param tenant_id: The ID of the tenant. Required when using AdminApiKey authentication. - :param type: Filter destinations by type(s). - :param topics: Filter destinations by supported topic(s). + :param type: Filter destinations by type(s). Use bracket notation for multiple values (e.g., `type[0]=webhook&type[1]=aws_sqs`). + :param topics: Filter destinations by supported topic(s). Use bracket notation for multiple values (e.g., `topics[0]=user.created&topics[1]=user.deleted`). :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -175,8 +174,8 @@ async def list_async( Return a list of the destinations for the tenant. The endpoint is not paged. :param tenant_id: The ID of the tenant. Required when using AdminApiKey authentication. - :param type: Filter destinations by type(s). - :param topics: Filter destinations by supported topic(s). + :param type: Filter destinations by type(s). Use bracket notation for multiple values (e.g., `type[0]=webhook&type[1]=aws_sqs`). + :param topics: Filter destinations by supported topic(s). Use bracket notation for multiple values (e.g., `topics[0]=user.created&topics[1]=user.deleted`). :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -265,7 +264,7 @@ def create( self, *, tenant_id: str, - params: Union[models.DestinationCreate, models.DestinationCreateTypedDict], + body: Union[models.DestinationCreate, models.DestinationCreateTypedDict], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -276,7 +275,7 @@ def create( Creates a new destination for the tenant. The request body structure depends on the `type`. :param tenant_id: The ID of the tenant. Required when using AdminApiKey authentication. - :param params: + :param body: :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -294,7 +293,7 @@ def create( request = models.CreateTenantDestinationRequest( tenant_id=tenant_id, - params=utils.get_pydantic_model(params, models.DestinationCreate), + body=utils.get_pydantic_model(body, models.DestinationCreate), ) req = self._build_request( @@ -311,7 +310,7 @@ def create( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.params, False, False, "json", models.DestinationCreate + request.body, False, False, "json", models.DestinationCreate ), allow_empty_value=None, timeout_ms=timeout_ms, @@ -372,7 +371,7 @@ async def create_async( self, *, tenant_id: str, - params: Union[models.DestinationCreate, models.DestinationCreateTypedDict], + body: Union[models.DestinationCreate, models.DestinationCreateTypedDict], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -383,7 +382,7 @@ async def create_async( Creates a new destination for the tenant. The request body structure depends on the `type`. :param tenant_id: The ID of the tenant. Required when using AdminApiKey authentication. - :param params: + :param body: :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -401,7 +400,7 @@ async def create_async( request = models.CreateTenantDestinationRequest( tenant_id=tenant_id, - params=utils.get_pydantic_model(params, models.DestinationCreate), + body=utils.get_pydantic_model(body, models.DestinationCreate), ) req = self._build_request_async( @@ -418,7 +417,7 @@ async def create_async( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.params, False, False, "json", models.DestinationCreate + request.body, False, False, "json", models.DestinationCreate ), allow_empty_value=None, timeout_ms=timeout_ms, @@ -678,7 +677,7 @@ def update( *, tenant_id: str, destination_id: str, - params: Union[models.DestinationUpdate, models.DestinationUpdateTypedDict], + body: Union[models.DestinationUpdate, models.DestinationUpdateTypedDict], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -690,7 +689,7 @@ def update( :param tenant_id: The ID of the tenant. Required when using AdminApiKey authentication. :param destination_id: The ID of the destination. - :param params: + :param body: :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -709,7 +708,7 @@ def update( request = models.UpdateTenantDestinationRequest( tenant_id=tenant_id, destination_id=destination_id, - params=utils.get_pydantic_model(params, models.DestinationUpdate), + body=utils.get_pydantic_model(body, models.DestinationUpdate), ) req = self._build_request( @@ -726,7 +725,7 @@ def update( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.params, False, False, "json", models.DestinationUpdate + request.body, False, False, "json", models.DestinationUpdate ), allow_empty_value=None, timeout_ms=timeout_ms, @@ -790,7 +789,7 @@ async def update_async( *, tenant_id: str, destination_id: str, - params: Union[models.DestinationUpdate, models.DestinationUpdateTypedDict], + body: Union[models.DestinationUpdate, models.DestinationUpdateTypedDict], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -802,7 +801,7 @@ async def update_async( :param tenant_id: The ID of the tenant. Required when using AdminApiKey authentication. :param destination_id: The ID of the destination. - :param params: + :param body: :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -821,7 +820,7 @@ async def update_async( request = models.UpdateTenantDestinationRequest( tenant_id=tenant_id, destination_id=destination_id, - params=utils.get_pydantic_model(params, models.DestinationUpdate), + body=utils.get_pydantic_model(body, models.DestinationUpdate), ) req = self._build_request_async( @@ -838,7 +837,7 @@ async def update_async( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.params, False, False, "json", models.DestinationUpdate + request.body, False, False, "json", models.DestinationUpdate ), allow_empty_value=None, timeout_ms=timeout_ms, @@ -1494,33 +1493,10 @@ async def disable_async( def list_attempts( self, *, - tenant_id: str, - destination_id: str, - event_id: Optional[str] = None, - status: Optional[models.ListTenantDestinationAttemptsStatus] = None, - topic: Optional[ - Union[ - models.ListTenantDestinationAttemptsTopic, - models.ListTenantDestinationAttemptsTopicTypedDict, - ] - ] = None, - time_gte: Optional[datetime] = None, - time_lte: Optional[datetime] = None, - limit: Optional[int] = 100, - next_cursor: Optional[str] = None, - prev_cursor: Optional[str] = None, - include: Optional[ - Union[ - models.ListTenantDestinationAttemptsInclude, - models.ListTenantDestinationAttemptsIncludeTypedDict, - ] - ] = None, - order_by: Optional[ - models.ListTenantDestinationAttemptsOrderBy - ] = models.ListTenantDestinationAttemptsOrderBy.TIME, - direction: Optional[ - models.ListTenantDestinationAttemptsDir - ] = models.ListTenantDestinationAttemptsDir.DESC, + request: Union[ + models.ListTenantDestinationAttemptsRequest, + models.ListTenantDestinationAttemptsRequestTypedDict, + ], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1530,23 +1506,7 @@ def list_attempts( Retrieves a paginated list of attempts scoped to a specific destination. - :param tenant_id: The ID of the tenant. Required when using AdminApiKey authentication. - :param destination_id: The ID of the destination. - :param event_id: Filter attempts by event ID. - :param status: Filter attempts by status. - :param topic: Filter attempts by event topic(s). Can be specified multiple times or comma-separated. - :param time_gte: Filter attempts by event time >= value (RFC3339 or YYYY-MM-DD format). - :param time_lte: Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format). - :param limit: Number of items per page (default 100, max 1000). - :param next_cursor: Cursor for next page of results. - :param prev_cursor: Cursor for previous page of results. - :param include: Fields to include in the response. Can be specified multiple times or comma-separated. - - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) - - `event.data`: Include full event with payload data - - `response_data`: Include response body and headers - - :param order_by: Field to sort by. - :param direction: Sort direction. + :param request: The request object to send. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1562,21 +1522,11 @@ def list_attempts( else: base_url = self._get_url(base_url, url_variables) - request = models.ListTenantDestinationAttemptsRequest( - tenant_id=tenant_id, - destination_id=destination_id, - event_id=event_id, - status=status, - topic=topic, - time_gte=time_gte, - time_lte=time_lte, - limit=limit, - next_cursor=next_cursor, - prev_cursor=prev_cursor, - include=include, - order_by=order_by, - direction=direction, - ) + if not isinstance(request, BaseModel): + request = utils.unmarshal( + request, models.ListTenantDestinationAttemptsRequest + ) + request = cast(models.ListTenantDestinationAttemptsRequest, request) req = self._build_request( method="GET", @@ -1634,19 +1584,23 @@ def next_func() -> Optional[models.ListTenantDestinationAttemptsResponse]: return None return self.list_attempts( - tenant_id=tenant_id, - destination_id=destination_id, - event_id=event_id, - status=status, - topic=topic, - time_gte=time_gte, - time_lte=time_lte, - limit=limit, - next_cursor=next_cursor, - prev_cursor=prev_cursor, - include=include, - order_by=order_by, - direction=direction, + request=models.ListTenantDestinationAttemptsRequest( + tenant_id=request.tenant_id, + destination_id=request.destination_id, + event_id=request.event_id, + status=request.status, + topic=request.topic, + time_gte=request.time_gte, + time_lte=request.time_lte, + time_gt=request.time_gt, + time_lt=request.time_lt, + limit=request.limit, + next_cursor=request.next_cursor, + prev_cursor=request.prev_cursor, + include=request.include, + order_by=request.order_by, + direction=request.direction, + ), retries=retries, ) @@ -1681,33 +1635,10 @@ def next_func() -> Optional[models.ListTenantDestinationAttemptsResponse]: async def list_attempts_async( self, *, - tenant_id: str, - destination_id: str, - event_id: Optional[str] = None, - status: Optional[models.ListTenantDestinationAttemptsStatus] = None, - topic: Optional[ - Union[ - models.ListTenantDestinationAttemptsTopic, - models.ListTenantDestinationAttemptsTopicTypedDict, - ] - ] = None, - time_gte: Optional[datetime] = None, - time_lte: Optional[datetime] = None, - limit: Optional[int] = 100, - next_cursor: Optional[str] = None, - prev_cursor: Optional[str] = None, - include: Optional[ - Union[ - models.ListTenantDestinationAttemptsInclude, - models.ListTenantDestinationAttemptsIncludeTypedDict, - ] - ] = None, - order_by: Optional[ - models.ListTenantDestinationAttemptsOrderBy - ] = models.ListTenantDestinationAttemptsOrderBy.TIME, - direction: Optional[ - models.ListTenantDestinationAttemptsDir - ] = models.ListTenantDestinationAttemptsDir.DESC, + request: Union[ + models.ListTenantDestinationAttemptsRequest, + models.ListTenantDestinationAttemptsRequestTypedDict, + ], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -1717,23 +1648,7 @@ async def list_attempts_async( Retrieves a paginated list of attempts scoped to a specific destination. - :param tenant_id: The ID of the tenant. Required when using AdminApiKey authentication. - :param destination_id: The ID of the destination. - :param event_id: Filter attempts by event ID. - :param status: Filter attempts by status. - :param topic: Filter attempts by event topic(s). Can be specified multiple times or comma-separated. - :param time_gte: Filter attempts by event time >= value (RFC3339 or YYYY-MM-DD format). - :param time_lte: Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format). - :param limit: Number of items per page (default 100, max 1000). - :param next_cursor: Cursor for next page of results. - :param prev_cursor: Cursor for previous page of results. - :param include: Fields to include in the response. Can be specified multiple times or comma-separated. - - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) - - `event.data`: Include full event with payload data - - `response_data`: Include response body and headers - - :param order_by: Field to sort by. - :param direction: Sort direction. + :param request: The request object to send. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -1749,21 +1664,11 @@ async def list_attempts_async( else: base_url = self._get_url(base_url, url_variables) - request = models.ListTenantDestinationAttemptsRequest( - tenant_id=tenant_id, - destination_id=destination_id, - event_id=event_id, - status=status, - topic=topic, - time_gte=time_gte, - time_lte=time_lte, - limit=limit, - next_cursor=next_cursor, - prev_cursor=prev_cursor, - include=include, - order_by=order_by, - direction=direction, - ) + if not isinstance(request, BaseModel): + request = utils.unmarshal( + request, models.ListTenantDestinationAttemptsRequest + ) + request = cast(models.ListTenantDestinationAttemptsRequest, request) req = self._build_request_async( method="GET", @@ -1821,19 +1726,23 @@ def next_func() -> Optional[models.ListTenantDestinationAttemptsResponse]: return None return self.list_attempts( - tenant_id=tenant_id, - destination_id=destination_id, - event_id=event_id, - status=status, - topic=topic, - time_gte=time_gte, - time_lte=time_lte, - limit=limit, - next_cursor=next_cursor, - prev_cursor=prev_cursor, - include=include, - order_by=order_by, - direction=direction, + request=models.ListTenantDestinationAttemptsRequest( + tenant_id=request.tenant_id, + destination_id=request.destination_id, + event_id=request.event_id, + status=request.status, + topic=request.topic, + time_gte=request.time_gte, + time_lte=request.time_lte, + time_gt=request.time_gt, + time_lt=request.time_lt, + limit=request.limit, + next_cursor=request.next_cursor, + prev_cursor=request.prev_cursor, + include=request.include, + order_by=request.order_by, + direction=request.direction, + ), retries=retries, ) @@ -1889,7 +1798,7 @@ def get_attempt( :param tenant_id: The ID of the tenant. Required when using AdminApiKey authentication. :param destination_id: The ID of the destination. :param attempt_id: The ID of the attempt. - :param include: Fields to include in the response. Can be specified multiple times or comma-separated. + :param include: Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary - `event.data`: Include full event with payload data - `response_data`: Include response body and headers @@ -2003,7 +1912,7 @@ async def get_attempt_async( :param tenant_id: The ID of the tenant. Required when using AdminApiKey authentication. :param destination_id: The ID of the destination. :param attempt_id: The ID of the attempt. - :param include: Fields to include in the response. Can be specified multiple times or comma-separated. + :param include: Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary - `event.data`: Include full event with payload data - `response_data`: Include response body and headers diff --git a/sdks/outpost-python/src/outpost_sdk/events.py b/sdks/outpost-python/src/outpost_sdk/events.py index bcc4388b..27ac6549 100644 --- a/sdks/outpost-python/src/outpost_sdk/events.py +++ b/sdks/outpost-python/src/outpost_sdk/events.py @@ -1,13 +1,12 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from .basesdk import BaseSDK -from datetime import datetime from jsonpath import JSONPath from outpost_sdk import errors, models, utils from outpost_sdk._hooks import HookContext -from outpost_sdk.types import OptionalNullable, UNSET +from outpost_sdk.types import BaseModel, OptionalNullable, UNSET from outpost_sdk.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, Dict, List, Mapping, Optional, Union +from typing import Any, Dict, List, Mapping, Optional, Union, cast class Events(BaseSDK): @@ -16,17 +15,7 @@ class Events(BaseSDK): def list( self, *, - tenant_id: Optional[str] = None, - topic: Optional[ - Union[models.ListEventsTopic, models.ListEventsTopicTypedDict] - ] = None, - time_gte: Optional[datetime] = None, - time_lte: Optional[datetime] = None, - limit: Optional[int] = 100, - next_cursor: Optional[str] = None, - prev_cursor: Optional[str] = None, - order_by: Optional[models.ListEventsOrderBy] = models.ListEventsOrderBy.TIME, - direction: Optional[models.ListEventsDir] = models.ListEventsDir.DESC, + request: Union[models.ListEventsRequest, models.ListEventsRequestTypedDict], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -40,15 +29,7 @@ def list( When authenticated with Admin API Key, returns events across all tenants. Use `tenant_id` query parameter to filter by tenant. - :param tenant_id: Filter events by tenant ID. If not provided, returns events from all tenants. - :param topic: Filter events by topic(s). Can be specified multiple times or comma-separated. - :param time_gte: Filter events with time >= value (RFC3339 or YYYY-MM-DD format). - :param time_lte: Filter events with time <= value (RFC3339 or YYYY-MM-DD format). - :param limit: Number of items per page (default 100, max 1000). - :param next_cursor: Cursor for next page of results. - :param prev_cursor: Cursor for previous page of results. - :param order_by: Field to sort by. - :param direction: Sort direction. + :param request: The request object to send. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -64,17 +45,9 @@ def list( else: base_url = self._get_url(base_url, url_variables) - request = models.ListEventsRequest( - tenant_id=tenant_id, - topic=topic, - time_gte=time_gte, - time_lte=time_lte, - limit=limit, - next_cursor=next_cursor, - prev_cursor=prev_cursor, - order_by=order_by, - direction=direction, - ) + if not isinstance(request, BaseModel): + request = utils.unmarshal(request, models.ListEventsRequest) + request = cast(models.ListEventsRequest, request) req = self._build_request( method="GET", @@ -132,15 +105,20 @@ def next_func() -> Optional[models.ListEventsResponse]: return None return self.list( - tenant_id=tenant_id, - topic=topic, - time_gte=time_gte, - time_lte=time_lte, - limit=limit, - next_cursor=next_cursor, - prev_cursor=prev_cursor, - order_by=order_by, - direction=direction, + request=models.ListEventsRequest( + id=request.id, + tenant_id=request.tenant_id, + topic=request.topic, + time_gte=request.time_gte, + time_lte=request.time_lte, + time_gt=request.time_gt, + time_lt=request.time_lt, + limit=request.limit, + next_cursor=request.next_cursor, + prev_cursor=request.prev_cursor, + order_by=request.order_by, + direction=request.direction, + ), retries=retries, ) @@ -172,17 +150,7 @@ def next_func() -> Optional[models.ListEventsResponse]: async def list_async( self, *, - tenant_id: Optional[str] = None, - topic: Optional[ - Union[models.ListEventsTopic, models.ListEventsTopicTypedDict] - ] = None, - time_gte: Optional[datetime] = None, - time_lte: Optional[datetime] = None, - limit: Optional[int] = 100, - next_cursor: Optional[str] = None, - prev_cursor: Optional[str] = None, - order_by: Optional[models.ListEventsOrderBy] = models.ListEventsOrderBy.TIME, - direction: Optional[models.ListEventsDir] = models.ListEventsDir.DESC, + request: Union[models.ListEventsRequest, models.ListEventsRequestTypedDict], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -196,15 +164,7 @@ async def list_async( When authenticated with Admin API Key, returns events across all tenants. Use `tenant_id` query parameter to filter by tenant. - :param tenant_id: Filter events by tenant ID. If not provided, returns events from all tenants. - :param topic: Filter events by topic(s). Can be specified multiple times or comma-separated. - :param time_gte: Filter events with time >= value (RFC3339 or YYYY-MM-DD format). - :param time_lte: Filter events with time <= value (RFC3339 or YYYY-MM-DD format). - :param limit: Number of items per page (default 100, max 1000). - :param next_cursor: Cursor for next page of results. - :param prev_cursor: Cursor for previous page of results. - :param order_by: Field to sort by. - :param direction: Sort direction. + :param request: The request object to send. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -220,17 +180,9 @@ async def list_async( else: base_url = self._get_url(base_url, url_variables) - request = models.ListEventsRequest( - tenant_id=tenant_id, - topic=topic, - time_gte=time_gte, - time_lte=time_lte, - limit=limit, - next_cursor=next_cursor, - prev_cursor=prev_cursor, - order_by=order_by, - direction=direction, - ) + if not isinstance(request, BaseModel): + request = utils.unmarshal(request, models.ListEventsRequest) + request = cast(models.ListEventsRequest, request) req = self._build_request_async( method="GET", @@ -288,15 +240,20 @@ def next_func() -> Optional[models.ListEventsResponse]: return None return self.list( - tenant_id=tenant_id, - topic=topic, - time_gte=time_gte, - time_lte=time_lte, - limit=limit, - next_cursor=next_cursor, - prev_cursor=prev_cursor, - order_by=order_by, - direction=direction, + request=models.ListEventsRequest( + id=request.id, + tenant_id=request.tenant_id, + topic=request.topic, + time_gte=request.time_gte, + time_lte=request.time_lte, + time_gt=request.time_gt, + time_lt=request.time_lt, + limit=request.limit, + next_cursor=request.next_cursor, + prev_cursor=request.prev_cursor, + order_by=request.order_by, + direction=request.direction, + ), retries=retries, ) diff --git a/sdks/outpost-python/src/outpost_sdk/models/__init__.py b/sdks/outpost-python/src/outpost_sdk/models/__init__.py index 89b0bb1a..23477ccc 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/__init__.py +++ b/sdks/outpost-python/src/outpost_sdk/models/__init__.py @@ -226,7 +226,11 @@ ) from .hookdeckcredentials import HookdeckCredentials, HookdeckCredentialsTypedDict from .listattemptsop import ( + DestinationID, + DestinationIDTypedDict, ListAttemptsDir, + ListAttemptsEventID, + ListAttemptsEventIDTypedDict, ListAttemptsInclude, ListAttemptsIncludeTypedDict, ListAttemptsOrderBy, @@ -235,21 +239,29 @@ ListAttemptsResponse, ListAttemptsResponseTypedDict, ListAttemptsStatus, + ListAttemptsTenantID, + ListAttemptsTenantIDTypedDict, ListAttemptsTopic, ListAttemptsTopicTypedDict, ) from .listeventsop import ( ListEventsDir, + ListEventsID, + ListEventsIDTypedDict, ListEventsOrderBy, ListEventsRequest, ListEventsRequestTypedDict, ListEventsResponse, ListEventsResponseTypedDict, + ListEventsTenantID, + ListEventsTenantIDTypedDict, ListEventsTopic, ListEventsTopicTypedDict, ) from .listtenantdestinationattemptsop import ( ListTenantDestinationAttemptsDir, + ListTenantDestinationAttemptsEventID, + ListTenantDestinationAttemptsEventIDTypedDict, ListTenantDestinationAttemptsInclude, ListTenantDestinationAttemptsIncludeTypedDict, ListTenantDestinationAttemptsOrderBy, @@ -271,6 +283,8 @@ ) from .listtenantsop import ( ListTenantsDir, + ListTenantsID, + ListTenantsIDTypedDict, ListTenantsRequest, ListTenantsRequestTypedDict, ListTenantsResponse, @@ -379,6 +393,8 @@ "DestinationHookdeck", "DestinationHookdeckType", "DestinationHookdeckTypedDict", + "DestinationID", + "DestinationIDTypedDict", "DestinationRabbitMQ", "DestinationRabbitMQType", "DestinationRabbitMQTypedDict", @@ -457,6 +473,8 @@ "HookdeckCredentials", "HookdeckCredentialsTypedDict", "ListAttemptsDir", + "ListAttemptsEventID", + "ListAttemptsEventIDTypedDict", "ListAttemptsInclude", "ListAttemptsIncludeTypedDict", "ListAttemptsOrderBy", @@ -465,17 +483,25 @@ "ListAttemptsResponse", "ListAttemptsResponseTypedDict", "ListAttemptsStatus", + "ListAttemptsTenantID", + "ListAttemptsTenantIDTypedDict", "ListAttemptsTopic", "ListAttemptsTopicTypedDict", "ListEventsDir", + "ListEventsID", + "ListEventsIDTypedDict", "ListEventsOrderBy", "ListEventsRequest", "ListEventsRequestTypedDict", "ListEventsResponse", "ListEventsResponseTypedDict", + "ListEventsTenantID", + "ListEventsTenantIDTypedDict", "ListEventsTopic", "ListEventsTopicTypedDict", "ListTenantDestinationAttemptsDir", + "ListTenantDestinationAttemptsEventID", + "ListTenantDestinationAttemptsEventIDTypedDict", "ListTenantDestinationAttemptsInclude", "ListTenantDestinationAttemptsIncludeTypedDict", "ListTenantDestinationAttemptsOrderBy", @@ -493,6 +519,8 @@ "ListTenantDestinationsType", "ListTenantDestinationsTypeTypedDict", "ListTenantsDir", + "ListTenantsID", + "ListTenantsIDTypedDict", "ListTenantsRequest", "ListTenantsRequestTypedDict", "ListTenantsResponse", @@ -697,7 +725,11 @@ "WorkersTypedDict": ".healthcheckop", "HookdeckCredentials": ".hookdeckcredentials", "HookdeckCredentialsTypedDict": ".hookdeckcredentials", + "DestinationID": ".listattemptsop", + "DestinationIDTypedDict": ".listattemptsop", "ListAttemptsDir": ".listattemptsop", + "ListAttemptsEventID": ".listattemptsop", + "ListAttemptsEventIDTypedDict": ".listattemptsop", "ListAttemptsInclude": ".listattemptsop", "ListAttemptsIncludeTypedDict": ".listattemptsop", "ListAttemptsOrderBy": ".listattemptsop", @@ -706,17 +738,25 @@ "ListAttemptsResponse": ".listattemptsop", "ListAttemptsResponseTypedDict": ".listattemptsop", "ListAttemptsStatus": ".listattemptsop", + "ListAttemptsTenantID": ".listattemptsop", + "ListAttemptsTenantIDTypedDict": ".listattemptsop", "ListAttemptsTopic": ".listattemptsop", "ListAttemptsTopicTypedDict": ".listattemptsop", "ListEventsDir": ".listeventsop", + "ListEventsID": ".listeventsop", + "ListEventsIDTypedDict": ".listeventsop", "ListEventsOrderBy": ".listeventsop", "ListEventsRequest": ".listeventsop", "ListEventsRequestTypedDict": ".listeventsop", "ListEventsResponse": ".listeventsop", "ListEventsResponseTypedDict": ".listeventsop", + "ListEventsTenantID": ".listeventsop", + "ListEventsTenantIDTypedDict": ".listeventsop", "ListEventsTopic": ".listeventsop", "ListEventsTopicTypedDict": ".listeventsop", "ListTenantDestinationAttemptsDir": ".listtenantdestinationattemptsop", + "ListTenantDestinationAttemptsEventID": ".listtenantdestinationattemptsop", + "ListTenantDestinationAttemptsEventIDTypedDict": ".listtenantdestinationattemptsop", "ListTenantDestinationAttemptsInclude": ".listtenantdestinationattemptsop", "ListTenantDestinationAttemptsIncludeTypedDict": ".listtenantdestinationattemptsop", "ListTenantDestinationAttemptsOrderBy": ".listtenantdestinationattemptsop", @@ -734,6 +774,8 @@ "ListTenantDestinationsType": ".listtenantdestinationsop", "ListTenantDestinationsTypeTypedDict": ".listtenantdestinationsop", "ListTenantsDir": ".listtenantsop", + "ListTenantsID": ".listtenantsop", + "ListTenantsIDTypedDict": ".listtenantsop", "ListTenantsRequest": ".listtenantsop", "ListTenantsRequestTypedDict": ".listtenantsop", "ListTenantsResponse": ".listtenantsop", diff --git a/sdks/outpost-python/src/outpost_sdk/models/attempt.py b/sdks/outpost-python/src/outpost_sdk/models/attempt.py index 41e7af65..c13f6251 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/attempt.py +++ b/sdks/outpost-python/src/outpost_sdk/models/attempt.py @@ -113,7 +113,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/attemptpaginatedresult.py b/sdks/outpost-python/src/outpost_sdk/models/attemptpaginatedresult.py index be2def76..15c8d8b9 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/attemptpaginatedresult.py +++ b/sdks/outpost-python/src/outpost_sdk/models/attemptpaginatedresult.py @@ -35,7 +35,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/awskinesisconfig.py b/sdks/outpost-python/src/outpost_sdk/models/awskinesisconfig.py index e4d4c6e0..0df6bfba 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/awskinesisconfig.py +++ b/sdks/outpost-python/src/outpost_sdk/models/awskinesisconfig.py @@ -39,7 +39,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/awskinesiscredentials.py b/sdks/outpost-python/src/outpost_sdk/models/awskinesiscredentials.py index fd20ba04..eff5f62c 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/awskinesiscredentials.py +++ b/sdks/outpost-python/src/outpost_sdk/models/awskinesiscredentials.py @@ -34,7 +34,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/awss3config.py b/sdks/outpost-python/src/outpost_sdk/models/awss3config.py index 22d37583..2dccd8c4 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/awss3config.py +++ b/sdks/outpost-python/src/outpost_sdk/models/awss3config.py @@ -39,7 +39,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/awss3credentials.py b/sdks/outpost-python/src/outpost_sdk/models/awss3credentials.py index 9a145cd9..7d36bb72 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/awss3credentials.py +++ b/sdks/outpost-python/src/outpost_sdk/models/awss3credentials.py @@ -34,7 +34,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/awssqsconfig.py b/sdks/outpost-python/src/outpost_sdk/models/awssqsconfig.py index 4de8ead7..46d05210 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/awssqsconfig.py +++ b/sdks/outpost-python/src/outpost_sdk/models/awssqsconfig.py @@ -29,7 +29,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/awssqscredentials.py b/sdks/outpost-python/src/outpost_sdk/models/awssqscredentials.py index 56f871ee..ea84c37e 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/awssqscredentials.py +++ b/sdks/outpost-python/src/outpost_sdk/models/awssqscredentials.py @@ -34,7 +34,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/createtenantdestinationop.py b/sdks/outpost-python/src/outpost_sdk/models/createtenantdestinationop.py index c8935d55..023ef2ca 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/createtenantdestinationop.py +++ b/sdks/outpost-python/src/outpost_sdk/models/createtenantdestinationop.py @@ -10,7 +10,7 @@ class CreateTenantDestinationRequestTypedDict(TypedDict): tenant_id: str r"""The ID of the tenant. Required when using AdminApiKey authentication.""" - params: DestinationCreateTypedDict + body: DestinationCreateTypedDict class CreateTenantDestinationRequest(BaseModel): @@ -19,7 +19,7 @@ class CreateTenantDestinationRequest(BaseModel): ] r"""The ID of the tenant. Required when using AdminApiKey authentication.""" - params: Annotated[ + body: Annotated[ DestinationCreate, FieldMetadata(request=RequestMetadata(media_type="application/json")), ] diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationawskinesis.py b/sdks/outpost-python/src/outpost_sdk/models/destinationawskinesis.py index 60b39ff4..ea044a52 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationawskinesis.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationawskinesis.py @@ -115,7 +115,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationawss3.py b/sdks/outpost-python/src/outpost_sdk/models/destinationawss3.py index 87c5843d..21dea6c0 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationawss3.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationawss3.py @@ -115,7 +115,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationawssqs.py b/sdks/outpost-python/src/outpost_sdk/models/destinationawssqs.py index db172415..22eb4172 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationawssqs.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationawssqs.py @@ -115,7 +115,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationazureservicebus.py b/sdks/outpost-python/src/outpost_sdk/models/destinationazureservicebus.py index 66aa7579..0867f221 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationazureservicebus.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationazureservicebus.py @@ -125,7 +125,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationcreateawskinesis.py b/sdks/outpost-python/src/outpost_sdk/models/destinationcreateawskinesis.py index d69c8b92..c47a54b7 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationcreateawskinesis.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationcreateawskinesis.py @@ -85,7 +85,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationcreateawss3.py b/sdks/outpost-python/src/outpost_sdk/models/destinationcreateawss3.py index 1c7e3125..f905ab28 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationcreateawss3.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationcreateawss3.py @@ -85,7 +85,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationcreateawssqs.py b/sdks/outpost-python/src/outpost_sdk/models/destinationcreateawssqs.py index d8b02006..3cef8972 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationcreateawssqs.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationcreateawssqs.py @@ -85,7 +85,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationcreateazureservicebus.py b/sdks/outpost-python/src/outpost_sdk/models/destinationcreateazureservicebus.py index 2ecc1ff5..8e6807b1 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationcreateazureservicebus.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationcreateazureservicebus.py @@ -88,7 +88,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationcreategcppubsub.py b/sdks/outpost-python/src/outpost_sdk/models/destinationcreategcppubsub.py index 9aa8bd40..9efd0c74 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationcreategcppubsub.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationcreategcppubsub.py @@ -85,7 +85,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationcreatehookdeck.py b/sdks/outpost-python/src/outpost_sdk/models/destinationcreatehookdeck.py index cb68fe07..34188753 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationcreatehookdeck.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationcreatehookdeck.py @@ -86,7 +86,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationcreaterabbitmq.py b/sdks/outpost-python/src/outpost_sdk/models/destinationcreaterabbitmq.py index ddc99534..0eee5133 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationcreaterabbitmq.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationcreaterabbitmq.py @@ -85,7 +85,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationcreatewebhook.py b/sdks/outpost-python/src/outpost_sdk/models/destinationcreatewebhook.py index 67578334..cb64ebb4 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationcreatewebhook.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationcreatewebhook.py @@ -87,7 +87,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationgcppubsub.py b/sdks/outpost-python/src/outpost_sdk/models/destinationgcppubsub.py index 7384c655..6f214924 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationgcppubsub.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationgcppubsub.py @@ -115,7 +115,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationhookdeck.py b/sdks/outpost-python/src/outpost_sdk/models/destinationhookdeck.py index 3a236065..7497b4bb 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationhookdeck.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationhookdeck.py @@ -122,7 +122,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationrabbitmq.py b/sdks/outpost-python/src/outpost_sdk/models/destinationrabbitmq.py index 49431385..9535cfec 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationrabbitmq.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationrabbitmq.py @@ -115,7 +115,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationschemafield.py b/sdks/outpost-python/src/outpost_sdk/models/destinationschemafield.py index 87273896..00ea7fb1 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationschemafield.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationschemafield.py @@ -72,7 +72,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationtypeschema.py b/sdks/outpost-python/src/outpost_sdk/models/destinationtypeschema.py index d6ac3382..e422d62e 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationtypeschema.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationtypeschema.py @@ -72,7 +72,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationupdateawskinesis.py b/sdks/outpost-python/src/outpost_sdk/models/destinationupdateawskinesis.py index 5e32703c..924e6a57 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationupdateawskinesis.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationupdateawskinesis.py @@ -77,7 +77,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationupdateawss3.py b/sdks/outpost-python/src/outpost_sdk/models/destinationupdateawss3.py index 6c181b77..9d9541f1 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationupdateawss3.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationupdateawss3.py @@ -77,7 +77,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationupdateawssqs.py b/sdks/outpost-python/src/outpost_sdk/models/destinationupdateawssqs.py index 6bb0ec78..b30d690d 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationupdateawssqs.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationupdateawssqs.py @@ -77,7 +77,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationupdateazureservicebus.py b/sdks/outpost-python/src/outpost_sdk/models/destinationupdateazureservicebus.py index ab9fdb36..c06379b0 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationupdateazureservicebus.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationupdateazureservicebus.py @@ -80,7 +80,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationupdategcppubsub.py b/sdks/outpost-python/src/outpost_sdk/models/destinationupdategcppubsub.py index 89008066..f0a9bb4d 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationupdategcppubsub.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationupdategcppubsub.py @@ -77,7 +77,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationupdatehookdeck.py b/sdks/outpost-python/src/outpost_sdk/models/destinationupdatehookdeck.py index 912f5554..43336d80 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationupdatehookdeck.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationupdatehookdeck.py @@ -76,7 +76,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationupdaterabbitmq.py b/sdks/outpost-python/src/outpost_sdk/models/destinationupdaterabbitmq.py index b127791a..9f953d80 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationupdaterabbitmq.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationupdaterabbitmq.py @@ -77,7 +77,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationupdatewebhook.py b/sdks/outpost-python/src/outpost_sdk/models/destinationupdatewebhook.py index 50a8b087..e79cbee6 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationupdatewebhook.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationupdatewebhook.py @@ -80,7 +80,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/destinationwebhook.py b/sdks/outpost-python/src/outpost_sdk/models/destinationwebhook.py index 836640cb..e75c1461 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/destinationwebhook.py +++ b/sdks/outpost-python/src/outpost_sdk/models/destinationwebhook.py @@ -115,7 +115,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/event.py b/sdks/outpost-python/src/outpost_sdk/models/event.py index 4d7c72e4..7320fd22 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/event.py +++ b/sdks/outpost-python/src/outpost_sdk/models/event.py @@ -58,7 +58,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/eventfull.py b/sdks/outpost-python/src/outpost_sdk/models/eventfull.py index 63e4e642..8db47be8 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/eventfull.py +++ b/sdks/outpost-python/src/outpost_sdk/models/eventfull.py @@ -76,7 +76,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/eventpaginatedresult.py b/sdks/outpost-python/src/outpost_sdk/models/eventpaginatedresult.py index c0144dfa..c1815a38 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/eventpaginatedresult.py +++ b/sdks/outpost-python/src/outpost_sdk/models/eventpaginatedresult.py @@ -35,7 +35,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/eventsummary.py b/sdks/outpost-python/src/outpost_sdk/models/eventsummary.py index 8647a8d2..1609f1df 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/eventsummary.py +++ b/sdks/outpost-python/src/outpost_sdk/models/eventsummary.py @@ -70,7 +70,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/gcppubsubconfig.py b/sdks/outpost-python/src/outpost_sdk/models/gcppubsubconfig.py index 8c8e730d..7a952ba7 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/gcppubsubconfig.py +++ b/sdks/outpost-python/src/outpost_sdk/models/gcppubsubconfig.py @@ -34,7 +34,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/getattemptop.py b/sdks/outpost-python/src/outpost_sdk/models/getattemptop.py index 95593fe7..2977650b 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/getattemptop.py +++ b/sdks/outpost-python/src/outpost_sdk/models/getattemptop.py @@ -11,7 +11,7 @@ GetAttemptIncludeTypedDict = TypeAliasType( "GetAttemptIncludeTypedDict", Union[str, List[str]] ) -r"""Fields to include in the response. Can be specified multiple times or comma-separated. +r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) - `event.data`: Include full event with payload data - `response_data`: Include response body and headers @@ -20,7 +20,7 @@ GetAttemptInclude = TypeAliasType("GetAttemptInclude", Union[str, List[str]]) -r"""Fields to include in the response. Can be specified multiple times or comma-separated. +r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) - `event.data`: Include full event with payload data - `response_data`: Include response body and headers @@ -32,7 +32,7 @@ class GetAttemptRequestTypedDict(TypedDict): attempt_id: str r"""The ID of the attempt.""" include: NotRequired[GetAttemptIncludeTypedDict] - r"""Fields to include in the response. Can be specified multiple times or comma-separated. + r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) - `event.data`: Include full event with payload data - `response_data`: Include response body and headers @@ -50,7 +50,7 @@ class GetAttemptRequest(BaseModel): Optional[GetAttemptInclude], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None - r"""Fields to include in the response. Can be specified multiple times or comma-separated. + r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) - `event.data`: Include full event with payload data - `response_data`: Include response body and headers @@ -65,7 +65,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/gettenantdestinationattemptop.py b/sdks/outpost-python/src/outpost_sdk/models/gettenantdestinationattemptop.py index 90f1c4cb..72e267ab 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/gettenantdestinationattemptop.py +++ b/sdks/outpost-python/src/outpost_sdk/models/gettenantdestinationattemptop.py @@ -11,7 +11,7 @@ GetTenantDestinationAttemptIncludeTypedDict = TypeAliasType( "GetTenantDestinationAttemptIncludeTypedDict", Union[str, List[str]] ) -r"""Fields to include in the response. Can be specified multiple times or comma-separated. +r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary - `event.data`: Include full event with payload data - `response_data`: Include response body and headers @@ -22,7 +22,7 @@ GetTenantDestinationAttemptInclude = TypeAliasType( "GetTenantDestinationAttemptInclude", Union[str, List[str]] ) -r"""Fields to include in the response. Can be specified multiple times or comma-separated. +r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary - `event.data`: Include full event with payload data - `response_data`: Include response body and headers @@ -38,7 +38,7 @@ class GetTenantDestinationAttemptRequestTypedDict(TypedDict): attempt_id: str r"""The ID of the attempt.""" include: NotRequired[GetTenantDestinationAttemptIncludeTypedDict] - r"""Fields to include in the response. Can be specified multiple times or comma-separated. + r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary - `event.data`: Include full event with payload data - `response_data`: Include response body and headers @@ -66,7 +66,7 @@ class GetTenantDestinationAttemptRequest(BaseModel): Optional[GetTenantDestinationAttemptInclude], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None - r"""Fields to include in the response. Can be specified multiple times or comma-separated. + r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary - `event.data`: Include full event with payload data - `response_data`: Include response body and headers @@ -81,7 +81,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/gettenantportalurlop.py b/sdks/outpost-python/src/outpost_sdk/models/gettenantportalurlop.py index fbbd4f95..71ea2b5b 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/gettenantportalurlop.py +++ b/sdks/outpost-python/src/outpost_sdk/models/gettenantportalurlop.py @@ -43,7 +43,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/listattemptsop.py b/sdks/outpost-python/src/outpost_sdk/models/listattemptsop.py index 281606ed..1e29a0ba 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/listattemptsop.py +++ b/sdks/outpost-python/src/outpost_sdk/models/listattemptsop.py @@ -15,6 +15,42 @@ from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict +ListAttemptsTenantIDTypedDict = TypeAliasType( + "ListAttemptsTenantIDTypedDict", Union[str, List[str]] +) +r"""Filter attempts by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`). +When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used. +If not provided with API key auth, returns attempts from all tenants. + +""" + + +ListAttemptsTenantID = TypeAliasType("ListAttemptsTenantID", Union[str, List[str]]) +r"""Filter attempts by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`). +When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used. +If not provided with API key auth, returns attempts from all tenants. + +""" + + +ListAttemptsEventIDTypedDict = TypeAliasType( + "ListAttemptsEventIDTypedDict", Union[str, List[str]] +) +r"""Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`).""" + + +ListAttemptsEventID = TypeAliasType("ListAttemptsEventID", Union[str, List[str]]) +r"""Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`).""" + + +DestinationIDTypedDict = TypeAliasType("DestinationIDTypedDict", Union[str, List[str]]) +r"""Filter attempts by destination ID(s). Use bracket notation for multiple values (e.g., `destination_id[0]=d1&destination_id[1]=d2`).""" + + +DestinationID = TypeAliasType("DestinationID", Union[str, List[str]]) +r"""Filter attempts by destination ID(s). Use bracket notation for multiple values (e.g., `destination_id[0]=d1&destination_id[1]=d2`).""" + + class ListAttemptsStatus(str, Enum): r"""Filter attempts by status.""" @@ -25,17 +61,17 @@ class ListAttemptsStatus(str, Enum): ListAttemptsTopicTypedDict = TypeAliasType( "ListAttemptsTopicTypedDict", Union[str, List[str]] ) -r"""Filter attempts by event topic(s). Can be specified multiple times or comma-separated.""" +r"""Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`).""" ListAttemptsTopic = TypeAliasType("ListAttemptsTopic", Union[str, List[str]]) -r"""Filter attempts by event topic(s). Can be specified multiple times or comma-separated.""" +r"""Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`).""" ListAttemptsIncludeTypedDict = TypeAliasType( "ListAttemptsIncludeTypedDict", Union[str, List[str]] ) -r"""Fields to include in the response. Can be specified multiple times or comma-separated. +r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) - `event.data`: Include full event with payload data - `response_data`: Include response body and headers @@ -44,7 +80,7 @@ class ListAttemptsStatus(str, Enum): ListAttemptsInclude = TypeAliasType("ListAttemptsInclude", Union[str, List[str]]) -r"""Fields to include in the response. Can be specified multiple times or comma-separated. +r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) - `event.data`: Include full event with payload data - `response_data`: Include response body and headers @@ -66,20 +102,28 @@ class ListAttemptsDir(str, Enum): class ListAttemptsRequestTypedDict(TypedDict): - tenant_id: NotRequired[str] - r"""Filter attempts by tenant ID. If not provided, returns attempts from all tenants.""" - event_id: NotRequired[str] - r"""Filter attempts by event ID.""" - destination_id: NotRequired[str] - r"""Filter attempts by destination ID.""" + tenant_id: NotRequired[ListAttemptsTenantIDTypedDict] + r"""Filter attempts by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`). + When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used. + If not provided with API key auth, returns attempts from all tenants. + + """ + event_id: NotRequired[ListAttemptsEventIDTypedDict] + r"""Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`).""" + destination_id: NotRequired[DestinationIDTypedDict] + r"""Filter attempts by destination ID(s). Use bracket notation for multiple values (e.g., `destination_id[0]=d1&destination_id[1]=d2`).""" status: NotRequired[ListAttemptsStatus] r"""Filter attempts by status.""" topic: NotRequired[ListAttemptsTopicTypedDict] - r"""Filter attempts by event topic(s). Can be specified multiple times or comma-separated.""" + r"""Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`).""" time_gte: NotRequired[datetime] r"""Filter attempts by event time >= value (RFC3339 or YYYY-MM-DD format).""" time_lte: NotRequired[datetime] r"""Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format).""" + time_gt: NotRequired[datetime] + r"""Filter attempts by event time > value (RFC3339 or YYYY-MM-DD format).""" + time_lt: NotRequired[datetime] + r"""Filter attempts by event time < value (RFC3339 or YYYY-MM-DD format).""" limit: NotRequired[int] r"""Number of items per page (default 100, max 1000).""" next_cursor: NotRequired[str] @@ -87,7 +131,7 @@ class ListAttemptsRequestTypedDict(TypedDict): prev_cursor: NotRequired[str] r"""Cursor for previous page of results.""" include: NotRequired[ListAttemptsIncludeTypedDict] - r"""Fields to include in the response. Can be specified multiple times or comma-separated. + r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) - `event.data`: Include full event with payload data - `response_data`: Include response body and headers @@ -101,22 +145,26 @@ class ListAttemptsRequestTypedDict(TypedDict): class ListAttemptsRequest(BaseModel): tenant_id: Annotated[ - Optional[str], + Optional[ListAttemptsTenantID], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None - r"""Filter attempts by tenant ID. If not provided, returns attempts from all tenants.""" + r"""Filter attempts by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`). + When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used. + If not provided with API key auth, returns attempts from all tenants. + + """ event_id: Annotated[ - Optional[str], + Optional[ListAttemptsEventID], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None - r"""Filter attempts by event ID.""" + r"""Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`).""" destination_id: Annotated[ - Optional[str], + Optional[DestinationID], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None - r"""Filter attempts by destination ID.""" + r"""Filter attempts by destination ID(s). Use bracket notation for multiple values (e.g., `destination_id[0]=d1&destination_id[1]=d2`).""" status: Annotated[ Optional[ListAttemptsStatus], @@ -128,7 +176,7 @@ class ListAttemptsRequest(BaseModel): Optional[ListAttemptsTopic], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None - r"""Filter attempts by event topic(s). Can be specified multiple times or comma-separated.""" + r"""Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`).""" time_gte: Annotated[ Optional[datetime], @@ -144,6 +192,20 @@ class ListAttemptsRequest(BaseModel): ] = None r"""Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format).""" + time_gt: Annotated[ + Optional[datetime], + pydantic.Field(alias="time[gt]"), + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Filter attempts by event time > value (RFC3339 or YYYY-MM-DD format).""" + + time_lt: Annotated[ + Optional[datetime], + pydantic.Field(alias="time[lt]"), + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Filter attempts by event time < value (RFC3339 or YYYY-MM-DD format).""" + limit: Annotated[ Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -168,7 +230,7 @@ class ListAttemptsRequest(BaseModel): Optional[ListAttemptsInclude], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None - r"""Fields to include in the response. Can be specified multiple times or comma-separated. + r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) - `event.data`: Include full event with payload data - `response_data`: Include response body and headers @@ -199,6 +261,8 @@ def serialize_model(self, handler): "topic", "time[gte]", "time[lte]", + "time[gt]", + "time[lt]", "limit", "next_cursor", "prev_cursor", @@ -212,7 +276,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/listeventsop.py b/sdks/outpost-python/src/outpost_sdk/models/listeventsop.py index 79a69384..41b53192 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/listeventsop.py +++ b/sdks/outpost-python/src/outpost_sdk/models/listeventsop.py @@ -12,14 +12,40 @@ from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict +ListEventsIDTypedDict = TypeAliasType("ListEventsIDTypedDict", Union[str, List[str]]) +r"""Filter events by ID(s). Use bracket notation for multiple values (e.g., `id[0]=abc&id[1]=def`).""" + + +ListEventsID = TypeAliasType("ListEventsID", Union[str, List[str]]) +r"""Filter events by ID(s). Use bracket notation for multiple values (e.g., `id[0]=abc&id[1]=def`).""" + + +ListEventsTenantIDTypedDict = TypeAliasType( + "ListEventsTenantIDTypedDict", Union[str, List[str]] +) +r"""Filter events by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`). +When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used. +If not provided with API key auth, returns events from all tenants. + +""" + + +ListEventsTenantID = TypeAliasType("ListEventsTenantID", Union[str, List[str]]) +r"""Filter events by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`). +When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used. +If not provided with API key auth, returns events from all tenants. + +""" + + ListEventsTopicTypedDict = TypeAliasType( "ListEventsTopicTypedDict", Union[str, List[str]] ) -r"""Filter events by topic(s). Can be specified multiple times or comma-separated.""" +r"""Filter events by topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`).""" ListEventsTopic = TypeAliasType("ListEventsTopic", Union[str, List[str]]) -r"""Filter events by topic(s). Can be specified multiple times or comma-separated.""" +r"""Filter events by topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`).""" class ListEventsOrderBy(str, Enum): @@ -36,14 +62,24 @@ class ListEventsDir(str, Enum): class ListEventsRequestTypedDict(TypedDict): - tenant_id: NotRequired[str] - r"""Filter events by tenant ID. If not provided, returns events from all tenants.""" + id: NotRequired[ListEventsIDTypedDict] + r"""Filter events by ID(s). Use bracket notation for multiple values (e.g., `id[0]=abc&id[1]=def`).""" + tenant_id: NotRequired[ListEventsTenantIDTypedDict] + r"""Filter events by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`). + When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used. + If not provided with API key auth, returns events from all tenants. + + """ topic: NotRequired[ListEventsTopicTypedDict] - r"""Filter events by topic(s). Can be specified multiple times or comma-separated.""" + r"""Filter events by topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`).""" time_gte: NotRequired[datetime] r"""Filter events with time >= value (RFC3339 or YYYY-MM-DD format).""" time_lte: NotRequired[datetime] r"""Filter events with time <= value (RFC3339 or YYYY-MM-DD format).""" + time_gt: NotRequired[datetime] + r"""Filter events with time > value (RFC3339 or YYYY-MM-DD format).""" + time_lt: NotRequired[datetime] + r"""Filter events with time < value (RFC3339 or YYYY-MM-DD format).""" limit: NotRequired[int] r"""Number of items per page (default 100, max 1000).""" next_cursor: NotRequired[str] @@ -57,17 +93,27 @@ class ListEventsRequestTypedDict(TypedDict): class ListEventsRequest(BaseModel): + id: Annotated[ + Optional[ListEventsID], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Filter events by ID(s). Use bracket notation for multiple values (e.g., `id[0]=abc&id[1]=def`).""" + tenant_id: Annotated[ - Optional[str], + Optional[ListEventsTenantID], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None - r"""Filter events by tenant ID. If not provided, returns events from all tenants.""" + r"""Filter events by tenant ID(s). Use bracket notation for multiple values (e.g., `tenant_id[0]=t1&tenant_id[1]=t2`). + When authenticated with a Tenant JWT, this parameter is ignored and the JWT's tenant is used. + If not provided with API key auth, returns events from all tenants. + + """ topic: Annotated[ Optional[ListEventsTopic], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None - r"""Filter events by topic(s). Can be specified multiple times or comma-separated.""" + r"""Filter events by topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`).""" time_gte: Annotated[ Optional[datetime], @@ -83,6 +129,20 @@ class ListEventsRequest(BaseModel): ] = None r"""Filter events with time <= value (RFC3339 or YYYY-MM-DD format).""" + time_gt: Annotated[ + Optional[datetime], + pydantic.Field(alias="time[gt]"), + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Filter events with time > value (RFC3339 or YYYY-MM-DD format).""" + + time_lt: Annotated[ + Optional[datetime], + pydantic.Field(alias="time[lt]"), + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Filter events with time < value (RFC3339 or YYYY-MM-DD format).""" + limit: Annotated[ Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -120,10 +180,13 @@ class ListEventsRequest(BaseModel): def serialize_model(self, handler): optional_fields = set( [ + "id", "tenant_id", "topic", "time[gte]", "time[lte]", + "time[gt]", + "time[lt]", "limit", "next_cursor", "prev_cursor", @@ -136,7 +199,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/listtenantdestinationattemptsop.py b/sdks/outpost-python/src/outpost_sdk/models/listtenantdestinationattemptsop.py index 699a3c3a..0a3c888c 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/listtenantdestinationattemptsop.py +++ b/sdks/outpost-python/src/outpost_sdk/models/listtenantdestinationattemptsop.py @@ -15,6 +15,18 @@ from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict +ListTenantDestinationAttemptsEventIDTypedDict = TypeAliasType( + "ListTenantDestinationAttemptsEventIDTypedDict", Union[str, List[str]] +) +r"""Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`).""" + + +ListTenantDestinationAttemptsEventID = TypeAliasType( + "ListTenantDestinationAttemptsEventID", Union[str, List[str]] +) +r"""Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`).""" + + class ListTenantDestinationAttemptsStatus(str, Enum): r"""Filter attempts by status.""" @@ -25,19 +37,19 @@ class ListTenantDestinationAttemptsStatus(str, Enum): ListTenantDestinationAttemptsTopicTypedDict = TypeAliasType( "ListTenantDestinationAttemptsTopicTypedDict", Union[str, List[str]] ) -r"""Filter attempts by event topic(s). Can be specified multiple times or comma-separated.""" +r"""Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`).""" ListTenantDestinationAttemptsTopic = TypeAliasType( "ListTenantDestinationAttemptsTopic", Union[str, List[str]] ) -r"""Filter attempts by event topic(s). Can be specified multiple times or comma-separated.""" +r"""Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`).""" ListTenantDestinationAttemptsIncludeTypedDict = TypeAliasType( "ListTenantDestinationAttemptsIncludeTypedDict", Union[str, List[str]] ) -r"""Fields to include in the response. Can be specified multiple times or comma-separated. +r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) - `event.data`: Include full event with payload data - `response_data`: Include response body and headers @@ -48,7 +60,7 @@ class ListTenantDestinationAttemptsStatus(str, Enum): ListTenantDestinationAttemptsInclude = TypeAliasType( "ListTenantDestinationAttemptsInclude", Union[str, List[str]] ) -r"""Fields to include in the response. Can be specified multiple times or comma-separated. +r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) - `event.data`: Include full event with payload data - `response_data`: Include response body and headers @@ -74,16 +86,20 @@ class ListTenantDestinationAttemptsRequestTypedDict(TypedDict): r"""The ID of the tenant. Required when using AdminApiKey authentication.""" destination_id: str r"""The ID of the destination.""" - event_id: NotRequired[str] - r"""Filter attempts by event ID.""" + event_id: NotRequired[ListTenantDestinationAttemptsEventIDTypedDict] + r"""Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`).""" status: NotRequired[ListTenantDestinationAttemptsStatus] r"""Filter attempts by status.""" topic: NotRequired[ListTenantDestinationAttemptsTopicTypedDict] - r"""Filter attempts by event topic(s). Can be specified multiple times or comma-separated.""" + r"""Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`).""" time_gte: NotRequired[datetime] r"""Filter attempts by event time >= value (RFC3339 or YYYY-MM-DD format).""" time_lte: NotRequired[datetime] r"""Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format).""" + time_gt: NotRequired[datetime] + r"""Filter attempts by event time > value (RFC3339 or YYYY-MM-DD format).""" + time_lt: NotRequired[datetime] + r"""Filter attempts by event time < value (RFC3339 or YYYY-MM-DD format).""" limit: NotRequired[int] r"""Number of items per page (default 100, max 1000).""" next_cursor: NotRequired[str] @@ -91,7 +107,7 @@ class ListTenantDestinationAttemptsRequestTypedDict(TypedDict): prev_cursor: NotRequired[str] r"""Cursor for previous page of results.""" include: NotRequired[ListTenantDestinationAttemptsIncludeTypedDict] - r"""Fields to include in the response. Can be specified multiple times or comma-separated. + r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) - `event.data`: Include full event with payload data - `response_data`: Include response body and headers @@ -115,10 +131,10 @@ class ListTenantDestinationAttemptsRequest(BaseModel): r"""The ID of the destination.""" event_id: Annotated[ - Optional[str], + Optional[ListTenantDestinationAttemptsEventID], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None - r"""Filter attempts by event ID.""" + r"""Filter attempts by event ID(s). Use bracket notation for multiple values (e.g., `event_id[0]=e1&event_id[1]=e2`).""" status: Annotated[ Optional[ListTenantDestinationAttemptsStatus], @@ -130,7 +146,7 @@ class ListTenantDestinationAttemptsRequest(BaseModel): Optional[ListTenantDestinationAttemptsTopic], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None - r"""Filter attempts by event topic(s). Can be specified multiple times or comma-separated.""" + r"""Filter attempts by event topic(s). Use bracket notation for multiple values (e.g., `topic[0]=user.created&topic[1]=user.updated`).""" time_gte: Annotated[ Optional[datetime], @@ -146,6 +162,20 @@ class ListTenantDestinationAttemptsRequest(BaseModel): ] = None r"""Filter attempts by event time <= value (RFC3339 or YYYY-MM-DD format).""" + time_gt: Annotated[ + Optional[datetime], + pydantic.Field(alias="time[gt]"), + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Filter attempts by event time > value (RFC3339 or YYYY-MM-DD format).""" + + time_lt: Annotated[ + Optional[datetime], + pydantic.Field(alias="time[lt]"), + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Filter attempts by event time < value (RFC3339 or YYYY-MM-DD format).""" + limit: Annotated[ Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -170,7 +200,7 @@ class ListTenantDestinationAttemptsRequest(BaseModel): Optional[ListTenantDestinationAttemptsInclude], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None - r"""Fields to include in the response. Can be specified multiple times or comma-separated. + r"""Fields to include in the response. Use bracket notation for multiple values (e.g., `include[0]=event&include[1]=response_data`). - `event`: Include event summary (id, topic, time, eligible_for_retry, metadata) - `event.data`: Include full event with payload data - `response_data`: Include response body and headers @@ -199,6 +229,8 @@ def serialize_model(self, handler): "topic", "time[gte]", "time[lte]", + "time[gt]", + "time[lt]", "limit", "next_cursor", "prev_cursor", @@ -212,7 +244,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/listtenantdestinationsop.py b/sdks/outpost-python/src/outpost_sdk/models/listtenantdestinationsop.py index 0db9ae86..dd626473 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/listtenantdestinationsop.py +++ b/sdks/outpost-python/src/outpost_sdk/models/listtenantdestinationsop.py @@ -12,34 +12,34 @@ ListTenantDestinationsTypeTypedDict = TypeAliasType( "ListTenantDestinationsTypeTypedDict", Union[DestinationType, List[DestinationType]] ) -r"""Filter destinations by type(s).""" +r"""Filter destinations by type(s). Use bracket notation for multiple values (e.g., `type[0]=webhook&type[1]=aws_sqs`).""" ListTenantDestinationsType = TypeAliasType( "ListTenantDestinationsType", Union[DestinationType, List[DestinationType]] ) -r"""Filter destinations by type(s).""" +r"""Filter destinations by type(s). Use bracket notation for multiple values (e.g., `type[0]=webhook&type[1]=aws_sqs`).""" ListTenantDestinationsTopicsTypedDict = TypeAliasType( "ListTenantDestinationsTopicsTypedDict", Union[str, List[str]] ) -r"""Filter destinations by supported topic(s).""" +r"""Filter destinations by supported topic(s). Use bracket notation for multiple values (e.g., `topics[0]=user.created&topics[1]=user.deleted`).""" ListTenantDestinationsTopics = TypeAliasType( "ListTenantDestinationsTopics", Union[str, List[str]] ) -r"""Filter destinations by supported topic(s).""" +r"""Filter destinations by supported topic(s). Use bracket notation for multiple values (e.g., `topics[0]=user.created&topics[1]=user.deleted`).""" class ListTenantDestinationsRequestTypedDict(TypedDict): tenant_id: str r"""The ID of the tenant. Required when using AdminApiKey authentication.""" type: NotRequired[ListTenantDestinationsTypeTypedDict] - r"""Filter destinations by type(s).""" + r"""Filter destinations by type(s). Use bracket notation for multiple values (e.g., `type[0]=webhook&type[1]=aws_sqs`).""" topics: NotRequired[ListTenantDestinationsTopicsTypedDict] - r"""Filter destinations by supported topic(s).""" + r"""Filter destinations by supported topic(s). Use bracket notation for multiple values (e.g., `topics[0]=user.created&topics[1]=user.deleted`).""" class ListTenantDestinationsRequest(BaseModel): @@ -52,13 +52,13 @@ class ListTenantDestinationsRequest(BaseModel): Optional[ListTenantDestinationsType], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None - r"""Filter destinations by type(s).""" + r"""Filter destinations by type(s). Use bracket notation for multiple values (e.g., `type[0]=webhook&type[1]=aws_sqs`).""" topics: Annotated[ Optional[ListTenantDestinationsTopics], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None - r"""Filter destinations by supported topic(s).""" + r"""Filter destinations by supported topic(s). Use bracket notation for multiple values (e.g., `topics[0]=user.created&topics[1]=user.deleted`).""" @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -68,7 +68,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/listtenantsop.py b/sdks/outpost-python/src/outpost_sdk/models/listtenantsop.py index 9feba4c6..3ffaf234 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/listtenantsop.py +++ b/sdks/outpost-python/src/outpost_sdk/models/listtenantsop.py @@ -7,8 +7,16 @@ from outpost_sdk.utils import FieldMetadata, QueryParamMetadata import pydantic from pydantic import model_serializer -from typing import Callable, Optional -from typing_extensions import Annotated, NotRequired, TypedDict +from typing import Callable, List, Optional, Union +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict + + +ListTenantsIDTypedDict = TypeAliasType("ListTenantsIDTypedDict", Union[str, List[str]]) +r"""Filter tenants by ID(s). Use bracket notation for multiple values (e.g., `id[0]=t1&id[1]=t2` or `id[]=t1&id[]=t2`).""" + + +ListTenantsID = TypeAliasType("ListTenantsID", Union[str, List[str]]) +r"""Filter tenants by ID(s). Use bracket notation for multiple values (e.g., `id[0]=t1&id[1]=t2` or `id[]=t1&id[]=t2`).""" class ListTenantsDir(str, Enum): @@ -19,51 +27,63 @@ class ListTenantsDir(str, Enum): class ListTenantsRequestTypedDict(TypedDict): + id: NotRequired[ListTenantsIDTypedDict] + r"""Filter tenants by ID(s). Use bracket notation for multiple values (e.g., `id[0]=t1&id[1]=t2` or `id[]=t1&id[]=t2`).""" limit: NotRequired[int] r"""Number of tenants to return per page (1-100, default 20).""" - dir: NotRequired[ListTenantsDir] + direction: NotRequired[ListTenantsDir] r"""Sort direction.""" - direction: NotRequired[str] + next_cursor: NotRequired[str] r"""Cursor for the next page of results. Mutually exclusive with `prev`.""" - prev: NotRequired[str] + prev_cursor: NotRequired[str] r"""Cursor for the previous page of results. Mutually exclusive with `next`.""" class ListTenantsRequest(BaseModel): + id: Annotated[ + Optional[ListTenantsID], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""Filter tenants by ID(s). Use bracket notation for multiple values (e.g., `id[0]=t1&id[1]=t2` or `id[]=t1&id[]=t2`).""" + limit: Annotated[ Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = 20 r"""Number of tenants to return per page (1-100, default 20).""" - dir: Annotated[ + direction: Annotated[ Optional[ListTenantsDir], + pydantic.Field(alias="dir"), FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = ListTenantsDir.DESC r"""Sort direction.""" - direction: Annotated[ + next_cursor: Annotated[ Optional[str], pydantic.Field(alias="next"), FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None r"""Cursor for the next page of results. Mutually exclusive with `prev`.""" - prev: Annotated[ + prev_cursor: Annotated[ Optional[str], + pydantic.Field(alias="prev"), FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None r"""Cursor for the previous page of results. Mutually exclusive with `next`.""" @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["limit", "dir", "direction", "prev"]) + optional_fields = set( + ["id", "limit", "direction", "next_cursor", "prev_cursor"] + ) serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/portalredirect.py b/sdks/outpost-python/src/outpost_sdk/models/portalredirect.py index b51b4dcc..7618ceb8 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/portalredirect.py +++ b/sdks/outpost-python/src/outpost_sdk/models/portalredirect.py @@ -29,7 +29,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/publishrequest.py b/sdks/outpost-python/src/outpost_sdk/models/publishrequest.py index de1e9a78..7b7793f3 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/publishrequest.py +++ b/sdks/outpost-python/src/outpost_sdk/models/publishrequest.py @@ -70,7 +70,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/rabbitmqconfig.py b/sdks/outpost-python/src/outpost_sdk/models/rabbitmqconfig.py index 1c7495d8..e8ce63be 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/rabbitmqconfig.py +++ b/sdks/outpost-python/src/outpost_sdk/models/rabbitmqconfig.py @@ -42,7 +42,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/security.py b/sdks/outpost-python/src/outpost_sdk/models/security.py index 87542daa..5125d045 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/security.py +++ b/sdks/outpost-python/src/outpost_sdk/models/security.py @@ -33,7 +33,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/seekpagination.py b/sdks/outpost-python/src/outpost_sdk/models/seekpagination.py index e26c6197..de7167fe 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/seekpagination.py +++ b/sdks/outpost-python/src/outpost_sdk/models/seekpagination.py @@ -66,7 +66,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/successresponse.py b/sdks/outpost-python/src/outpost_sdk/models/successresponse.py index dc3d0c32..59b7e6dd 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/successresponse.py +++ b/sdks/outpost-python/src/outpost_sdk/models/successresponse.py @@ -22,7 +22,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/tenant.py b/sdks/outpost-python/src/outpost_sdk/models/tenant.py index 9f076c68..c95a0e07 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/tenant.py +++ b/sdks/outpost-python/src/outpost_sdk/models/tenant.py @@ -66,7 +66,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/tenantpaginatedresult.py b/sdks/outpost-python/src/outpost_sdk/models/tenantpaginatedresult.py index 387f0c30..682db32a 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/tenantpaginatedresult.py +++ b/sdks/outpost-python/src/outpost_sdk/models/tenantpaginatedresult.py @@ -40,7 +40,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/tenanttoken.py b/sdks/outpost-python/src/outpost_sdk/models/tenanttoken.py index b11906d8..912f9b44 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/tenanttoken.py +++ b/sdks/outpost-python/src/outpost_sdk/models/tenanttoken.py @@ -29,7 +29,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/tenantupsert.py b/sdks/outpost-python/src/outpost_sdk/models/tenantupsert.py index 842dbeaa..80f8c68c 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/tenantupsert.py +++ b/sdks/outpost-python/src/outpost_sdk/models/tenantupsert.py @@ -31,7 +31,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) is_nullable_and_explicitly_set = ( k in nullable_fields and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member diff --git a/sdks/outpost-python/src/outpost_sdk/models/updatetenantdestinationop.py b/sdks/outpost-python/src/outpost_sdk/models/updatetenantdestinationop.py index 510b0d4d..c2455679 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/updatetenantdestinationop.py +++ b/sdks/outpost-python/src/outpost_sdk/models/updatetenantdestinationop.py @@ -13,7 +13,7 @@ class UpdateTenantDestinationRequestTypedDict(TypedDict): r"""The ID of the tenant. Required when using AdminApiKey authentication.""" destination_id: str r"""The ID of the destination.""" - params: DestinationUpdateTypedDict + body: DestinationUpdateTypedDict class UpdateTenantDestinationRequest(BaseModel): @@ -27,7 +27,7 @@ class UpdateTenantDestinationRequest(BaseModel): ] r"""The ID of the destination.""" - params: Annotated[ + body: Annotated[ DestinationUpdate, FieldMetadata(request=RequestMetadata(media_type="application/json")), ] diff --git a/sdks/outpost-python/src/outpost_sdk/models/upserttenantop.py b/sdks/outpost-python/src/outpost_sdk/models/upserttenantop.py index b8ce1db1..ac15dda6 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/upserttenantop.py +++ b/sdks/outpost-python/src/outpost_sdk/models/upserttenantop.py @@ -12,7 +12,7 @@ class UpsertTenantRequestTypedDict(TypedDict): tenant_id: str r"""The ID of the tenant. Required when using AdminApiKey authentication.""" - params: NotRequired[TenantUpsertTypedDict] + body: NotRequired[TenantUpsertTypedDict] r"""Optional tenant metadata""" @@ -22,7 +22,7 @@ class UpsertTenantRequest(BaseModel): ] r"""The ID of the tenant. Required when using AdminApiKey authentication.""" - params: Annotated[ + body: Annotated[ Optional[TenantUpsert], FieldMetadata(request=RequestMetadata(media_type="application/json")), ] = None @@ -30,13 +30,13 @@ class UpsertTenantRequest(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["params"]) + optional_fields = set(["body"]) serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/webhookconfig.py b/sdks/outpost-python/src/outpost_sdk/models/webhookconfig.py index 9da32328..e4dae5e8 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/webhookconfig.py +++ b/sdks/outpost-python/src/outpost_sdk/models/webhookconfig.py @@ -29,7 +29,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/webhookcredentials.py b/sdks/outpost-python/src/outpost_sdk/models/webhookcredentials.py index f4b9e2dd..12173243 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/webhookcredentials.py +++ b/sdks/outpost-python/src/outpost_sdk/models/webhookcredentials.py @@ -37,7 +37,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/models/webhookcredentialsupdate.py b/sdks/outpost-python/src/outpost_sdk/models/webhookcredentialsupdate.py index 89b3e3f4..18ee1833 100644 --- a/sdks/outpost-python/src/outpost_sdk/models/webhookcredentialsupdate.py +++ b/sdks/outpost-python/src/outpost_sdk/models/webhookcredentialsupdate.py @@ -42,7 +42,7 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n - val = serialized.get(k) + val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: if val is not None or k not in optional_fields: diff --git a/sdks/outpost-python/src/outpost_sdk/publish.py b/sdks/outpost-python/src/outpost_sdk/publish.py index 09367b82..071965f9 100644 --- a/sdks/outpost-python/src/outpost_sdk/publish.py +++ b/sdks/outpost-python/src/outpost_sdk/publish.py @@ -1,12 +1,11 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from .basesdk import BaseSDK -from datetime import datetime from outpost_sdk import errors, models, utils from outpost_sdk._hooks import HookContext -from outpost_sdk.types import OptionalNullable, UNSET +from outpost_sdk.types import BaseModel, OptionalNullable, UNSET from outpost_sdk.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, Dict, Mapping, Optional +from typing import Any, Mapping, Optional, Union, cast class Publish(BaseSDK): @@ -15,14 +14,7 @@ class Publish(BaseSDK): def event( self, *, - data: Dict[str, Any], - id: Optional[str] = None, - tenant_id: Optional[str] = None, - destination_id: Optional[str] = None, - topic: Optional[str] = None, - eligible_for_retry: Optional[bool] = None, - time: Optional[datetime] = None, - metadata: Optional[Dict[str, str]] = None, + request: Union[models.PublishRequest, models.PublishRequestTypedDict], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -32,14 +24,7 @@ def event( Publishes an event to the specified topic, potentially routed to a specific destination. Requires Admin API Key. - :param data: Any JSON payload for the event data. - :param id: Optional. A unique identifier for the event. If not provided, a UUID will be generated. - :param tenant_id: The ID of the tenant to publish for. - :param destination_id: Optional. Route event to a specific destination. - :param topic: Topic name for the event. Required if Outpost has been configured with topics. - :param eligible_for_retry: Should event delivery be retried on failure. - :param time: Optional. Custom timestamp for the event. If not provided, defaults to the current time. - :param metadata: Any key-value string pairs for metadata. + :param request: The request object to send. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -55,16 +40,9 @@ def event( else: base_url = self._get_url(base_url, url_variables) - request = models.PublishRequest( - id=id, - tenant_id=tenant_id, - destination_id=destination_id, - topic=topic, - eligible_for_retry=eligible_for_retry, - time=time, - metadata=metadata, - data=data, - ) + if not isinstance(request, BaseModel): + request = utils.unmarshal(request, models.PublishRequest) + request = cast(models.PublishRequest, request) req = self._build_request( method="POST", @@ -194,14 +172,7 @@ def event( async def event_async( self, *, - data: Dict[str, Any], - id: Optional[str] = None, - tenant_id: Optional[str] = None, - destination_id: Optional[str] = None, - topic: Optional[str] = None, - eligible_for_retry: Optional[bool] = None, - time: Optional[datetime] = None, - metadata: Optional[Dict[str, str]] = None, + request: Union[models.PublishRequest, models.PublishRequestTypedDict], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -211,14 +182,7 @@ async def event_async( Publishes an event to the specified topic, potentially routed to a specific destination. Requires Admin API Key. - :param data: Any JSON payload for the event data. - :param id: Optional. A unique identifier for the event. If not provided, a UUID will be generated. - :param tenant_id: The ID of the tenant to publish for. - :param destination_id: Optional. Route event to a specific destination. - :param topic: Topic name for the event. Required if Outpost has been configured with topics. - :param eligible_for_retry: Should event delivery be retried on failure. - :param time: Optional. Custom timestamp for the event. If not provided, defaults to the current time. - :param metadata: Any key-value string pairs for metadata. + :param request: The request object to send. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -234,16 +198,9 @@ async def event_async( else: base_url = self._get_url(base_url, url_variables) - request = models.PublishRequest( - id=id, - tenant_id=tenant_id, - destination_id=destination_id, - topic=topic, - eligible_for_retry=eligible_for_retry, - time=time, - metadata=metadata, - data=data, - ) + if not isinstance(request, BaseModel): + request = utils.unmarshal(request, models.PublishRequest) + request = cast(models.PublishRequest, request) req = self._build_request_async( method="POST", diff --git a/sdks/outpost-python/src/outpost_sdk/tenants.py b/sdks/outpost-python/src/outpost_sdk/tenants.py index 652afc22..7e2c69dd 100644 --- a/sdks/outpost-python/src/outpost_sdk/tenants.py +++ b/sdks/outpost-python/src/outpost_sdk/tenants.py @@ -4,9 +4,9 @@ from jsonpath import JSONPath from outpost_sdk import errors, models, utils from outpost_sdk._hooks import HookContext -from outpost_sdk.types import OptionalNullable, UNSET +from outpost_sdk.types import BaseModel, OptionalNullable, UNSET from outpost_sdk.utils.unmarshal_json_response import unmarshal_json_response -from typing import Any, Dict, List, Mapping, Optional, Union +from typing import Any, Dict, List, Mapping, Optional, Union, cast class Tenants(BaseSDK): @@ -16,13 +16,10 @@ class Tenants(BaseSDK): """ - def list_tenants( + def list( self, *, - limit: Optional[int] = 20, - dir: Optional[models.ListTenantsDir] = models.ListTenantsDir.DESC, - direction: Optional[str] = None, - prev: Optional[str] = None, + request: Union[models.ListTenantsRequest, models.ListTenantsRequestTypedDict], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -38,10 +35,7 @@ def list_tenants( When authenticated with a Tenant JWT, returns only the authenticated tenant. Pagination is not used in this case. - :param limit: Number of tenants to return per page (1-100, default 20). - :param dir: Sort direction. - :param direction: Cursor for the next page of results. Mutually exclusive with `prev`. - :param prev: Cursor for the previous page of results. Mutually exclusive with `next`. + :param request: The request object to send. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -57,12 +51,9 @@ def list_tenants( else: base_url = self._get_url(base_url, url_variables) - request = models.ListTenantsRequest( - limit=limit, - dir=dir, - direction=direction, - prev=prev, - ) + if not isinstance(request, BaseModel): + request = utils.unmarshal(request, models.ListTenantsRequest) + request = cast(models.ListTenantsRequest, request) req = self._build_request( method="GET", @@ -119,11 +110,14 @@ def next_func() -> Optional[models.ListTenantsResponse]: if len(results[0]) < limit: return None - return self.list_tenants( - limit=limit, - dir=dir, - direction=direction, - prev=prev, + return self.list( + request=models.ListTenantsRequest( + id=request.id, + limit=request.limit, + direction=request.direction, + next_cursor=request.next_cursor, + prev_cursor=request.prev_cursor, + ), retries=retries, ) @@ -162,13 +156,10 @@ def next_func() -> Optional[models.ListTenantsResponse]: raise errors.APIError("Unexpected response received", http_res) - async def list_tenants_async( + async def list_async( self, *, - limit: Optional[int] = 20, - dir: Optional[models.ListTenantsDir] = models.ListTenantsDir.DESC, - direction: Optional[str] = None, - prev: Optional[str] = None, + request: Union[models.ListTenantsRequest, models.ListTenantsRequestTypedDict], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -184,10 +175,7 @@ async def list_tenants_async( When authenticated with a Tenant JWT, returns only the authenticated tenant. Pagination is not used in this case. - :param limit: Number of tenants to return per page (1-100, default 20). - :param dir: Sort direction. - :param direction: Cursor for the next page of results. Mutually exclusive with `prev`. - :param prev: Cursor for the previous page of results. Mutually exclusive with `next`. + :param request: The request object to send. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -203,12 +191,9 @@ async def list_tenants_async( else: base_url = self._get_url(base_url, url_variables) - request = models.ListTenantsRequest( - limit=limit, - dir=dir, - direction=direction, - prev=prev, - ) + if not isinstance(request, BaseModel): + request = utils.unmarshal(request, models.ListTenantsRequest) + request = cast(models.ListTenantsRequest, request) req = self._build_request_async( method="GET", @@ -265,11 +250,14 @@ def next_func() -> Optional[models.ListTenantsResponse]: if len(results[0]) < limit: return None - return self.list_tenants( - limit=limit, - dir=dir, - direction=direction, - prev=prev, + return self.list( + request=models.ListTenantsRequest( + id=request.id, + limit=request.limit, + direction=request.direction, + next_cursor=request.next_cursor, + prev_cursor=request.prev_cursor, + ), retries=retries, ) @@ -312,7 +300,7 @@ def upsert( self, *, tenant_id: str, - metadata: OptionalNullable[Dict[str, str]] = UNSET, + body: Optional[Union[models.TenantUpsert, models.TenantUpsertTypedDict]] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -323,7 +311,7 @@ def upsert( Idempotently creates or updates a tenant. Required before associating destinations. :param tenant_id: The ID of the tenant. Required when using AdminApiKey authentication. - :param metadata: Optional metadata to store with the tenant. + :param body: Optional tenant metadata :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -341,9 +329,7 @@ def upsert( request = models.UpsertTenantRequest( tenant_id=tenant_id, - params=models.TenantUpsert( - metadata=metadata, - ), + body=utils.get_pydantic_model(body, Optional[models.TenantUpsert]), ) req = self._build_request( @@ -360,7 +346,7 @@ def upsert( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.params if request is not None else None, + request.body if request is not None else None, False, True, "json", @@ -422,7 +408,7 @@ async def upsert_async( self, *, tenant_id: str, - metadata: OptionalNullable[Dict[str, str]] = UNSET, + body: Optional[Union[models.TenantUpsert, models.TenantUpsertTypedDict]] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -433,7 +419,7 @@ async def upsert_async( Idempotently creates or updates a tenant. Required before associating destinations. :param tenant_id: The ID of the tenant. Required when using AdminApiKey authentication. - :param metadata: Optional metadata to store with the tenant. + :param body: Optional tenant metadata :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -451,9 +437,7 @@ async def upsert_async( request = models.UpsertTenantRequest( tenant_id=tenant_id, - params=models.TenantUpsert( - metadata=metadata, - ), + body=utils.get_pydantic_model(body, Optional[models.TenantUpsert]), ) req = self._build_request_async( @@ -470,7 +454,7 @@ async def upsert_async( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request.params if request is not None else None, + request.body if request is not None else None, False, True, "json", diff --git a/sdks/outpost-python/src/outpost_sdk/utils/eventstreaming.py b/sdks/outpost-python/src/outpost_sdk/utils/eventstreaming.py index f2052fc2..3bdcd6d3 100644 --- a/sdks/outpost-python/src/outpost_sdk/utils/eventstreaming.py +++ b/sdks/outpost-python/src/outpost_sdk/utils/eventstreaming.py @@ -32,9 +32,12 @@ def __init__( decoder: Callable[[str], T], sentinel: Optional[str] = None, client_ref: Optional[object] = None, + data_required: bool = True, ): self.response = response - self.generator = stream_events(response, decoder, sentinel) + self.generator = stream_events( + response, decoder, sentinel, data_required=data_required + ) self.client_ref = client_ref self._closed = False @@ -68,9 +71,12 @@ def __init__( decoder: Callable[[str], T], sentinel: Optional[str] = None, client_ref: Optional[object] = None, + data_required: bool = True, ): self.response = response - self.generator = stream_events_async(response, decoder, sentinel) + self.generator = stream_events_async( + response, decoder, sentinel, data_required=data_required + ) self.client_ref = client_ref self._closed = False @@ -116,6 +122,7 @@ async def stream_events_async( response: httpx.Response, decoder: Callable[[str], T], sentinel: Optional[str] = None, + data_required: bool = True, ) -> AsyncGenerator[T, None]: buffer = bytearray() position = 0 @@ -138,7 +145,11 @@ async def stream_events_async( block = buffer[position:i] position = i + len(seq) event, discard, event_id = _parse_event( - raw=block, decoder=decoder, sentinel=sentinel, event_id=event_id + raw=block, + decoder=decoder, + sentinel=sentinel, + event_id=event_id, + data_required=data_required, ) if event is not None: yield event @@ -151,7 +162,11 @@ async def stream_events_async( position = 0 event, discard, _ = _parse_event( - raw=buffer, decoder=decoder, sentinel=sentinel, event_id=event_id + raw=buffer, + decoder=decoder, + sentinel=sentinel, + event_id=event_id, + data_required=data_required, ) if event is not None: yield event @@ -161,6 +176,7 @@ def stream_events( response: httpx.Response, decoder: Callable[[str], T], sentinel: Optional[str] = None, + data_required: bool = True, ) -> Generator[T, None, None]: buffer = bytearray() position = 0 @@ -183,7 +199,11 @@ def stream_events( block = buffer[position:i] position = i + len(seq) event, discard, event_id = _parse_event( - raw=block, decoder=decoder, sentinel=sentinel, event_id=event_id + raw=block, + decoder=decoder, + sentinel=sentinel, + event_id=event_id, + data_required=data_required, ) if event is not None: yield event @@ -196,7 +216,11 @@ def stream_events( position = 0 event, discard, _ = _parse_event( - raw=buffer, decoder=decoder, sentinel=sentinel, event_id=event_id + raw=buffer, + decoder=decoder, + sentinel=sentinel, + event_id=event_id, + data_required=data_required, ) if event is not None: yield event @@ -208,6 +232,7 @@ def _parse_event( decoder: Callable[[str], T], sentinel: Optional[str] = None, event_id: Optional[str] = None, + data_required: bool = True, ) -> Tuple[Optional[T], bool, Optional[str]]: block = raw.decode() lines = re.split(r"\r?\n|\r", block) @@ -250,6 +275,10 @@ def _parse_event( if sentinel and data == f"{sentinel}\n": return None, True, event_id + # Skip data-less events when data is required + if not data and publish and data_required: + return None, False, event_id + if data: data = data[:-1] try: