transcodely 0.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. buf/__init__.py +0 -0
  2. buf/validate/__init__.py +0 -0
  3. buf/validate/validate_pb2.py +469 -0
  4. buf/validate/validate_pb2.pyi +651 -0
  5. transcodely/__init__.py +175 -0
  6. transcodely/_codec/__init__.py +0 -0
  7. transcodely/_codec/json_codec.py +193 -0
  8. transcodely/_transport/__init__.py +0 -0
  9. transcodely/_transport/error_mapping.py +102 -0
  10. transcodely/_transport/headers.py +31 -0
  11. transcodely/_transport/transport.py +312 -0
  12. transcodely/client.py +160 -0
  13. transcodely/errors.py +115 -0
  14. transcodely/pagination.py +53 -0
  15. transcodely/py.typed +0 -0
  16. transcodely/resources/__init__.py +0 -0
  17. transcodely/resources/_helpers.py +29 -0
  18. transcodely/resources/api_keys.py +48 -0
  19. transcodely/resources/apps.py +59 -0
  20. transcodely/resources/events.py +118 -0
  21. transcodely/resources/health.py +19 -0
  22. transcodely/resources/jobs.py +120 -0
  23. transcodely/resources/memberships.py +54 -0
  24. transcodely/resources/organizations.py +73 -0
  25. transcodely/resources/origins.py +55 -0
  26. transcodely/resources/presets.py +63 -0
  27. transcodely/resources/users.py +46 -0
  28. transcodely/resources/videos.py +114 -0
  29. transcodely/resources/webhook_endpoints.py +242 -0
  30. transcodely/streaming.py +47 -0
  31. transcodely/types.py +570 -0
  32. transcodely/v1/api_key_pb2.py +69 -0
  33. transcodely/v1/api_key_pb2.pyi +97 -0
  34. transcodely/v1/app_pb2.py +107 -0
  35. transcodely/v1/app_pb2.pyi +219 -0
  36. transcodely/v1/codec_av1_pb2.py +55 -0
  37. transcodely/v1/codec_av1_pb2.pyi +34 -0
  38. transcodely/v1/codec_h264_pb2.py +71 -0
  39. transcodely/v1/codec_h264_pb2.pyi +44 -0
  40. transcodely/v1/codec_h265_pb2.py +69 -0
  41. transcodely/v1/codec_h265_pb2.pyi +42 -0
  42. transcodely/v1/codec_vp9_pb2.py +57 -0
  43. transcodely/v1/codec_vp9_pb2.pyi +30 -0
  44. transcodely/v1/common_pb2.py +67 -0
  45. transcodely/v1/common_pb2.pyi +171 -0
  46. transcodely/v1/content_aware_pb2.py +56 -0
  47. transcodely/v1/content_aware_pb2.pyi +51 -0
  48. transcodely/v1/drm_pb2.py +65 -0
  49. transcodely/v1/drm_pb2.pyi +68 -0
  50. transcodely/v1/hdr_pb2.py +57 -0
  51. transcodely/v1/hdr_pb2.pyi +64 -0
  52. transcodely/v1/health_pb2.py +44 -0
  53. transcodely/v1/health_pb2.pyi +44 -0
  54. transcodely/v1/job_pb2.py +201 -0
  55. transcodely/v1/job_pb2.pyi +546 -0
  56. transcodely/v1/media_pb2.py +43 -0
  57. transcodely/v1/media_pb2.pyi +100 -0
  58. transcodely/v1/membership_pb2.py +71 -0
  59. transcodely/v1/membership_pb2.pyi +122 -0
  60. transcodely/v1/organization_pb2.py +81 -0
  61. transcodely/v1/organization_pb2.pyi +121 -0
  62. transcodely/v1/origin_pb2.py +157 -0
  63. transcodely/v1/origin_pb2.pyi +317 -0
  64. transcodely/v1/preset_pb2.py +192 -0
  65. transcodely/v1/preset_pb2.pyi +290 -0
  66. transcodely/v1/streaming_pb2.py +59 -0
  67. transcodely/v1/streaming_pb2.pyi +56 -0
  68. transcodely/v1/subtitles_pb2.py +69 -0
  69. transcodely/v1/subtitles_pb2.pyi +75 -0
  70. transcodely/v1/thumbnails_pb2.py +63 -0
  71. transcodely/v1/thumbnails_pb2.pyi +74 -0
  72. transcodely/v1/user_pb2.py +72 -0
  73. transcodely/v1/user_pb2.pyi +137 -0
  74. transcodely/v1/video_pb2.py +166 -0
  75. transcodely/v1/video_pb2.pyi +367 -0
  76. transcodely/v1/webhook_pb2.py +151 -0
  77. transcodely/v1/webhook_pb2.pyi +336 -0
  78. transcodely/version.py +11 -0
  79. transcodely/webhooks/__init__.py +44 -0
  80. transcodely/webhooks/construct_event.py +111 -0
  81. transcodely/webhooks/signature.py +110 -0
  82. transcodely/webhooks/types.py +115 -0
  83. transcodely-0.2.0.dist-info/METADATA +349 -0
  84. transcodely-0.2.0.dist-info/RECORD +86 -0
  85. transcodely-0.2.0.dist-info/WHEEL +4 -0
  86. transcodely-0.2.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,151 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: transcodely/v1/webhook.proto
5
+ # Protobuf Python Version: 5.28.3
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 5,
15
+ 28,
16
+ 3,
17
+ '',
18
+ 'transcodely/v1/webhook.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
26
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
27
+ from transcodely.v1 import common_pb2 as transcodely_dot_v1_dot_common__pb2
28
+
29
+
30
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ctranscodely/v1/webhook.proto\x12\x0etranscodely.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1btranscodely/v1/common.proto\"\xb8\x06\n\x0fWebhookEndpoint\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06\x61pp_id\x18\x02 \x01(\tR\x05\x61ppId\x12\x10\n\x03url\x18\x03 \x01(\tR\x03url\x12%\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00R\x0b\x64\x65scription\x88\x01\x01\x12%\n\x0e\x65nabled_events\x18\x05 \x03(\tR\renabledEvents\x12\x16\n\x06status\x18\x06 \x01(\tR\x06status\x12$\n\x0b\x61pi_version\x18\x07 \x01(\tH\x01R\napiVersion\x88\x01\x01\x12I\n\x08metadata\x18\x08 \x03(\x0b\x32-.transcodely.v1.WebhookEndpoint.MetadataEntryR\x08metadata\x12\x39\n\ncreated_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x1b\n\x06secret\x18\x0b \x01(\tH\x02R\x06secret\x88\x01\x01\x12,\n\x0f\x64isabled_reason\x18\x0c \x01(\tH\x03R\x0e\x64isabledReason\x88\x01\x01\x12G\n\x0flast_rotated_at\x18\r \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x04R\rlastRotatedAt\x88\x01\x01\x12\\\n\x1aprevious_secret_expires_at\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x05R\x17previousSecretExpiresAt\x88\x01\x01\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x0e\n\x0c_descriptionB\x0e\n\x0c_api_versionB\t\n\x07_secretB\x12\n\x10_disabled_reasonB\x12\n\x10_last_rotated_atB\x1d\n\x1b_previous_secret_expires_at\"\xb8\x02\n\x05\x45vent\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06\x61pp_id\x18\x02 \x01(\tR\x05\x61ppId\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\x12\x12\n\x04\x64\x61ta\x18\x04 \x01(\tR\x04\x64\x61ta\x12\"\n\nrequest_id\x18\x05 \x01(\tH\x00R\trequestId\x88\x01\x01\x12)\n\x10pending_webhooks\x18\x06 \x01(\x05R\x0fpendingWebhooks\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x1f\n\x0b\x61pi_version\x18\x08 \x01(\tR\napiVersion\x12\x16\n\x06object\x18\n \x01(\tR\x06objectB\r\n\x0b_request_idJ\x04\x08\t\x10\nR\x08livemode\"\xe5\x05\n\x0fWebhookDelivery\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12.\n\x13webhook_endpoint_id\x18\x02 \x01(\tR\x11webhookEndpointId\x12\x19\n\x08\x65vent_id\x18\x03 \x01(\tR\x07\x65ventId\x12\x16\n\x06status\x18\x04 \x01(\tR\x06status\x12\x18\n\x07\x61ttempt\x18\x05 \x01(\x05R\x07\x61ttempt\x12,\n\x0fresponse_status\x18\x06 \x01(\x05H\x00R\x0eresponseStatus\x88\x01\x01\x12(\n\rresponse_body\x18\x07 \x01(\tH\x01R\x0cresponseBody\x88\x01\x01\x12G\n\x0fnext_attempt_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02R\rnextAttemptAt\x88\x01\x01\x12\x39\n\ncreated_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\"\n\nlatency_ms\x18\x0b \x01(\x05H\x03R\tlatencyMs\x88\x01\x01\x12,\n\x0ftransport_error\x18\x0c \x01(\tH\x04R\x0etransportError\x88\x01\x01\x12.\n\x10response_headers\x18\r \x01(\tH\x05R\x0fresponseHeaders\x88\x01\x01\x12(\n\rerror_message\x18\x0e \x01(\tH\x06R\x0c\x65rrorMessage\x88\x01\x01\x42\x12\n\x10_response_statusB\x10\n\x0e_response_bodyB\x12\n\x10_next_attempt_atB\r\n\x0b_latency_msB\x12\n\x10_transport_errorB\x13\n\x11_response_headersB\x10\n\x0e_error_message\"\xbb\x03\n\x1c\x43reateWebhookEndpointRequest\x12\x35\n\x06\x61pp_id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^app_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x05\x61ppId\x12\'\n\x03url\x18\x02 \x01(\tB\x15\xbaH\x12r\r:\x08https://\x88\x01\x01\xc8\x01\x01R\x03url\x12/\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\xf4\x03H\x00R\x0b\x64\x65scription\x88\x01\x01\x12/\n\x0e\x65nabled_events\x18\x04 \x03(\tB\x08\xbaH\x05\x92\x01\x02\x08\x01R\renabledEvents\x12$\n\x0b\x61pi_version\x18\x05 \x01(\tH\x01R\napiVersion\x88\x01\x01\x12V\n\x08metadata\x18\x06 \x03(\x0b\x32:.transcodely.v1.CreateWebhookEndpointRequest.MetadataEntryR\x08metadata\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x0e\n\x0c_descriptionB\x0e\n\x0c_api_version\"\\\n\x1d\x43reateWebhookEndpointResponse\x12;\n\x08\x65ndpoint\x18\x01 \x01(\x0b\x32\x1f.transcodely.v1.WebhookEndpointR\x08\x65ndpoint\"P\n\x1eRetrieveWebhookEndpointRequest\x12.\n\x02id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^whe_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x02id\"^\n\x1fRetrieveWebhookEndpointResponse\x12;\n\x08\x65ndpoint\x18\x01 \x01(\x0b\x32\x1f.transcodely.v1.WebhookEndpointR\x08\x65ndpoint\"\xa6\x03\n\x1cUpdateWebhookEndpointRequest\x12.\n\x02id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^whe_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x02id\x12)\n\x03url\x18\x02 \x01(\tB\x12\xbaH\x0fr\r:\x08https://\x88\x01\x01H\x00R\x03url\x88\x01\x01\x12/\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\xf4\x03H\x01R\x0b\x64\x65scription\x88\x01\x01\x12%\n\x0e\x65nabled_events\x18\x04 \x03(\tR\renabledEvents\x12\x1b\n\x06status\x18\x05 \x01(\tH\x02R\x06status\x88\x01\x01\x12V\n\x08metadata\x18\x06 \x03(\x0b\x32:.transcodely.v1.UpdateWebhookEndpointRequest.MetadataEntryR\x08metadata\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x06\n\x04_urlB\x0e\n\x0c_descriptionB\t\n\x07_status\"\\\n\x1dUpdateWebhookEndpointResponse\x12;\n\x08\x65ndpoint\x18\x01 \x01(\x0b\x32\x1f.transcodely.v1.WebhookEndpointR\x08\x65ndpoint\"N\n\x1c\x44\x65leteWebhookEndpointRequest\x12.\n\x02id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^whe_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x02id\"\x1f\n\x1d\x44\x65leteWebhookEndpointResponse\"\x97\x01\n\x1bListWebhookEndpointsRequest\x12\x35\n\x06\x61pp_id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^app_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x05\x61ppId\x12\x41\n\npagination\x18\x02 \x01(\x0b\x32!.transcodely.v1.PaginationRequestR\npagination\"\xa1\x01\n\x1cListWebhookEndpointsResponse\x12=\n\tendpoints\x18\x01 \x03(\x0b\x32\x1f.transcodely.v1.WebhookEndpointR\tendpoints\x12\x42\n\npagination\x18\x02 \x01(\x0b\x32\".transcodely.v1.PaginationResponseR\npagination\"L\n\x1aRotateWebhookSecretRequest\x12.\n\x02id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^whe_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x02id\"Z\n\x1bRotateWebhookSecretResponse\x12;\n\x08\x65ndpoint\x18\x01 \x01(\x0b\x32\x1f.transcodely.v1.WebhookEndpointR\x08\x65ndpoint\"\xe2\x02\n\x11ListEventsRequest\x12\x35\n\x06\x61pp_id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^app_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x05\x61ppId\x12\x17\n\x04type\x18\x02 \x01(\tH\x00R\x04type\x88\x01\x01\x12\x44\n\rcreated_after\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01R\x0c\x63reatedAfter\x88\x01\x01\x12\x46\n\x0e\x63reated_before\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02R\rcreatedBefore\x88\x01\x01\x12\x41\n\npagination\x18\x05 \x01(\x0b\x32!.transcodely.v1.PaginationRequestR\npaginationB\x07\n\x05_typeB\x10\n\x0e_created_afterB\x11\n\x0f_created_before\"\x87\x01\n\x12ListEventsResponse\x12-\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x15.transcodely.v1.EventR\x06\x65vents\x12\x42\n\npagination\x18\x02 \x01(\x0b\x32\".transcodely.v1.PaginationResponseR\npagination\"F\n\x14RetrieveEventRequest\x12.\n\x02id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^evt_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x02id\"D\n\x15RetrieveEventResponse\x12+\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x15.transcodely.v1.EventR\x05\x65vent\"q\n\x12ResendEventRequest\x12.\n\x02id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^evt_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x02id\x12+\n\x0c\x65ndpoint_ids\x18\x02 \x03(\tB\x08\xbaH\x05\x92\x01\x02\x10\x64R\x0b\x65ndpointIds\"V\n\x13ResendEventResponse\x12?\n\ndeliveries\x18\x01 \x03(\x0b\x32\x1f.transcodely.v1.WebhookDeliveryR\ndeliveries\"\x80\x01\n\x16SendTestWebhookRequest\x12?\n\x0b\x65ndpoint_id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^whe_[a-zA-Z0-9_-]+$\xc8\x01\x01R\nendpointId\x12%\n\nevent_type\x18\x02 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\teventType\"V\n\x17SendTestWebhookResponse\x12;\n\x08\x64\x65livery\x18\x01 \x01(\x0b\x32\x1f.transcodely.v1.WebhookDeliveryR\x08\x64\x65livery\"\xb1\x03\n\x1cListWebhookDeliveriesRequest\x12\x41\n\x0b\x65ndpoint_id\x18\x01 \x01(\tB\x1b\xbaH\x18r\x16\x32\x14^whe_[a-zA-Z0-9_-]+$H\x00R\nendpointId\x88\x01\x01\x12;\n\x08\x65vent_id\x18\x02 \x01(\tB\x1b\xbaH\x18r\x16\x32\x14^evt_[a-zA-Z0-9_-]+$H\x01R\x07\x65ventId\x88\x01\x01\x12\x1b\n\x06status\x18\x03 \x01(\tH\x02R\x06status\x88\x01\x01\x12\x41\n\npagination\x18\x04 \x01(\x0b\x32!.transcodely.v1.PaginationRequestR\npagination:\x88\x01\xbaH\x84\x01\x1a\x81\x01\n-webhook_deliveries.endpoint_or_event_required\x12#endpoint_id or event_id must be set\x1a+has(this.endpoint_id) || has(this.event_id)B\x0e\n\x0c_endpoint_idB\x0b\n\t_event_idB\t\n\x07_status\"\xa4\x01\n\x1dListWebhookDeliveriesResponse\x12?\n\ndeliveries\x18\x01 \x03(\x0b\x32\x1f.transcodely.v1.WebhookDeliveryR\ndeliveries\x12\x42\n\npagination\x18\x02 \x01(\x0b\x32\".transcodely.v1.PaginationResponseR\npagination\"\x98\x01\n\x18GetEndpointHealthRequest\x12?\n\x0b\x65ndpoint_id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^whe_[a-zA-Z0-9_-]+$\xc8\x01\x01R\nendpointId\x12\x30\n\x06window\x18\x02 \x01(\tB\x13\xbaH\x10r\x0eR\x03\x32\x34hR\x02\x37\x64R\x03\x33\x30\x64H\x00R\x06window\x88\x01\x01\x42\t\n\x07_window\"\x81\x03\n\x19GetEndpointHealthResponse\x12\x16\n\x06window\x18\x01 \x01(\tR\x06window\x12%\n\x0etotal_attempts\x18\x02 \x01(\x05R\rtotalAttempts\x12\x1c\n\tsucceeded\x18\x03 \x01(\x05R\tsucceeded\x12\x16\n\x06\x66\x61iled\x18\x04 \x01(\x05R\x06\x66\x61iled\x12\x18\n\x07pending\x18\x05 \x01(\x05R\x07pending\x12!\n\x0csuccess_rate\x18\x06 \x01(\x01R\x0bsuccessRate\x12)\n\x0ep50_latency_ms\x18\x07 \x01(\x05H\x00R\x0cp50LatencyMs\x88\x01\x01\x12)\n\x0ep95_latency_ms\x18\x08 \x01(\x05H\x01R\x0cp95LatencyMs\x88\x01\x01\x12\x36\n\x07\x62uckets\x18\t \x03(\x0b\x32\x1c.transcodely.v1.HealthBucketR\x07\x62ucketsB\x11\n\x0f_p50_latency_msB\x11\n\x0f_p95_latency_ms\"\xb9\x01\n\x0cHealthBucket\x12=\n\x0c\x62ucket_start\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0b\x62ucketStart\x12\x1a\n\x08\x61ttempts\x18\x02 \x01(\x05R\x08\x61ttempts\x12\x1c\n\tsucceeded\x18\x03 \x01(\x05R\tsucceeded\x12\x16\n\x06\x66\x61iled\x18\x04 \x01(\x05R\x06\x66\x61iled\x12\x18\n\x07pending\x18\x05 \x01(\x05R\x07pending2\xa0\n\n\x0eWebhookService\x12t\n\x15\x43reateWebhookEndpoint\x12,.transcodely.v1.CreateWebhookEndpointRequest\x1a-.transcodely.v1.CreateWebhookEndpointResponse\x12z\n\x17RetrieveWebhookEndpoint\x12..transcodely.v1.RetrieveWebhookEndpointRequest\x1a/.transcodely.v1.RetrieveWebhookEndpointResponse\x12t\n\x15UpdateWebhookEndpoint\x12,.transcodely.v1.UpdateWebhookEndpointRequest\x1a-.transcodely.v1.UpdateWebhookEndpointResponse\x12t\n\x15\x44\x65leteWebhookEndpoint\x12,.transcodely.v1.DeleteWebhookEndpointRequest\x1a-.transcodely.v1.DeleteWebhookEndpointResponse\x12q\n\x14ListWebhookEndpoints\x12+.transcodely.v1.ListWebhookEndpointsRequest\x1a,.transcodely.v1.ListWebhookEndpointsResponse\x12n\n\x13RotateWebhookSecret\x12*.transcodely.v1.RotateWebhookSecretRequest\x1a+.transcodely.v1.RotateWebhookSecretResponse\x12S\n\nListEvents\x12!.transcodely.v1.ListEventsRequest\x1a\".transcodely.v1.ListEventsResponse\x12\\\n\rRetrieveEvent\x12$.transcodely.v1.RetrieveEventRequest\x1a%.transcodely.v1.RetrieveEventResponse\x12V\n\x0bResendEvent\x12\".transcodely.v1.ResendEventRequest\x1a#.transcodely.v1.ResendEventResponse\x12\x62\n\x0fSendTestWebhook\x12&.transcodely.v1.SendTestWebhookRequest\x1a\'.transcodely.v1.SendTestWebhookResponse\x12t\n\x15ListWebhookDeliveries\x12,.transcodely.v1.ListWebhookDeliveriesRequest\x1a-.transcodely.v1.ListWebhookDeliveriesResponse\x12h\n\x11GetEndpointHealth\x12(.transcodely.v1.GetEndpointHealthRequest\x1a).transcodely.v1.GetEndpointHealthResponseb\x06proto3')
31
+
32
+ _globals = globals()
33
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
34
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'transcodely.v1.webhook_pb2', _globals)
35
+ if not _descriptor._USE_C_DESCRIPTORS:
36
+ DESCRIPTOR._loaded_options = None
37
+ _globals['_WEBHOOKENDPOINT_METADATAENTRY']._loaded_options = None
38
+ _globals['_WEBHOOKENDPOINT_METADATAENTRY']._serialized_options = b'8\001'
39
+ _globals['_CREATEWEBHOOKENDPOINTREQUEST_METADATAENTRY']._loaded_options = None
40
+ _globals['_CREATEWEBHOOKENDPOINTREQUEST_METADATAENTRY']._serialized_options = b'8\001'
41
+ _globals['_CREATEWEBHOOKENDPOINTREQUEST'].fields_by_name['app_id']._loaded_options = None
42
+ _globals['_CREATEWEBHOOKENDPOINTREQUEST'].fields_by_name['app_id']._serialized_options = b'\272H\033r\0262\024^app_[a-zA-Z0-9_-]+$\310\001\001'
43
+ _globals['_CREATEWEBHOOKENDPOINTREQUEST'].fields_by_name['url']._loaded_options = None
44
+ _globals['_CREATEWEBHOOKENDPOINTREQUEST'].fields_by_name['url']._serialized_options = b'\272H\022r\r:\010https://\210\001\001\310\001\001'
45
+ _globals['_CREATEWEBHOOKENDPOINTREQUEST'].fields_by_name['description']._loaded_options = None
46
+ _globals['_CREATEWEBHOOKENDPOINTREQUEST'].fields_by_name['description']._serialized_options = b'\272H\005r\003\030\364\003'
47
+ _globals['_CREATEWEBHOOKENDPOINTREQUEST'].fields_by_name['enabled_events']._loaded_options = None
48
+ _globals['_CREATEWEBHOOKENDPOINTREQUEST'].fields_by_name['enabled_events']._serialized_options = b'\272H\005\222\001\002\010\001'
49
+ _globals['_RETRIEVEWEBHOOKENDPOINTREQUEST'].fields_by_name['id']._loaded_options = None
50
+ _globals['_RETRIEVEWEBHOOKENDPOINTREQUEST'].fields_by_name['id']._serialized_options = b'\272H\033r\0262\024^whe_[a-zA-Z0-9_-]+$\310\001\001'
51
+ _globals['_UPDATEWEBHOOKENDPOINTREQUEST_METADATAENTRY']._loaded_options = None
52
+ _globals['_UPDATEWEBHOOKENDPOINTREQUEST_METADATAENTRY']._serialized_options = b'8\001'
53
+ _globals['_UPDATEWEBHOOKENDPOINTREQUEST'].fields_by_name['id']._loaded_options = None
54
+ _globals['_UPDATEWEBHOOKENDPOINTREQUEST'].fields_by_name['id']._serialized_options = b'\272H\033r\0262\024^whe_[a-zA-Z0-9_-]+$\310\001\001'
55
+ _globals['_UPDATEWEBHOOKENDPOINTREQUEST'].fields_by_name['url']._loaded_options = None
56
+ _globals['_UPDATEWEBHOOKENDPOINTREQUEST'].fields_by_name['url']._serialized_options = b'\272H\017r\r:\010https://\210\001\001'
57
+ _globals['_UPDATEWEBHOOKENDPOINTREQUEST'].fields_by_name['description']._loaded_options = None
58
+ _globals['_UPDATEWEBHOOKENDPOINTREQUEST'].fields_by_name['description']._serialized_options = b'\272H\005r\003\030\364\003'
59
+ _globals['_DELETEWEBHOOKENDPOINTREQUEST'].fields_by_name['id']._loaded_options = None
60
+ _globals['_DELETEWEBHOOKENDPOINTREQUEST'].fields_by_name['id']._serialized_options = b'\272H\033r\0262\024^whe_[a-zA-Z0-9_-]+$\310\001\001'
61
+ _globals['_LISTWEBHOOKENDPOINTSREQUEST'].fields_by_name['app_id']._loaded_options = None
62
+ _globals['_LISTWEBHOOKENDPOINTSREQUEST'].fields_by_name['app_id']._serialized_options = b'\272H\033r\0262\024^app_[a-zA-Z0-9_-]+$\310\001\001'
63
+ _globals['_ROTATEWEBHOOKSECRETREQUEST'].fields_by_name['id']._loaded_options = None
64
+ _globals['_ROTATEWEBHOOKSECRETREQUEST'].fields_by_name['id']._serialized_options = b'\272H\033r\0262\024^whe_[a-zA-Z0-9_-]+$\310\001\001'
65
+ _globals['_LISTEVENTSREQUEST'].fields_by_name['app_id']._loaded_options = None
66
+ _globals['_LISTEVENTSREQUEST'].fields_by_name['app_id']._serialized_options = b'\272H\033r\0262\024^app_[a-zA-Z0-9_-]+$\310\001\001'
67
+ _globals['_RETRIEVEEVENTREQUEST'].fields_by_name['id']._loaded_options = None
68
+ _globals['_RETRIEVEEVENTREQUEST'].fields_by_name['id']._serialized_options = b'\272H\033r\0262\024^evt_[a-zA-Z0-9_-]+$\310\001\001'
69
+ _globals['_RESENDEVENTREQUEST'].fields_by_name['id']._loaded_options = None
70
+ _globals['_RESENDEVENTREQUEST'].fields_by_name['id']._serialized_options = b'\272H\033r\0262\024^evt_[a-zA-Z0-9_-]+$\310\001\001'
71
+ _globals['_RESENDEVENTREQUEST'].fields_by_name['endpoint_ids']._loaded_options = None
72
+ _globals['_RESENDEVENTREQUEST'].fields_by_name['endpoint_ids']._serialized_options = b'\272H\005\222\001\002\020d'
73
+ _globals['_SENDTESTWEBHOOKREQUEST'].fields_by_name['endpoint_id']._loaded_options = None
74
+ _globals['_SENDTESTWEBHOOKREQUEST'].fields_by_name['endpoint_id']._serialized_options = b'\272H\033r\0262\024^whe_[a-zA-Z0-9_-]+$\310\001\001'
75
+ _globals['_SENDTESTWEBHOOKREQUEST'].fields_by_name['event_type']._loaded_options = None
76
+ _globals['_SENDTESTWEBHOOKREQUEST'].fields_by_name['event_type']._serialized_options = b'\272H\003\310\001\001'
77
+ _globals['_LISTWEBHOOKDELIVERIESREQUEST'].fields_by_name['endpoint_id']._loaded_options = None
78
+ _globals['_LISTWEBHOOKDELIVERIESREQUEST'].fields_by_name['endpoint_id']._serialized_options = b'\272H\030r\0262\024^whe_[a-zA-Z0-9_-]+$'
79
+ _globals['_LISTWEBHOOKDELIVERIESREQUEST'].fields_by_name['event_id']._loaded_options = None
80
+ _globals['_LISTWEBHOOKDELIVERIESREQUEST'].fields_by_name['event_id']._serialized_options = b'\272H\030r\0262\024^evt_[a-zA-Z0-9_-]+$'
81
+ _globals['_LISTWEBHOOKDELIVERIESREQUEST']._loaded_options = None
82
+ _globals['_LISTWEBHOOKDELIVERIESREQUEST']._serialized_options = b'\272H\204\001\032\201\001\n-webhook_deliveries.endpoint_or_event_required\022#endpoint_id or event_id must be set\032+has(this.endpoint_id) || has(this.event_id)'
83
+ _globals['_GETENDPOINTHEALTHREQUEST'].fields_by_name['endpoint_id']._loaded_options = None
84
+ _globals['_GETENDPOINTHEALTHREQUEST'].fields_by_name['endpoint_id']._serialized_options = b'\272H\033r\0262\024^whe_[a-zA-Z0-9_-]+$\310\001\001'
85
+ _globals['_GETENDPOINTHEALTHREQUEST'].fields_by_name['window']._loaded_options = None
86
+ _globals['_GETENDPOINTHEALTHREQUEST'].fields_by_name['window']._serialized_options = b'\272H\020r\016R\00324hR\0027dR\00330d'
87
+ _globals['_WEBHOOKENDPOINT']._serialized_start=140
88
+ _globals['_WEBHOOKENDPOINT']._serialized_end=964
89
+ _globals['_WEBHOOKENDPOINT_METADATAENTRY']._serialized_start=791
90
+ _globals['_WEBHOOKENDPOINT_METADATAENTRY']._serialized_end=850
91
+ _globals['_EVENT']._serialized_start=967
92
+ _globals['_EVENT']._serialized_end=1279
93
+ _globals['_WEBHOOKDELIVERY']._serialized_start=1282
94
+ _globals['_WEBHOOKDELIVERY']._serialized_end=2023
95
+ _globals['_CREATEWEBHOOKENDPOINTREQUEST']._serialized_start=2026
96
+ _globals['_CREATEWEBHOOKENDPOINTREQUEST']._serialized_end=2469
97
+ _globals['_CREATEWEBHOOKENDPOINTREQUEST_METADATAENTRY']._serialized_start=791
98
+ _globals['_CREATEWEBHOOKENDPOINTREQUEST_METADATAENTRY']._serialized_end=850
99
+ _globals['_CREATEWEBHOOKENDPOINTRESPONSE']._serialized_start=2471
100
+ _globals['_CREATEWEBHOOKENDPOINTRESPONSE']._serialized_end=2563
101
+ _globals['_RETRIEVEWEBHOOKENDPOINTREQUEST']._serialized_start=2565
102
+ _globals['_RETRIEVEWEBHOOKENDPOINTREQUEST']._serialized_end=2645
103
+ _globals['_RETRIEVEWEBHOOKENDPOINTRESPONSE']._serialized_start=2647
104
+ _globals['_RETRIEVEWEBHOOKENDPOINTRESPONSE']._serialized_end=2741
105
+ _globals['_UPDATEWEBHOOKENDPOINTREQUEST']._serialized_start=2744
106
+ _globals['_UPDATEWEBHOOKENDPOINTREQUEST']._serialized_end=3166
107
+ _globals['_UPDATEWEBHOOKENDPOINTREQUEST_METADATAENTRY']._serialized_start=791
108
+ _globals['_UPDATEWEBHOOKENDPOINTREQUEST_METADATAENTRY']._serialized_end=850
109
+ _globals['_UPDATEWEBHOOKENDPOINTRESPONSE']._serialized_start=3168
110
+ _globals['_UPDATEWEBHOOKENDPOINTRESPONSE']._serialized_end=3260
111
+ _globals['_DELETEWEBHOOKENDPOINTREQUEST']._serialized_start=3262
112
+ _globals['_DELETEWEBHOOKENDPOINTREQUEST']._serialized_end=3340
113
+ _globals['_DELETEWEBHOOKENDPOINTRESPONSE']._serialized_start=3342
114
+ _globals['_DELETEWEBHOOKENDPOINTRESPONSE']._serialized_end=3373
115
+ _globals['_LISTWEBHOOKENDPOINTSREQUEST']._serialized_start=3376
116
+ _globals['_LISTWEBHOOKENDPOINTSREQUEST']._serialized_end=3527
117
+ _globals['_LISTWEBHOOKENDPOINTSRESPONSE']._serialized_start=3530
118
+ _globals['_LISTWEBHOOKENDPOINTSRESPONSE']._serialized_end=3691
119
+ _globals['_ROTATEWEBHOOKSECRETREQUEST']._serialized_start=3693
120
+ _globals['_ROTATEWEBHOOKSECRETREQUEST']._serialized_end=3769
121
+ _globals['_ROTATEWEBHOOKSECRETRESPONSE']._serialized_start=3771
122
+ _globals['_ROTATEWEBHOOKSECRETRESPONSE']._serialized_end=3861
123
+ _globals['_LISTEVENTSREQUEST']._serialized_start=3864
124
+ _globals['_LISTEVENTSREQUEST']._serialized_end=4218
125
+ _globals['_LISTEVENTSRESPONSE']._serialized_start=4221
126
+ _globals['_LISTEVENTSRESPONSE']._serialized_end=4356
127
+ _globals['_RETRIEVEEVENTREQUEST']._serialized_start=4358
128
+ _globals['_RETRIEVEEVENTREQUEST']._serialized_end=4428
129
+ _globals['_RETRIEVEEVENTRESPONSE']._serialized_start=4430
130
+ _globals['_RETRIEVEEVENTRESPONSE']._serialized_end=4498
131
+ _globals['_RESENDEVENTREQUEST']._serialized_start=4500
132
+ _globals['_RESENDEVENTREQUEST']._serialized_end=4613
133
+ _globals['_RESENDEVENTRESPONSE']._serialized_start=4615
134
+ _globals['_RESENDEVENTRESPONSE']._serialized_end=4701
135
+ _globals['_SENDTESTWEBHOOKREQUEST']._serialized_start=4704
136
+ _globals['_SENDTESTWEBHOOKREQUEST']._serialized_end=4832
137
+ _globals['_SENDTESTWEBHOOKRESPONSE']._serialized_start=4834
138
+ _globals['_SENDTESTWEBHOOKRESPONSE']._serialized_end=4920
139
+ _globals['_LISTWEBHOOKDELIVERIESREQUEST']._serialized_start=4923
140
+ _globals['_LISTWEBHOOKDELIVERIESREQUEST']._serialized_end=5356
141
+ _globals['_LISTWEBHOOKDELIVERIESRESPONSE']._serialized_start=5359
142
+ _globals['_LISTWEBHOOKDELIVERIESRESPONSE']._serialized_end=5523
143
+ _globals['_GETENDPOINTHEALTHREQUEST']._serialized_start=5526
144
+ _globals['_GETENDPOINTHEALTHREQUEST']._serialized_end=5678
145
+ _globals['_GETENDPOINTHEALTHRESPONSE']._serialized_start=5681
146
+ _globals['_GETENDPOINTHEALTHRESPONSE']._serialized_end=6066
147
+ _globals['_HEALTHBUCKET']._serialized_start=6069
148
+ _globals['_HEALTHBUCKET']._serialized_end=6254
149
+ _globals['_WEBHOOKSERVICE']._serialized_start=6257
150
+ _globals['_WEBHOOKSERVICE']._serialized_end=7569
151
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,336 @@
1
+ from buf.validate import validate_pb2 as _validate_pb2
2
+ from google.protobuf import timestamp_pb2 as _timestamp_pb2
3
+ from transcodely.v1 import common_pb2 as _common_pb2
4
+ from google.protobuf.internal import containers as _containers
5
+ from google.protobuf import descriptor as _descriptor
6
+ from google.protobuf import message as _message
7
+ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union
8
+
9
+ DESCRIPTOR: _descriptor.FileDescriptor
10
+
11
+ class WebhookEndpoint(_message.Message):
12
+ __slots__ = ("id", "app_id", "url", "description", "enabled_events", "status", "api_version", "metadata", "created_at", "updated_at", "secret", "disabled_reason", "last_rotated_at", "previous_secret_expires_at")
13
+ class MetadataEntry(_message.Message):
14
+ __slots__ = ("key", "value")
15
+ KEY_FIELD_NUMBER: _ClassVar[int]
16
+ VALUE_FIELD_NUMBER: _ClassVar[int]
17
+ key: str
18
+ value: str
19
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
20
+ ID_FIELD_NUMBER: _ClassVar[int]
21
+ APP_ID_FIELD_NUMBER: _ClassVar[int]
22
+ URL_FIELD_NUMBER: _ClassVar[int]
23
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
24
+ ENABLED_EVENTS_FIELD_NUMBER: _ClassVar[int]
25
+ STATUS_FIELD_NUMBER: _ClassVar[int]
26
+ API_VERSION_FIELD_NUMBER: _ClassVar[int]
27
+ METADATA_FIELD_NUMBER: _ClassVar[int]
28
+ CREATED_AT_FIELD_NUMBER: _ClassVar[int]
29
+ UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
30
+ SECRET_FIELD_NUMBER: _ClassVar[int]
31
+ DISABLED_REASON_FIELD_NUMBER: _ClassVar[int]
32
+ LAST_ROTATED_AT_FIELD_NUMBER: _ClassVar[int]
33
+ PREVIOUS_SECRET_EXPIRES_AT_FIELD_NUMBER: _ClassVar[int]
34
+ id: str
35
+ app_id: str
36
+ url: str
37
+ description: str
38
+ enabled_events: _containers.RepeatedScalarFieldContainer[str]
39
+ status: str
40
+ api_version: str
41
+ metadata: _containers.ScalarMap[str, str]
42
+ created_at: _timestamp_pb2.Timestamp
43
+ updated_at: _timestamp_pb2.Timestamp
44
+ secret: str
45
+ disabled_reason: str
46
+ last_rotated_at: _timestamp_pb2.Timestamp
47
+ previous_secret_expires_at: _timestamp_pb2.Timestamp
48
+ def __init__(self, id: _Optional[str] = ..., app_id: _Optional[str] = ..., url: _Optional[str] = ..., description: _Optional[str] = ..., enabled_events: _Optional[_Iterable[str]] = ..., status: _Optional[str] = ..., api_version: _Optional[str] = ..., metadata: _Optional[_Mapping[str, str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., secret: _Optional[str] = ..., disabled_reason: _Optional[str] = ..., last_rotated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., previous_secret_expires_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
49
+
50
+ class Event(_message.Message):
51
+ __slots__ = ("id", "app_id", "type", "data", "request_id", "pending_webhooks", "created_at", "api_version", "object")
52
+ ID_FIELD_NUMBER: _ClassVar[int]
53
+ APP_ID_FIELD_NUMBER: _ClassVar[int]
54
+ TYPE_FIELD_NUMBER: _ClassVar[int]
55
+ DATA_FIELD_NUMBER: _ClassVar[int]
56
+ REQUEST_ID_FIELD_NUMBER: _ClassVar[int]
57
+ PENDING_WEBHOOKS_FIELD_NUMBER: _ClassVar[int]
58
+ CREATED_AT_FIELD_NUMBER: _ClassVar[int]
59
+ API_VERSION_FIELD_NUMBER: _ClassVar[int]
60
+ OBJECT_FIELD_NUMBER: _ClassVar[int]
61
+ id: str
62
+ app_id: str
63
+ type: str
64
+ data: str
65
+ request_id: str
66
+ pending_webhooks: int
67
+ created_at: _timestamp_pb2.Timestamp
68
+ api_version: str
69
+ object: str
70
+ def __init__(self, id: _Optional[str] = ..., app_id: _Optional[str] = ..., type: _Optional[str] = ..., data: _Optional[str] = ..., request_id: _Optional[str] = ..., pending_webhooks: _Optional[int] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., api_version: _Optional[str] = ..., object: _Optional[str] = ...) -> None: ...
71
+
72
+ class WebhookDelivery(_message.Message):
73
+ __slots__ = ("id", "webhook_endpoint_id", "event_id", "status", "attempt", "response_status", "response_body", "next_attempt_at", "created_at", "updated_at", "latency_ms", "transport_error", "response_headers", "error_message")
74
+ ID_FIELD_NUMBER: _ClassVar[int]
75
+ WEBHOOK_ENDPOINT_ID_FIELD_NUMBER: _ClassVar[int]
76
+ EVENT_ID_FIELD_NUMBER: _ClassVar[int]
77
+ STATUS_FIELD_NUMBER: _ClassVar[int]
78
+ ATTEMPT_FIELD_NUMBER: _ClassVar[int]
79
+ RESPONSE_STATUS_FIELD_NUMBER: _ClassVar[int]
80
+ RESPONSE_BODY_FIELD_NUMBER: _ClassVar[int]
81
+ NEXT_ATTEMPT_AT_FIELD_NUMBER: _ClassVar[int]
82
+ CREATED_AT_FIELD_NUMBER: _ClassVar[int]
83
+ UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
84
+ LATENCY_MS_FIELD_NUMBER: _ClassVar[int]
85
+ TRANSPORT_ERROR_FIELD_NUMBER: _ClassVar[int]
86
+ RESPONSE_HEADERS_FIELD_NUMBER: _ClassVar[int]
87
+ ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int]
88
+ id: str
89
+ webhook_endpoint_id: str
90
+ event_id: str
91
+ status: str
92
+ attempt: int
93
+ response_status: int
94
+ response_body: str
95
+ next_attempt_at: _timestamp_pb2.Timestamp
96
+ created_at: _timestamp_pb2.Timestamp
97
+ updated_at: _timestamp_pb2.Timestamp
98
+ latency_ms: int
99
+ transport_error: str
100
+ response_headers: str
101
+ error_message: str
102
+ def __init__(self, id: _Optional[str] = ..., webhook_endpoint_id: _Optional[str] = ..., event_id: _Optional[str] = ..., status: _Optional[str] = ..., attempt: _Optional[int] = ..., response_status: _Optional[int] = ..., response_body: _Optional[str] = ..., next_attempt_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., latency_ms: _Optional[int] = ..., transport_error: _Optional[str] = ..., response_headers: _Optional[str] = ..., error_message: _Optional[str] = ...) -> None: ...
103
+
104
+ class CreateWebhookEndpointRequest(_message.Message):
105
+ __slots__ = ("app_id", "url", "description", "enabled_events", "api_version", "metadata")
106
+ class MetadataEntry(_message.Message):
107
+ __slots__ = ("key", "value")
108
+ KEY_FIELD_NUMBER: _ClassVar[int]
109
+ VALUE_FIELD_NUMBER: _ClassVar[int]
110
+ key: str
111
+ value: str
112
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
113
+ APP_ID_FIELD_NUMBER: _ClassVar[int]
114
+ URL_FIELD_NUMBER: _ClassVar[int]
115
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
116
+ ENABLED_EVENTS_FIELD_NUMBER: _ClassVar[int]
117
+ API_VERSION_FIELD_NUMBER: _ClassVar[int]
118
+ METADATA_FIELD_NUMBER: _ClassVar[int]
119
+ app_id: str
120
+ url: str
121
+ description: str
122
+ enabled_events: _containers.RepeatedScalarFieldContainer[str]
123
+ api_version: str
124
+ metadata: _containers.ScalarMap[str, str]
125
+ def __init__(self, app_id: _Optional[str] = ..., url: _Optional[str] = ..., description: _Optional[str] = ..., enabled_events: _Optional[_Iterable[str]] = ..., api_version: _Optional[str] = ..., metadata: _Optional[_Mapping[str, str]] = ...) -> None: ...
126
+
127
+ class CreateWebhookEndpointResponse(_message.Message):
128
+ __slots__ = ("endpoint",)
129
+ ENDPOINT_FIELD_NUMBER: _ClassVar[int]
130
+ endpoint: WebhookEndpoint
131
+ def __init__(self, endpoint: _Optional[_Union[WebhookEndpoint, _Mapping]] = ...) -> None: ...
132
+
133
+ class RetrieveWebhookEndpointRequest(_message.Message):
134
+ __slots__ = ("id",)
135
+ ID_FIELD_NUMBER: _ClassVar[int]
136
+ id: str
137
+ def __init__(self, id: _Optional[str] = ...) -> None: ...
138
+
139
+ class RetrieveWebhookEndpointResponse(_message.Message):
140
+ __slots__ = ("endpoint",)
141
+ ENDPOINT_FIELD_NUMBER: _ClassVar[int]
142
+ endpoint: WebhookEndpoint
143
+ def __init__(self, endpoint: _Optional[_Union[WebhookEndpoint, _Mapping]] = ...) -> None: ...
144
+
145
+ class UpdateWebhookEndpointRequest(_message.Message):
146
+ __slots__ = ("id", "url", "description", "enabled_events", "status", "metadata")
147
+ class MetadataEntry(_message.Message):
148
+ __slots__ = ("key", "value")
149
+ KEY_FIELD_NUMBER: _ClassVar[int]
150
+ VALUE_FIELD_NUMBER: _ClassVar[int]
151
+ key: str
152
+ value: str
153
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
154
+ ID_FIELD_NUMBER: _ClassVar[int]
155
+ URL_FIELD_NUMBER: _ClassVar[int]
156
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
157
+ ENABLED_EVENTS_FIELD_NUMBER: _ClassVar[int]
158
+ STATUS_FIELD_NUMBER: _ClassVar[int]
159
+ METADATA_FIELD_NUMBER: _ClassVar[int]
160
+ id: str
161
+ url: str
162
+ description: str
163
+ enabled_events: _containers.RepeatedScalarFieldContainer[str]
164
+ status: str
165
+ metadata: _containers.ScalarMap[str, str]
166
+ def __init__(self, id: _Optional[str] = ..., url: _Optional[str] = ..., description: _Optional[str] = ..., enabled_events: _Optional[_Iterable[str]] = ..., status: _Optional[str] = ..., metadata: _Optional[_Mapping[str, str]] = ...) -> None: ...
167
+
168
+ class UpdateWebhookEndpointResponse(_message.Message):
169
+ __slots__ = ("endpoint",)
170
+ ENDPOINT_FIELD_NUMBER: _ClassVar[int]
171
+ endpoint: WebhookEndpoint
172
+ def __init__(self, endpoint: _Optional[_Union[WebhookEndpoint, _Mapping]] = ...) -> None: ...
173
+
174
+ class DeleteWebhookEndpointRequest(_message.Message):
175
+ __slots__ = ("id",)
176
+ ID_FIELD_NUMBER: _ClassVar[int]
177
+ id: str
178
+ def __init__(self, id: _Optional[str] = ...) -> None: ...
179
+
180
+ class DeleteWebhookEndpointResponse(_message.Message):
181
+ __slots__ = ()
182
+ def __init__(self) -> None: ...
183
+
184
+ class ListWebhookEndpointsRequest(_message.Message):
185
+ __slots__ = ("app_id", "pagination")
186
+ APP_ID_FIELD_NUMBER: _ClassVar[int]
187
+ PAGINATION_FIELD_NUMBER: _ClassVar[int]
188
+ app_id: str
189
+ pagination: _common_pb2.PaginationRequest
190
+ def __init__(self, app_id: _Optional[str] = ..., pagination: _Optional[_Union[_common_pb2.PaginationRequest, _Mapping]] = ...) -> None: ...
191
+
192
+ class ListWebhookEndpointsResponse(_message.Message):
193
+ __slots__ = ("endpoints", "pagination")
194
+ ENDPOINTS_FIELD_NUMBER: _ClassVar[int]
195
+ PAGINATION_FIELD_NUMBER: _ClassVar[int]
196
+ endpoints: _containers.RepeatedCompositeFieldContainer[WebhookEndpoint]
197
+ pagination: _common_pb2.PaginationResponse
198
+ def __init__(self, endpoints: _Optional[_Iterable[_Union[WebhookEndpoint, _Mapping]]] = ..., pagination: _Optional[_Union[_common_pb2.PaginationResponse, _Mapping]] = ...) -> None: ...
199
+
200
+ class RotateWebhookSecretRequest(_message.Message):
201
+ __slots__ = ("id",)
202
+ ID_FIELD_NUMBER: _ClassVar[int]
203
+ id: str
204
+ def __init__(self, id: _Optional[str] = ...) -> None: ...
205
+
206
+ class RotateWebhookSecretResponse(_message.Message):
207
+ __slots__ = ("endpoint",)
208
+ ENDPOINT_FIELD_NUMBER: _ClassVar[int]
209
+ endpoint: WebhookEndpoint
210
+ def __init__(self, endpoint: _Optional[_Union[WebhookEndpoint, _Mapping]] = ...) -> None: ...
211
+
212
+ class ListEventsRequest(_message.Message):
213
+ __slots__ = ("app_id", "type", "created_after", "created_before", "pagination")
214
+ APP_ID_FIELD_NUMBER: _ClassVar[int]
215
+ TYPE_FIELD_NUMBER: _ClassVar[int]
216
+ CREATED_AFTER_FIELD_NUMBER: _ClassVar[int]
217
+ CREATED_BEFORE_FIELD_NUMBER: _ClassVar[int]
218
+ PAGINATION_FIELD_NUMBER: _ClassVar[int]
219
+ app_id: str
220
+ type: str
221
+ created_after: _timestamp_pb2.Timestamp
222
+ created_before: _timestamp_pb2.Timestamp
223
+ pagination: _common_pb2.PaginationRequest
224
+ def __init__(self, app_id: _Optional[str] = ..., type: _Optional[str] = ..., created_after: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., created_before: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., pagination: _Optional[_Union[_common_pb2.PaginationRequest, _Mapping]] = ...) -> None: ...
225
+
226
+ class ListEventsResponse(_message.Message):
227
+ __slots__ = ("events", "pagination")
228
+ EVENTS_FIELD_NUMBER: _ClassVar[int]
229
+ PAGINATION_FIELD_NUMBER: _ClassVar[int]
230
+ events: _containers.RepeatedCompositeFieldContainer[Event]
231
+ pagination: _common_pb2.PaginationResponse
232
+ def __init__(self, events: _Optional[_Iterable[_Union[Event, _Mapping]]] = ..., pagination: _Optional[_Union[_common_pb2.PaginationResponse, _Mapping]] = ...) -> None: ...
233
+
234
+ class RetrieveEventRequest(_message.Message):
235
+ __slots__ = ("id",)
236
+ ID_FIELD_NUMBER: _ClassVar[int]
237
+ id: str
238
+ def __init__(self, id: _Optional[str] = ...) -> None: ...
239
+
240
+ class RetrieveEventResponse(_message.Message):
241
+ __slots__ = ("event",)
242
+ EVENT_FIELD_NUMBER: _ClassVar[int]
243
+ event: Event
244
+ def __init__(self, event: _Optional[_Union[Event, _Mapping]] = ...) -> None: ...
245
+
246
+ class ResendEventRequest(_message.Message):
247
+ __slots__ = ("id", "endpoint_ids")
248
+ ID_FIELD_NUMBER: _ClassVar[int]
249
+ ENDPOINT_IDS_FIELD_NUMBER: _ClassVar[int]
250
+ id: str
251
+ endpoint_ids: _containers.RepeatedScalarFieldContainer[str]
252
+ def __init__(self, id: _Optional[str] = ..., endpoint_ids: _Optional[_Iterable[str]] = ...) -> None: ...
253
+
254
+ class ResendEventResponse(_message.Message):
255
+ __slots__ = ("deliveries",)
256
+ DELIVERIES_FIELD_NUMBER: _ClassVar[int]
257
+ deliveries: _containers.RepeatedCompositeFieldContainer[WebhookDelivery]
258
+ def __init__(self, deliveries: _Optional[_Iterable[_Union[WebhookDelivery, _Mapping]]] = ...) -> None: ...
259
+
260
+ class SendTestWebhookRequest(_message.Message):
261
+ __slots__ = ("endpoint_id", "event_type")
262
+ ENDPOINT_ID_FIELD_NUMBER: _ClassVar[int]
263
+ EVENT_TYPE_FIELD_NUMBER: _ClassVar[int]
264
+ endpoint_id: str
265
+ event_type: str
266
+ def __init__(self, endpoint_id: _Optional[str] = ..., event_type: _Optional[str] = ...) -> None: ...
267
+
268
+ class SendTestWebhookResponse(_message.Message):
269
+ __slots__ = ("delivery",)
270
+ DELIVERY_FIELD_NUMBER: _ClassVar[int]
271
+ delivery: WebhookDelivery
272
+ def __init__(self, delivery: _Optional[_Union[WebhookDelivery, _Mapping]] = ...) -> None: ...
273
+
274
+ class ListWebhookDeliveriesRequest(_message.Message):
275
+ __slots__ = ("endpoint_id", "event_id", "status", "pagination")
276
+ ENDPOINT_ID_FIELD_NUMBER: _ClassVar[int]
277
+ EVENT_ID_FIELD_NUMBER: _ClassVar[int]
278
+ STATUS_FIELD_NUMBER: _ClassVar[int]
279
+ PAGINATION_FIELD_NUMBER: _ClassVar[int]
280
+ endpoint_id: str
281
+ event_id: str
282
+ status: str
283
+ pagination: _common_pb2.PaginationRequest
284
+ def __init__(self, endpoint_id: _Optional[str] = ..., event_id: _Optional[str] = ..., status: _Optional[str] = ..., pagination: _Optional[_Union[_common_pb2.PaginationRequest, _Mapping]] = ...) -> None: ...
285
+
286
+ class ListWebhookDeliveriesResponse(_message.Message):
287
+ __slots__ = ("deliveries", "pagination")
288
+ DELIVERIES_FIELD_NUMBER: _ClassVar[int]
289
+ PAGINATION_FIELD_NUMBER: _ClassVar[int]
290
+ deliveries: _containers.RepeatedCompositeFieldContainer[WebhookDelivery]
291
+ pagination: _common_pb2.PaginationResponse
292
+ def __init__(self, deliveries: _Optional[_Iterable[_Union[WebhookDelivery, _Mapping]]] = ..., pagination: _Optional[_Union[_common_pb2.PaginationResponse, _Mapping]] = ...) -> None: ...
293
+
294
+ class GetEndpointHealthRequest(_message.Message):
295
+ __slots__ = ("endpoint_id", "window")
296
+ ENDPOINT_ID_FIELD_NUMBER: _ClassVar[int]
297
+ WINDOW_FIELD_NUMBER: _ClassVar[int]
298
+ endpoint_id: str
299
+ window: str
300
+ def __init__(self, endpoint_id: _Optional[str] = ..., window: _Optional[str] = ...) -> None: ...
301
+
302
+ class GetEndpointHealthResponse(_message.Message):
303
+ __slots__ = ("window", "total_attempts", "succeeded", "failed", "pending", "success_rate", "p50_latency_ms", "p95_latency_ms", "buckets")
304
+ WINDOW_FIELD_NUMBER: _ClassVar[int]
305
+ TOTAL_ATTEMPTS_FIELD_NUMBER: _ClassVar[int]
306
+ SUCCEEDED_FIELD_NUMBER: _ClassVar[int]
307
+ FAILED_FIELD_NUMBER: _ClassVar[int]
308
+ PENDING_FIELD_NUMBER: _ClassVar[int]
309
+ SUCCESS_RATE_FIELD_NUMBER: _ClassVar[int]
310
+ P50_LATENCY_MS_FIELD_NUMBER: _ClassVar[int]
311
+ P95_LATENCY_MS_FIELD_NUMBER: _ClassVar[int]
312
+ BUCKETS_FIELD_NUMBER: _ClassVar[int]
313
+ window: str
314
+ total_attempts: int
315
+ succeeded: int
316
+ failed: int
317
+ pending: int
318
+ success_rate: float
319
+ p50_latency_ms: int
320
+ p95_latency_ms: int
321
+ buckets: _containers.RepeatedCompositeFieldContainer[HealthBucket]
322
+ def __init__(self, window: _Optional[str] = ..., total_attempts: _Optional[int] = ..., succeeded: _Optional[int] = ..., failed: _Optional[int] = ..., pending: _Optional[int] = ..., success_rate: _Optional[float] = ..., p50_latency_ms: _Optional[int] = ..., p95_latency_ms: _Optional[int] = ..., buckets: _Optional[_Iterable[_Union[HealthBucket, _Mapping]]] = ...) -> None: ...
323
+
324
+ class HealthBucket(_message.Message):
325
+ __slots__ = ("bucket_start", "attempts", "succeeded", "failed", "pending")
326
+ BUCKET_START_FIELD_NUMBER: _ClassVar[int]
327
+ ATTEMPTS_FIELD_NUMBER: _ClassVar[int]
328
+ SUCCEEDED_FIELD_NUMBER: _ClassVar[int]
329
+ FAILED_FIELD_NUMBER: _ClassVar[int]
330
+ PENDING_FIELD_NUMBER: _ClassVar[int]
331
+ bucket_start: _timestamp_pb2.Timestamp
332
+ attempts: int
333
+ succeeded: int
334
+ failed: int
335
+ pending: int
336
+ def __init__(self, bucket_start: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., attempts: _Optional[int] = ..., succeeded: _Optional[int] = ..., failed: _Optional[int] = ..., pending: _Optional[int] = ...) -> None: ...
transcodely/version.py ADDED
@@ -0,0 +1,11 @@
1
+ """Version constants exposed at the top of the package."""
2
+
3
+ #: SDK package version. Bumped by release-please from pyproject.toml.
4
+ SDK_VERSION = "0.2.0" # x-release-please-version
5
+
6
+ #: Calendar-versioned API this release pins. Sent on every request as
7
+ #: `Transcodely-Version`. Override per-client via ``api_version=``.
8
+ API_VERSION = "2026-05-03"
9
+
10
+ #: Default base URL for the production Transcodely API.
11
+ DEFAULT_BASE_URL = "https://api.transcodely.com"
@@ -0,0 +1,44 @@
1
+ """Public webhook surface.
2
+
3
+ The canonical entry point is the module-level :func:`construct_event` (also
4
+ re-exported from the top-level ``transcodely`` package). The :class:`Webhooks`
5
+ facade mirrors the TypeScript SDK so customer code can also read
6
+ ``client.webhooks.construct_event(...)``.
7
+ """
8
+
9
+ from __future__ import annotations
10
+
11
+ from .construct_event import construct_event
12
+ from .signature import (
13
+ DEFAULT_TOLERANCE_SECONDS,
14
+ EVENT_ID_HEADER,
15
+ SIGNATURE_HEADER,
16
+ verify_signature,
17
+ )
18
+ from .types import Event, EventRequest, EventType, WebhookEvent
19
+
20
+
21
+ class Webhooks:
22
+ """Stripe-style facade exposing the webhook verify helpers.
23
+
24
+ Used as ``client.webhooks.construct_event(...)``. The verify helpers are
25
+ pure functions (no transport needed); webhook errors are imported from
26
+ ``transcodely`` / ``transcodely.errors`` like every other SDK exception.
27
+ """
28
+
29
+ construct_event = staticmethod(construct_event)
30
+ verify_signature = staticmethod(verify_signature)
31
+
32
+
33
+ __all__ = [
34
+ "DEFAULT_TOLERANCE_SECONDS",
35
+ "EVENT_ID_HEADER",
36
+ "SIGNATURE_HEADER",
37
+ "Event",
38
+ "EventRequest",
39
+ "EventType",
40
+ "WebhookEvent",
41
+ "Webhooks",
42
+ "construct_event",
43
+ "verify_signature",
44
+ ]