transcodely 0.3.6__py3-none-any.whl → 0.3.8__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.
- transcodely/__init__.py +10 -0
- transcodely/resources/billing.py +179 -3
- transcodely/types.py +71 -0
- transcodely/v1/app_pb2.py +64 -46
- transcodely/v1/app_pb2.pyi +36 -2
- transcodely/v1/billing_pb2.py +63 -19
- transcodely/v1/billing_pb2.pyi +225 -0
- transcodely/v1/common_pb2.py +7 -1
- transcodely/v1/common_pb2.pyi +43 -0
- transcodely/v1/job_pb2.py +75 -71
- transcodely/v1/organization_pb2.py +26 -26
- transcodely/v1/organization_pb2.pyi +22 -2
- transcodely/v1/streaming_pb2.py +9 -9
- transcodely/v1/subtitles_pb2.py +15 -15
- transcodely/v1/video_pb2.py +86 -86
- transcodely/v1/video_pb2.pyi +6 -2
- transcodely/version.py +1 -1
- {transcodely-0.3.6.dist-info → transcodely-0.3.8.dist-info}/METADATA +53 -2
- {transcodely-0.3.6.dist-info → transcodely-0.3.8.dist-info}/RECORD +21 -21
- {transcodely-0.3.6.dist-info → transcodely-0.3.8.dist-info}/WHEEL +1 -1
- {transcodely-0.3.6.dist-info → transcodely-0.3.8.dist-info}/licenses/LICENSE +0 -0
transcodely/__init__.py
CHANGED
|
@@ -55,6 +55,10 @@ from .types import (
|
|
|
55
55
|
App,
|
|
56
56
|
AudioTrackConfig,
|
|
57
57
|
AutoABRConfig,
|
|
58
|
+
BillingPaymentMethod,
|
|
59
|
+
BillingPortalSession,
|
|
60
|
+
BillingProfile,
|
|
61
|
+
BillingStanding,
|
|
58
62
|
ChapterPoint,
|
|
59
63
|
ChapterResult,
|
|
60
64
|
ClipConfig,
|
|
@@ -77,6 +81,7 @@ from .types import (
|
|
|
77
81
|
OutputFormat,
|
|
78
82
|
OutputSpec,
|
|
79
83
|
OutputStatus,
|
|
84
|
+
PaymentMethodState,
|
|
80
85
|
Preset,
|
|
81
86
|
PresetVariant,
|
|
82
87
|
Resolution,
|
|
@@ -127,6 +132,10 @@ __all__ = [
|
|
|
127
132
|
"AudioTrackConfig",
|
|
128
133
|
"AuthenticationError",
|
|
129
134
|
"AutoABRConfig",
|
|
135
|
+
"BillingPaymentMethod",
|
|
136
|
+
"BillingPortalSession",
|
|
137
|
+
"BillingProfile",
|
|
138
|
+
"BillingStanding",
|
|
130
139
|
"ChapterPoint",
|
|
131
140
|
"ChapterResult",
|
|
132
141
|
"ClipConfig",
|
|
@@ -158,6 +167,7 @@ __all__ = [
|
|
|
158
167
|
"OutputStatus",
|
|
159
168
|
"Page",
|
|
160
169
|
"PageContents",
|
|
170
|
+
"PaymentMethodState",
|
|
161
171
|
"PermissionError",
|
|
162
172
|
"PreconditionError",
|
|
163
173
|
"Preset",
|
transcodely/resources/billing.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"""Billing resource — an organization's invoices,
|
|
1
|
+
"""Billing resource — an organization's invoices, budget and outstanding balance."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
@@ -25,10 +25,13 @@ class Billing:
|
|
|
25
25
|
upcoming = client.billing.retrieve_upcoming()
|
|
26
26
|
|
|
27
27
|
Invoices are generated automatically when a period closes. There is no API
|
|
28
|
-
to create, edit, or delete one — a statement records what happened.
|
|
28
|
+
to create, edit, or delete one — a statement records what happened. The one
|
|
29
|
+
exception is :meth:`settle_outstanding_balance`, which closes the period
|
|
30
|
+
early and produces an ordinary statement for what is owed so far.
|
|
29
31
|
|
|
30
32
|
Monetary amounts are integer minor units (cents) of the invoice currency:
|
|
31
|
-
``total_cents == 1250`` in EUR is 12.50 EUR.
|
|
33
|
+
``total_cents == 1250`` in EUR is 12.50 EUR. The budget is the exception —
|
|
34
|
+
it is stated in whole EUR as a float, matching how a customer types it.
|
|
32
35
|
"""
|
|
33
36
|
|
|
34
37
|
def __init__(self, transport: Transport) -> None:
|
|
@@ -88,3 +91,176 @@ class Billing:
|
|
|
88
91
|
billing_pb2.GetUpcomingInvoiceResponse(),
|
|
89
92
|
opts,
|
|
90
93
|
).invoice
|
|
94
|
+
|
|
95
|
+
def retrieve_profile(self, opts: CallOptions | None = None) -> billing_pb2.BillingProfile:
|
|
96
|
+
"""Retrieve the organization's payment standing.
|
|
97
|
+
|
|
98
|
+
Reports whether the payment provider holds a chargeable method, and
|
|
99
|
+
whatever it will say about that method for display. Read-only and
|
|
100
|
+
side-effect free — it never creates provider resources. An organization
|
|
101
|
+
that has never touched billing reports ``PAYMENT_METHOD_STATE_NONE``
|
|
102
|
+
and no payment methods.
|
|
103
|
+
|
|
104
|
+
``payment_method_state`` is the only reliable signal. A method's
|
|
105
|
+
``brand`` and ``last4`` are frequently absent even for a working card,
|
|
106
|
+
because the provider does not always expose card metadata; render such
|
|
107
|
+
a method as "Card on file" rather than treating the missing digits as
|
|
108
|
+
an error.
|
|
109
|
+
"""
|
|
110
|
+
req = billing_pb2.GetBillingProfileRequest()
|
|
111
|
+
return self._t.unary(
|
|
112
|
+
_SERVICE,
|
|
113
|
+
"GetBillingProfile",
|
|
114
|
+
req,
|
|
115
|
+
billing_pb2.GetBillingProfileResponse(),
|
|
116
|
+
opts,
|
|
117
|
+
).profile
|
|
118
|
+
|
|
119
|
+
def retrieve_budget(self, opts: CallOptions | None = None) -> billing_pb2.Budget:
|
|
120
|
+
"""Retrieve the organization's monthly budget and the spend against it.
|
|
121
|
+
|
|
122
|
+
A budget is the organization's own telemetry and it NEVER enforces
|
|
123
|
+
anything: crossing 100% sends an email and changes nothing else. The
|
|
124
|
+
hard cap is the per-app spend limit
|
|
125
|
+
(:meth:`~transcodely.resources.apps.Apps.set_spend_limit`), which does
|
|
126
|
+
refuse new jobs. Limits block; budgets notify.
|
|
127
|
+
|
|
128
|
+
Always returns a budget: an organization that has never set one gets
|
|
129
|
+
``amount_eur`` absent with ``spent_eur`` still populated, so the current
|
|
130
|
+
period's spend can be shown before a budget exists.
|
|
131
|
+
"""
|
|
132
|
+
req = billing_pb2.GetBudgetRequest()
|
|
133
|
+
return self._t.unary(
|
|
134
|
+
_SERVICE,
|
|
135
|
+
"GetBudget",
|
|
136
|
+
req,
|
|
137
|
+
billing_pb2.GetBudgetResponse(),
|
|
138
|
+
opts,
|
|
139
|
+
).budget
|
|
140
|
+
|
|
141
|
+
def update_budget(
|
|
142
|
+
self,
|
|
143
|
+
amount_eur: float | None = None,
|
|
144
|
+
opts: CallOptions | None = None,
|
|
145
|
+
) -> billing_pb2.Budget:
|
|
146
|
+
"""Set or clear the organization's monthly budget.
|
|
147
|
+
|
|
148
|
+
Pass ``amount_eur`` (must be > 0) to set the budget, or leave it
|
|
149
|
+
``None`` to clear it and stop the alert emails. :meth:`set_budget` and
|
|
150
|
+
:meth:`clear_budget` are the ergonomic shorthands.
|
|
151
|
+
|
|
152
|
+
Moving the amount never re-arms an alert step already sent this period —
|
|
153
|
+
read ``notified_steps`` on the returned budget to see which have fired.
|
|
154
|
+
"""
|
|
155
|
+
req = billing_pb2.UpdateBudgetRequest()
|
|
156
|
+
if amount_eur is not None:
|
|
157
|
+
# Setting the optional field marks presence; leaving it unset omits
|
|
158
|
+
# it from the request, which the server reads as "clear the budget".
|
|
159
|
+
req.amount_eur = amount_eur
|
|
160
|
+
return self._t.unary(
|
|
161
|
+
_SERVICE,
|
|
162
|
+
"UpdateBudget",
|
|
163
|
+
req,
|
|
164
|
+
billing_pb2.UpdateBudgetResponse(),
|
|
165
|
+
opts,
|
|
166
|
+
).budget
|
|
167
|
+
|
|
168
|
+
def set_budget(self, amount_eur: float, opts: CallOptions | None = None) -> billing_pb2.Budget:
|
|
169
|
+
"""Set the organization's monthly budget in EUR (must be > 0).
|
|
170
|
+
|
|
171
|
+
Alert emails go out as spend crosses each step in ``alert_steps`` (50%,
|
|
172
|
+
80% and 100% today). Nothing is restricted at any of them.
|
|
173
|
+
"""
|
|
174
|
+
return self.update_budget(amount_eur, opts)
|
|
175
|
+
|
|
176
|
+
def clear_budget(self, opts: CallOptions | None = None) -> billing_pb2.Budget:
|
|
177
|
+
"""Clear the monthly budget, turning the alert emails off (the default)."""
|
|
178
|
+
return self.update_budget(None, opts)
|
|
179
|
+
|
|
180
|
+
def retrieve_outstanding_balance(
|
|
181
|
+
self, opts: CallOptions | None = None
|
|
182
|
+
) -> billing_pb2.OutstandingBalance:
|
|
183
|
+
"""Retrieve the unsettled balance and the threshold it is measured against.
|
|
184
|
+
|
|
185
|
+
Usage that has been accrued and not yet captured onto a statement,
|
|
186
|
+
across every app in the organization. It is a different number from
|
|
187
|
+
:meth:`retrieve_upcoming` (which is what the *current period* accrued,
|
|
188
|
+
while this also carries anything an earlier period left uncaptured) and
|
|
189
|
+
from ``Budget.spent_eur`` (which keeps counting after an invoice is
|
|
190
|
+
issued, while this drops to zero when one is).
|
|
191
|
+
|
|
192
|
+
Reminder emails go out at 80%, 100%, 125%, 150% and 175% of
|
|
193
|
+
``threshold_cents`` and restrict nothing. Only at ``hard_stop_cents`` —
|
|
194
|
+
twice the threshold — are new jobs refused, with error code
|
|
195
|
+
``outstanding_balance_exceeded``; work already queued or running still
|
|
196
|
+
finishes and videos keep playing. ``blocked`` reads the same numbers the
|
|
197
|
+
admission gate reads.
|
|
198
|
+
|
|
199
|
+
Always returns a balance: an organization that owes nothing gets one
|
|
200
|
+
with ``outstanding_cents`` 0 and its threshold still populated.
|
|
201
|
+
"""
|
|
202
|
+
req = billing_pb2.GetOutstandingBalanceRequest()
|
|
203
|
+
return self._t.unary(
|
|
204
|
+
_SERVICE,
|
|
205
|
+
"GetOutstandingBalance",
|
|
206
|
+
req,
|
|
207
|
+
billing_pb2.GetOutstandingBalanceResponse(),
|
|
208
|
+
opts,
|
|
209
|
+
).balance
|
|
210
|
+
|
|
211
|
+
def settle_outstanding_balance(
|
|
212
|
+
self, opts: CallOptions | None = None
|
|
213
|
+
) -> billing_pb2.SettleOutstandingBalanceResponse:
|
|
214
|
+
"""Pay the outstanding balance now, without waiting for the period to end.
|
|
215
|
+
|
|
216
|
+
Closes the current period at this instant and produces a real statement
|
|
217
|
+
for everything owed, which the payment provider then charges. On success
|
|
218
|
+
the balance is zero, any admission block is lifted immediately, and the
|
|
219
|
+
trust tier re-evaluates once the statement is paid.
|
|
220
|
+
|
|
221
|
+
Takes no amount on purpose: the figure is whatever the ledger says at
|
|
222
|
+
the instant the settlement runs, so a stale page cannot pay less than is
|
|
223
|
+
owed and leave the difference looking settled.
|
|
224
|
+
|
|
225
|
+
Returns both the :class:`~transcodely.types.Settlement` and the balance
|
|
226
|
+
as it now stands, so a caller that just paid can render the new state
|
|
227
|
+
without a second request.
|
|
228
|
+
|
|
229
|
+
Raises :class:`~transcodely.errors.PreconditionError` with code
|
|
230
|
+
``settlement_unavailable`` when the deployment has mid-cycle settlement
|
|
231
|
+
switched off — check ``settlement_available`` on the balance before
|
|
232
|
+
offering a "pay now" action — and ``nothing_outstanding`` when there is
|
|
233
|
+
nothing to pay.
|
|
234
|
+
"""
|
|
235
|
+
req = billing_pb2.SettleOutstandingBalanceRequest()
|
|
236
|
+
return self._t.unary(
|
|
237
|
+
_SERVICE,
|
|
238
|
+
"SettleOutstandingBalance",
|
|
239
|
+
req,
|
|
240
|
+
billing_pb2.SettleOutstandingBalanceResponse(),
|
|
241
|
+
opts,
|
|
242
|
+
)
|
|
243
|
+
|
|
244
|
+
def create_portal_session(
|
|
245
|
+
self, opts: CallOptions | None = None
|
|
246
|
+
) -> billing_pb2.BillingPortalSession:
|
|
247
|
+
"""Create a session for the payment provider's hosted billing portal.
|
|
248
|
+
|
|
249
|
+
The portal is where a payment method is added or replaced and where
|
|
250
|
+
receipts live — card details never touch this SDK.
|
|
251
|
+
|
|
252
|
+
The first call for an organization also links it to the payment
|
|
253
|
+
provider, so the returned portal is already attached to this
|
|
254
|
+
organization's billing account. Safe to call repeatedly.
|
|
255
|
+
|
|
256
|
+
The session is single-use and expires; request a fresh one per visit
|
|
257
|
+
rather than storing the URL.
|
|
258
|
+
"""
|
|
259
|
+
req = billing_pb2.CreateBillingPortalSessionRequest()
|
|
260
|
+
return self._t.unary(
|
|
261
|
+
_SERVICE,
|
|
262
|
+
"CreateBillingPortalSession",
|
|
263
|
+
req,
|
|
264
|
+
billing_pb2.CreateBillingPortalSessionResponse(),
|
|
265
|
+
opts,
|
|
266
|
+
).session
|
transcodely/types.py
CHANGED
|
@@ -61,9 +61,34 @@ from transcodely.v1.app_pb2 import (
|
|
|
61
61
|
# token for an organization owner plus ``organization_id`` — an API key is
|
|
62
62
|
# scoped to one app, while an invoice settles a whole organization, so API keys
|
|
63
63
|
# are rejected.
|
|
64
|
+
#
|
|
65
|
+
# ``BillingProfile`` reports whether the payment provider holds a chargeable
|
|
66
|
+
# method; a portal session is the only place a card is added or replaced, so
|
|
67
|
+
# card details never reach this SDK. Branch on ``PaymentMethodState``, not on
|
|
68
|
+
# the card fields — ``brand`` and ``last4`` are frequently absent even for a
|
|
69
|
+
# working card.
|
|
70
|
+
#
|
|
71
|
+
# ``Budget`` and ``OutstandingBalance`` are three different numbers away from
|
|
72
|
+
# each other and from an invoice: a budget notifies and never enforces, an
|
|
73
|
+
# upcoming invoice is what the CURRENT PERIOD has accrued, and an outstanding
|
|
74
|
+
# balance is what is UNSETTLED — the one that decides whether new jobs are
|
|
75
|
+
# admitted.
|
|
64
76
|
from transcodely.v1.billing_pb2 import (
|
|
77
|
+
BillingPaymentMethod,
|
|
78
|
+
BillingPortalSession,
|
|
79
|
+
BillingProfile,
|
|
80
|
+
Budget,
|
|
81
|
+
CreateBillingPortalSessionRequest,
|
|
82
|
+
CreateBillingPortalSessionResponse,
|
|
83
|
+
ExposureThresholdSource,
|
|
84
|
+
GetBillingProfileRequest,
|
|
85
|
+
GetBillingProfileResponse,
|
|
86
|
+
GetBudgetRequest,
|
|
87
|
+
GetBudgetResponse,
|
|
65
88
|
GetInvoiceRequest,
|
|
66
89
|
GetInvoiceResponse,
|
|
90
|
+
GetOutstandingBalanceRequest,
|
|
91
|
+
GetOutstandingBalanceResponse,
|
|
67
92
|
GetUpcomingInvoiceRequest,
|
|
68
93
|
GetUpcomingInvoiceResponse,
|
|
69
94
|
Invoice,
|
|
@@ -72,13 +97,36 @@ from transcodely.v1.billing_pb2 import (
|
|
|
72
97
|
InvoiceStatus,
|
|
73
98
|
ListInvoicesRequest,
|
|
74
99
|
ListInvoicesResponse,
|
|
100
|
+
OutstandingBalance,
|
|
101
|
+
PaymentMethodState,
|
|
102
|
+
Settlement,
|
|
103
|
+
SettleOutstandingBalanceRequest,
|
|
104
|
+
SettleOutstandingBalanceResponse,
|
|
105
|
+
TrustTier,
|
|
106
|
+
UpdateBudgetRequest,
|
|
107
|
+
UpdateBudgetResponse,
|
|
75
108
|
)
|
|
76
109
|
from transcodely.v1.codec_av1_pb2 import AV1Options
|
|
77
110
|
from transcodely.v1.codec_h264_pb2 import H264Options
|
|
78
111
|
from transcodely.v1.codec_h265_pb2 import H265Options
|
|
79
112
|
from transcodely.v1.codec_vp9_pb2 import VP9Options
|
|
113
|
+
|
|
114
|
+
# ``BillingStanding`` is ``BillingProfile.standing`` — derived from the
|
|
115
|
+
# organization's billing facts rather than assigned, so there is nothing to set.
|
|
116
|
+
# ``FREE`` and ``DELINQUENT`` both resolve usage limits to the free tier's, but
|
|
117
|
+
# ``DELINQUENT`` still bills; neither is a suspension. An organization exempt
|
|
118
|
+
# from the payment-method requirement always reports ``ACTIVE``.
|
|
119
|
+
#
|
|
120
|
+
# ``BillingTreatment`` is ``Organization.billing_treatment`` — orthogonal to
|
|
121
|
+
# standing, and assigned rather than derived: standing is a fact about payment
|
|
122
|
+
# health, treatment is the decision about whether automation may act on it. It
|
|
123
|
+
# is populated on admin reads only. ``DunningStage`` belongs to the same wave
|
|
124
|
+
# but reaches no message this SDK can receive, so it stays unexported; reach it
|
|
125
|
+
# at ``transcodely.v1.common_pb2.DunningStage`` if you are decoding admin JSON.
|
|
80
126
|
from transcodely.v1.common_pb2 import (
|
|
81
127
|
AudioCodec,
|
|
128
|
+
BillingStanding,
|
|
129
|
+
BillingTreatment,
|
|
82
130
|
BitrateMode,
|
|
83
131
|
Container,
|
|
84
132
|
ContentType,
|
|
@@ -388,7 +436,13 @@ __all__ = [
|
|
|
388
436
|
"AutoABRConfig",
|
|
389
437
|
"AutoProfileDefaults",
|
|
390
438
|
"BYOKConfig",
|
|
439
|
+
"BillingPaymentMethod",
|
|
440
|
+
"BillingPortalSession",
|
|
441
|
+
"BillingProfile",
|
|
442
|
+
"BillingStanding",
|
|
443
|
+
"BillingTreatment",
|
|
391
444
|
"BitrateMode",
|
|
445
|
+
"Budget",
|
|
392
446
|
"BurnInStyle",
|
|
393
447
|
"CancelJobRequest",
|
|
394
448
|
"CancelJobResponse",
|
|
@@ -414,6 +468,8 @@ __all__ = [
|
|
|
414
468
|
"CreateAPIKeyResponse",
|
|
415
469
|
"CreateAppRequest",
|
|
416
470
|
"CreateAppResponse",
|
|
471
|
+
"CreateBillingPortalSessionRequest",
|
|
472
|
+
"CreateBillingPortalSessionResponse",
|
|
417
473
|
"CreateFromUrlRequest",
|
|
418
474
|
"CreateFromUrlResponse",
|
|
419
475
|
"CreateJobRequest",
|
|
@@ -450,6 +506,7 @@ __all__ = [
|
|
|
450
506
|
"EventRequest",
|
|
451
507
|
"EventType",
|
|
452
508
|
"ExecutionTiming",
|
|
509
|
+
"ExposureThresholdSource",
|
|
453
510
|
"GOPAlignmentMode",
|
|
454
511
|
"GcsCredentials",
|
|
455
512
|
"GcsOriginConfig",
|
|
@@ -457,6 +514,10 @@ __all__ = [
|
|
|
457
514
|
"GetAPIKeyResponse",
|
|
458
515
|
"GetAppRequest",
|
|
459
516
|
"GetAppResponse",
|
|
517
|
+
"GetBillingProfileRequest",
|
|
518
|
+
"GetBillingProfileResponse",
|
|
519
|
+
"GetBudgetRequest",
|
|
520
|
+
"GetBudgetResponse",
|
|
460
521
|
"GetEndpointHealthRequest",
|
|
461
522
|
"GetEndpointHealthResponse",
|
|
462
523
|
"GetInvoiceRequest",
|
|
@@ -471,6 +532,8 @@ __all__ = [
|
|
|
471
532
|
"GetOrganizationResponse",
|
|
472
533
|
"GetOriginRequest",
|
|
473
534
|
"GetOriginResponse",
|
|
535
|
+
"GetOutstandingBalanceRequest",
|
|
536
|
+
"GetOutstandingBalanceResponse",
|
|
474
537
|
"GetPresetBySlugRequest",
|
|
475
538
|
"GetPresetBySlugResponse",
|
|
476
539
|
"GetPresetRequest",
|
|
@@ -557,8 +620,10 @@ __all__ = [
|
|
|
557
620
|
"OutputSpec",
|
|
558
621
|
"OutputStatus",
|
|
559
622
|
"OutputVariantResult",
|
|
623
|
+
"OutstandingBalance",
|
|
560
624
|
"PaginationRequest",
|
|
561
625
|
"PaginationResponse",
|
|
626
|
+
"PaymentMethodState",
|
|
562
627
|
"Preset",
|
|
563
628
|
"PresetVariant",
|
|
564
629
|
"PricingSnapshot",
|
|
@@ -581,6 +646,9 @@ __all__ = [
|
|
|
581
646
|
"SegmentConfig",
|
|
582
647
|
"SendTestWebhookRequest",
|
|
583
648
|
"SendTestWebhookResponse",
|
|
649
|
+
"SettleOutstandingBalanceRequest",
|
|
650
|
+
"SettleOutstandingBalanceResponse",
|
|
651
|
+
"Settlement",
|
|
584
652
|
"StreamingConfig",
|
|
585
653
|
"SubtitleFormat",
|
|
586
654
|
"SubtitleOperation",
|
|
@@ -593,8 +661,11 @@ __all__ = [
|
|
|
593
661
|
"ThumbnailSpec",
|
|
594
662
|
"ToneMapping",
|
|
595
663
|
"TopVideo",
|
|
664
|
+
"TrustTier",
|
|
596
665
|
"UpdateAppRequest",
|
|
597
666
|
"UpdateAppResponse",
|
|
667
|
+
"UpdateBudgetRequest",
|
|
668
|
+
"UpdateBudgetResponse",
|
|
598
669
|
"UpdateHostingConfigRequest",
|
|
599
670
|
"UpdateHostingConfigResponse",
|
|
600
671
|
"UpdateMeRequest",
|
transcodely/v1/app_pb2.py
CHANGED
|
@@ -27,13 +27,23 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__
|
|
|
27
27
|
from transcodely.v1 import common_pb2 as transcodely_dot_v1_dot_common__pb2
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18transcodely/v1/app.proto\x12\x0etranscodely.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1btranscodely/v1/common.proto\"\
|
|
30
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18transcodely/v1/app.proto\x12\x0etranscodely.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1btranscodely/v1/common.proto\"\xe3\x06\n\x03\x41pp\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12%\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00R\x0b\x64\x65scription\x88\x01\x01\x12\x31\n\x06status\x18\x06 \x01(\x0e\x32\x19.transcodely.v1.AppStatusR\x06status\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12@\n\x0b\x61rchived_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01R\narchivedAt\x88\x01\x01\x12,\n\x0fhosting_enabled\x18\n \x01(\x08H\x02R\x0ehostingEnabled\x88\x01\x01\x12*\n\x0ehosting_status\x18\x0b \x01(\tH\x03R\rhostingStatus\x88\x01\x01\x12&\n\x0c\x63\x64n_hostname\x18\x0c \x01(\tH\x04R\x0b\x63\x64nHostname\x88\x01\x01\x12I\n\x0ehosting_config\x18\r \x01(\x0b\x32\x1d.transcodely.v1.HostingConfigH\x05R\rhostingConfig\x88\x01\x01\x12\x16\n\x06object\x18\x0e \x01(\tR\x06object\x12:\n\x17monthly_spend_limit_eur\x18\x0f \x01(\x01H\x06R\x14monthlySpendLimitEur\x88\x01\x01\x12\x46\n\rplayer_config\x18\x10 \x01(\x0b\x32\x1c.transcodely.v1.PlayerConfigH\x07R\x0cplayerConfig\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0e\n\x0c_archived_atB\x12\n\x10_hosting_enabledB\x11\n\x0f_hosting_statusB\x0f\n\r_cdn_hostnameB\x11\n\x0f_hosting_configB\x1a\n\x18_monthly_spend_limit_eurB\x10\n\x0e_player_configJ\x04\x08\x05\x10\x06R\x07webhook\"Z\n\x0cPlayerConfig\x12=\n\x08\x63\x61ptions\x18\x01 \x01(\x0b\x32\x1c.transcodely.v1.CaptionStyleH\x00R\x08\x63\x61ptions\x88\x01\x01\x42\x0b\n\t_captions\"\xf0\x02\n\x0c\x43\x61ptionStyle\x12K\n\x10\x62\x61\x63kground_color\x18\x01 \x01(\tB\x1b\xbaH\x18r\x16\x32\x14^(#[0-9a-fA-F]{6})?$H\x00R\x0f\x62\x61\x63kgroundColor\x88\x01\x01\x12K\n\x12\x62\x61\x63kground_opacity\x18\x02 \x01(\x01\x42\x17\xbaH\x14\x12\x12\x19\x00\x00\x00\x00\x00\x00\xf0?)\x00\x00\x00\x00\x00\x00\x00\x00H\x01R\x11\x62\x61\x63kgroundOpacity\x88\x01\x01\x12?\n\ntext_color\x18\x03 \x01(\tB\x1b\xbaH\x18r\x16\x32\x14^(#[0-9a-fA-F]{6})?$H\x02R\ttextColor\x88\x01\x01\x12;\n\nfont_scale\x18\x04 \x01(\x01\x42\x17\xbaH\x14\x12\x12\x19\x00\x00\x00\x00\x00\x00\x00@)\x00\x00\x00\x00\x00\x00\xe0?H\x03R\tfontScale\x88\x01\x01\x42\x13\n\x11_background_colorB\x15\n\x13_background_opacityB\r\n\x0b_text_colorB\r\n\x0b_font_scale\"\x8e\x01\n\x19UpdatePlayerConfigRequest\x12.\n\x02id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^app_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x02id\x12\x41\n\rplayer_config\x18\x02 \x01(\x0b\x32\x1c.transcodely.v1.PlayerConfigR\x0cplayerConfig\"C\n\x1aUpdatePlayerConfigResponse\x12%\n\x03\x61pp\x18\x01 \x01(\x0b\x32\x13.transcodely.v1.AppR\x03\x61pp\"\xfa\x01\n\x10\x43reateAppRequest\x12\x35\n\x06org_id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^org_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x05orgId\x12 \n\x04name\x18\x02 \x01(\tB\x0c\xbaH\tr\x04\x10\x01\x18<\xc8\x01\x01R\x04name\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\x65nable_hosting\x18\x05 \x01(\x08H\x01R\renableHosting\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x11\n\x0f_enable_hostingJ\x04\x08\x04\x10\x05R\x07webhook\"P\n\x11\x43reateAppResponse\x12%\n\x03\x61pp\x18\x01 \x01(\x0b\x32\x13.transcodely.v1.AppR\x03\x61ppJ\x04\x08\x02\x10\x03R\x0ewebhook_secret\"?\n\rGetAppRequest\x12.\n\x02id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^app_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x02id\"7\n\x0eGetAppResponse\x12%\n\x03\x61pp\x18\x01 \x01(\x0b\x32\x13.transcodely.v1.AppR\x03\x61pp\"\xbf\x01\n\x10UpdateAppRequest\x12.\n\x02id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^app_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x02id\x12\"\n\x04name\x18\x02 \x01(\tB\t\xbaH\x06r\x04\x10\x01\x18<H\x00R\x04name\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\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionJ\x04\x08\x04\x10\x05R\x07webhook\"P\n\x11UpdateAppResponse\x12%\n\x03\x61pp\x18\x01 \x01(\x0b\x32\x13.transcodely.v1.AppR\x03\x61ppJ\x04\x08\x02\x10\x03R\x0ewebhook_secret\"\xb6\x01\n\x0fListAppsRequest\x12\x35\n\x06org_id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^org_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x05orgId\x12\x41\n\npagination\x18\x02 \x01(\x0b\x32!.transcodely.v1.PaginationRequestR\npagination\x12)\n\x10include_archived\x18\x03 \x01(\x08R\x0fincludeArchived\"\x7f\n\x10ListAppsResponse\x12\'\n\x04\x61pps\x18\x01 \x03(\x0b\x32\x13.transcodely.v1.AppR\x04\x61pps\x12\x42\n\npagination\x18\x02 \x01(\x0b\x32\".transcodely.v1.PaginationResponseR\npagination\"C\n\x11\x41rchiveAppRequest\x12.\n\x02id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^app_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x02id\";\n\x12\x41rchiveAppResponse\x12%\n\x03\x61pp\x18\x01 \x01(\x0b\x32\x13.transcodely.v1.AppR\x03\x61pp\"F\n\x14\x45nableHostingRequest\x12.\n\x02id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^app_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x02id\">\n\x15\x45nableHostingResponse\x12%\n\x03\x61pp\x18\x01 \x01(\x0b\x32\x13.transcodely.v1.AppR\x03\x61pp\"\xb1\x03\n\rHostingConfig\x12\x32\n\x12\x64\x65\x66\x61ult_visibility\x18\x01 \x01(\tH\x00R\x11\x64\x65\x66\x61ultVisibility\x88\x01\x01\x12\x36\n\x15max_upload_size_bytes\x18\x02 \x01(\x03H\x01R\x12maxUploadSizeBytes\x88\x01\x01\x12\x30\n\x14\x63ors_allowed_origins\x18\x03 \x03(\tR\x12\x63orsAllowedOrigins\x12\\\n\x15\x61uto_profile_defaults\x18\x04 \x01(\x0b\x32#.transcodely.v1.AutoProfileDefaultsH\x02R\x13\x61utoProfileDefaults\x88\x01\x01\x12<\n\x18\x64\x65lete_source_after_days\x18\x05 \x01(\x05H\x03R\x15\x64\x65leteSourceAfterDays\x88\x01\x01\x42\x15\n\x13_default_visibilityB\x18\n\x16_max_upload_size_bytesB\x18\n\x16_auto_profile_defaultsB\x1b\n\x19_delete_source_after_days\"\x96\x02\n\x13\x41utoProfileDefaults\x12\x1b\n\x06\x66ormat\x18\x01 \x01(\tH\x00R\x06\x66ormat\x88\x01\x01\x12\x19\n\x05\x63odec\x18\x02 \x01(\tH\x01R\x05\x63odec\x88\x01\x01\x12*\n\x0emax_resolution\x18\x03 \x01(\tH\x02R\rmaxResolution\x88\x01\x01\x12&\n\x0cquality_tier\x18\x04 \x01(\tH\x03R\x0bqualityTier\x88\x01\x01\x12(\n\rencoding_mode\x18\x05 \x01(\tH\x04R\x0c\x65ncodingMode\x88\x01\x01\x42\t\n\x07_formatB\x08\n\x06_codecB\x11\n\x0f_max_resolutionB\x0f\n\r_quality_tierB\x10\n\x0e_encoding_mode\"\x92\x01\n\x1aUpdateHostingConfigRequest\x12.\n\x02id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^app_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x02id\x12\x44\n\x0ehosting_config\x18\x02 \x01(\x0b\x32\x1d.transcodely.v1.HostingConfigR\rhostingConfig\"D\n\x1bUpdateHostingConfigResponse\x12%\n\x03\x61pp\x18\x01 \x01(\x0b\x32\x13.transcodely.v1.AppR\x03\x61pp\"\xc1\x01\n\x17UpdateSpendLimitRequest\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\x12S\n\x17monthly_spend_limit_eur\x18\x02 \x01(\x01\x42\x17\xbaH\x14\x12\x12\x19\x85\xeb\xff\x1f_\xa0\x02\x42!\x00\x00\x00\x00\x00\x00\x00\x00H\x00R\x14monthlySpendLimitEur\x88\x01\x01\x42\x1a\n\x18_monthly_spend_limit_eur\"A\n\x18UpdateSpendLimitResponse\x12%\n\x03\x61pp\x18\x01 \x01(\x0b\x32\x13.transcodely.v1.AppR\x03\x61pp\"H\n\x0fGetSpendRequest\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\"\xef\x02\n\x10GetSpendResponse\x12=\n\x0cperiod_start\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0bperiodStart\x12\x39\n\nperiod_end\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tperiodEnd\x12\x1b\n\tspent_eur\x18\x03 \x01(\x01R\x08spentEur\x12:\n\x17monthly_spend_limit_eur\x18\x04 \x01(\x01H\x00R\x14monthlySpendLimitEur\x88\x01\x01\x12\x1a\n\x08\x63urrency\x18\x05 \x01(\tR\x08\x63urrency\x12+\n\x11warning_triggered\x18\x06 \x01(\x08R\x10warningTriggered\x12#\n\rlimit_reached\x18\x07 \x01(\x08R\x0climitReachedB\x1a\n\x18_monthly_spend_limit_eur*q\n\tAppStatus\x12\x1a\n\x16\x41PP_STATUS_UNSPECIFIED\x10\x00\x12\x15\n\x11\x41PP_STATUS_ACTIVE\x10\x01\x12\x17\n\x13\x41PP_STATUS_ARCHIVED\x10\x02\x12\x18\n\x14\x41PP_STATUS_SUSPENDED\x10\x03\x32\xfe\x06\n\nAppService\x12M\n\x06\x43reate\x12 .transcodely.v1.CreateAppRequest\x1a!.transcodely.v1.CreateAppResponse\x12\x44\n\x03Get\x12\x1d.transcodely.v1.GetAppRequest\x1a\x1e.transcodely.v1.GetAppResponse\x12M\n\x06Update\x12 .transcodely.v1.UpdateAppRequest\x1a!.transcodely.v1.UpdateAppResponse\x12I\n\x04List\x12\x1f.transcodely.v1.ListAppsRequest\x1a .transcodely.v1.ListAppsResponse\x12P\n\x07\x41rchive\x12!.transcodely.v1.ArchiveAppRequest\x1a\".transcodely.v1.ArchiveAppResponse\x12\\\n\rEnableHosting\x12$.transcodely.v1.EnableHostingRequest\x1a%.transcodely.v1.EnableHostingResponse\x12n\n\x13UpdateHostingConfig\x12*.transcodely.v1.UpdateHostingConfigRequest\x1a+.transcodely.v1.UpdateHostingConfigResponse\x12k\n\x12UpdatePlayerConfig\x12).transcodely.v1.UpdatePlayerConfigRequest\x1a*.transcodely.v1.UpdatePlayerConfigResponse\x12\x65\n\x10UpdateSpendLimit\x12\'.transcodely.v1.UpdateSpendLimitRequest\x1a(.transcodely.v1.UpdateSpendLimitResponse\x12M\n\x08GetSpend\x12\x1f.transcodely.v1.GetSpendRequest\x1a .transcodely.v1.GetSpendResponseb\x06proto3')
|
|
31
31
|
|
|
32
32
|
_globals = globals()
|
|
33
33
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
34
34
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'transcodely.v1.app_pb2', _globals)
|
|
35
35
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
36
36
|
DESCRIPTOR._loaded_options = None
|
|
37
|
+
_globals['_CAPTIONSTYLE'].fields_by_name['background_color']._loaded_options = None
|
|
38
|
+
_globals['_CAPTIONSTYLE'].fields_by_name['background_color']._serialized_options = b'\272H\030r\0262\024^(#[0-9a-fA-F]{6})?$'
|
|
39
|
+
_globals['_CAPTIONSTYLE'].fields_by_name['background_opacity']._loaded_options = None
|
|
40
|
+
_globals['_CAPTIONSTYLE'].fields_by_name['background_opacity']._serialized_options = b'\272H\024\022\022\031\000\000\000\000\000\000\360?)\000\000\000\000\000\000\000\000'
|
|
41
|
+
_globals['_CAPTIONSTYLE'].fields_by_name['text_color']._loaded_options = None
|
|
42
|
+
_globals['_CAPTIONSTYLE'].fields_by_name['text_color']._serialized_options = b'\272H\030r\0262\024^(#[0-9a-fA-F]{6})?$'
|
|
43
|
+
_globals['_CAPTIONSTYLE'].fields_by_name['font_scale']._loaded_options = None
|
|
44
|
+
_globals['_CAPTIONSTYLE'].fields_by_name['font_scale']._serialized_options = b'\272H\024\022\022\031\000\000\000\000\000\000\000@)\000\000\000\000\000\000\340?'
|
|
45
|
+
_globals['_UPDATEPLAYERCONFIGREQUEST'].fields_by_name['id']._loaded_options = None
|
|
46
|
+
_globals['_UPDATEPLAYERCONFIGREQUEST'].fields_by_name['id']._serialized_options = b'\272H\033r\0262\024^app_[a-zA-Z0-9_-]+$\310\001\001'
|
|
37
47
|
_globals['_CREATEAPPREQUEST'].fields_by_name['org_id']._loaded_options = None
|
|
38
48
|
_globals['_CREATEAPPREQUEST'].fields_by_name['org_id']._serialized_options = b'\272H\033r\0262\024^org_[a-zA-Z0-9_-]+$\310\001\001'
|
|
39
49
|
_globals['_CREATEAPPREQUEST'].fields_by_name['name']._loaded_options = None
|
|
@@ -62,50 +72,58 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
62
72
|
_globals['_UPDATESPENDLIMITREQUEST'].fields_by_name['monthly_spend_limit_eur']._serialized_options = b'\272H\024\022\022\031\205\353\377\037_\240\002B!\000\000\000\000\000\000\000\000'
|
|
63
73
|
_globals['_GETSPENDREQUEST'].fields_by_name['app_id']._loaded_options = None
|
|
64
74
|
_globals['_GETSPENDREQUEST'].fields_by_name['app_id']._serialized_options = b'\272H\033r\0262\024^app_[a-zA-Z0-9_-]+$\310\001\001'
|
|
65
|
-
_globals['_APPSTATUS']._serialized_start=
|
|
66
|
-
_globals['_APPSTATUS']._serialized_end=
|
|
75
|
+
_globals['_APPSTATUS']._serialized_start=4638
|
|
76
|
+
_globals['_APPSTATUS']._serialized_end=4751
|
|
67
77
|
_globals['_APP']._serialized_start=136
|
|
68
|
-
_globals['_APP']._serialized_end=
|
|
69
|
-
_globals['
|
|
70
|
-
_globals['
|
|
71
|
-
_globals['
|
|
72
|
-
_globals['
|
|
73
|
-
_globals['
|
|
74
|
-
_globals['
|
|
75
|
-
_globals['
|
|
76
|
-
_globals['
|
|
77
|
-
_globals['
|
|
78
|
-
_globals['
|
|
79
|
-
_globals['
|
|
80
|
-
_globals['
|
|
81
|
-
_globals['
|
|
82
|
-
_globals['
|
|
83
|
-
_globals['
|
|
84
|
-
_globals['
|
|
85
|
-
_globals['
|
|
86
|
-
_globals['
|
|
87
|
-
_globals['
|
|
88
|
-
_globals['
|
|
89
|
-
_globals['
|
|
90
|
-
_globals['
|
|
91
|
-
_globals['
|
|
92
|
-
_globals['
|
|
93
|
-
_globals['
|
|
94
|
-
_globals['
|
|
95
|
-
_globals['
|
|
96
|
-
_globals['
|
|
97
|
-
_globals['
|
|
98
|
-
_globals['
|
|
99
|
-
_globals['
|
|
100
|
-
_globals['
|
|
101
|
-
_globals['
|
|
102
|
-
_globals['
|
|
103
|
-
_globals['
|
|
104
|
-
_globals['
|
|
105
|
-
_globals['
|
|
106
|
-
_globals['
|
|
107
|
-
_globals['
|
|
108
|
-
_globals['
|
|
109
|
-
_globals['
|
|
110
|
-
_globals['
|
|
78
|
+
_globals['_APP']._serialized_end=1003
|
|
79
|
+
_globals['_PLAYERCONFIG']._serialized_start=1005
|
|
80
|
+
_globals['_PLAYERCONFIG']._serialized_end=1095
|
|
81
|
+
_globals['_CAPTIONSTYLE']._serialized_start=1098
|
|
82
|
+
_globals['_CAPTIONSTYLE']._serialized_end=1466
|
|
83
|
+
_globals['_UPDATEPLAYERCONFIGREQUEST']._serialized_start=1469
|
|
84
|
+
_globals['_UPDATEPLAYERCONFIGREQUEST']._serialized_end=1611
|
|
85
|
+
_globals['_UPDATEPLAYERCONFIGRESPONSE']._serialized_start=1613
|
|
86
|
+
_globals['_UPDATEPLAYERCONFIGRESPONSE']._serialized_end=1680
|
|
87
|
+
_globals['_CREATEAPPREQUEST']._serialized_start=1683
|
|
88
|
+
_globals['_CREATEAPPREQUEST']._serialized_end=1933
|
|
89
|
+
_globals['_CREATEAPPRESPONSE']._serialized_start=1935
|
|
90
|
+
_globals['_CREATEAPPRESPONSE']._serialized_end=2015
|
|
91
|
+
_globals['_GETAPPREQUEST']._serialized_start=2017
|
|
92
|
+
_globals['_GETAPPREQUEST']._serialized_end=2080
|
|
93
|
+
_globals['_GETAPPRESPONSE']._serialized_start=2082
|
|
94
|
+
_globals['_GETAPPRESPONSE']._serialized_end=2137
|
|
95
|
+
_globals['_UPDATEAPPREQUEST']._serialized_start=2140
|
|
96
|
+
_globals['_UPDATEAPPREQUEST']._serialized_end=2331
|
|
97
|
+
_globals['_UPDATEAPPRESPONSE']._serialized_start=2333
|
|
98
|
+
_globals['_UPDATEAPPRESPONSE']._serialized_end=2413
|
|
99
|
+
_globals['_LISTAPPSREQUEST']._serialized_start=2416
|
|
100
|
+
_globals['_LISTAPPSREQUEST']._serialized_end=2598
|
|
101
|
+
_globals['_LISTAPPSRESPONSE']._serialized_start=2600
|
|
102
|
+
_globals['_LISTAPPSRESPONSE']._serialized_end=2727
|
|
103
|
+
_globals['_ARCHIVEAPPREQUEST']._serialized_start=2729
|
|
104
|
+
_globals['_ARCHIVEAPPREQUEST']._serialized_end=2796
|
|
105
|
+
_globals['_ARCHIVEAPPRESPONSE']._serialized_start=2798
|
|
106
|
+
_globals['_ARCHIVEAPPRESPONSE']._serialized_end=2857
|
|
107
|
+
_globals['_ENABLEHOSTINGREQUEST']._serialized_start=2859
|
|
108
|
+
_globals['_ENABLEHOSTINGREQUEST']._serialized_end=2929
|
|
109
|
+
_globals['_ENABLEHOSTINGRESPONSE']._serialized_start=2931
|
|
110
|
+
_globals['_ENABLEHOSTINGRESPONSE']._serialized_end=2993
|
|
111
|
+
_globals['_HOSTINGCONFIG']._serialized_start=2996
|
|
112
|
+
_globals['_HOSTINGCONFIG']._serialized_end=3429
|
|
113
|
+
_globals['_AUTOPROFILEDEFAULTS']._serialized_start=3432
|
|
114
|
+
_globals['_AUTOPROFILEDEFAULTS']._serialized_end=3710
|
|
115
|
+
_globals['_UPDATEHOSTINGCONFIGREQUEST']._serialized_start=3713
|
|
116
|
+
_globals['_UPDATEHOSTINGCONFIGREQUEST']._serialized_end=3859
|
|
117
|
+
_globals['_UPDATEHOSTINGCONFIGRESPONSE']._serialized_start=3861
|
|
118
|
+
_globals['_UPDATEHOSTINGCONFIGRESPONSE']._serialized_end=3929
|
|
119
|
+
_globals['_UPDATESPENDLIMITREQUEST']._serialized_start=3932
|
|
120
|
+
_globals['_UPDATESPENDLIMITREQUEST']._serialized_end=4125
|
|
121
|
+
_globals['_UPDATESPENDLIMITRESPONSE']._serialized_start=4127
|
|
122
|
+
_globals['_UPDATESPENDLIMITRESPONSE']._serialized_end=4192
|
|
123
|
+
_globals['_GETSPENDREQUEST']._serialized_start=4194
|
|
124
|
+
_globals['_GETSPENDREQUEST']._serialized_end=4266
|
|
125
|
+
_globals['_GETSPENDRESPONSE']._serialized_start=4269
|
|
126
|
+
_globals['_GETSPENDRESPONSE']._serialized_end=4636
|
|
127
|
+
_globals['_APPSERVICE']._serialized_start=4754
|
|
128
|
+
_globals['_APPSERVICE']._serialized_end=5648
|
|
111
129
|
# @@protoc_insertion_point(module_scope)
|
transcodely/v1/app_pb2.pyi
CHANGED
|
@@ -21,7 +21,7 @@ APP_STATUS_ARCHIVED: AppStatus
|
|
|
21
21
|
APP_STATUS_SUSPENDED: AppStatus
|
|
22
22
|
|
|
23
23
|
class App(_message.Message):
|
|
24
|
-
__slots__ = ("id", "org_id", "name", "description", "status", "created_at", "updated_at", "archived_at", "hosting_enabled", "hosting_status", "cdn_hostname", "hosting_config", "object", "monthly_spend_limit_eur")
|
|
24
|
+
__slots__ = ("id", "org_id", "name", "description", "status", "created_at", "updated_at", "archived_at", "hosting_enabled", "hosting_status", "cdn_hostname", "hosting_config", "object", "monthly_spend_limit_eur", "player_config")
|
|
25
25
|
ID_FIELD_NUMBER: _ClassVar[int]
|
|
26
26
|
ORG_ID_FIELD_NUMBER: _ClassVar[int]
|
|
27
27
|
NAME_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -36,6 +36,7 @@ class App(_message.Message):
|
|
|
36
36
|
HOSTING_CONFIG_FIELD_NUMBER: _ClassVar[int]
|
|
37
37
|
OBJECT_FIELD_NUMBER: _ClassVar[int]
|
|
38
38
|
MONTHLY_SPEND_LIMIT_EUR_FIELD_NUMBER: _ClassVar[int]
|
|
39
|
+
PLAYER_CONFIG_FIELD_NUMBER: _ClassVar[int]
|
|
39
40
|
id: str
|
|
40
41
|
org_id: str
|
|
41
42
|
name: str
|
|
@@ -50,7 +51,40 @@ class App(_message.Message):
|
|
|
50
51
|
hosting_config: HostingConfig
|
|
51
52
|
object: str
|
|
52
53
|
monthly_spend_limit_eur: float
|
|
53
|
-
|
|
54
|
+
player_config: PlayerConfig
|
|
55
|
+
def __init__(self, id: _Optional[str] = ..., org_id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., status: _Optional[_Union[AppStatus, str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., archived_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., hosting_enabled: bool = ..., hosting_status: _Optional[str] = ..., cdn_hostname: _Optional[str] = ..., hosting_config: _Optional[_Union[HostingConfig, _Mapping]] = ..., object: _Optional[str] = ..., monthly_spend_limit_eur: _Optional[float] = ..., player_config: _Optional[_Union[PlayerConfig, _Mapping]] = ...) -> None: ...
|
|
56
|
+
|
|
57
|
+
class PlayerConfig(_message.Message):
|
|
58
|
+
__slots__ = ("captions",)
|
|
59
|
+
CAPTIONS_FIELD_NUMBER: _ClassVar[int]
|
|
60
|
+
captions: CaptionStyle
|
|
61
|
+
def __init__(self, captions: _Optional[_Union[CaptionStyle, _Mapping]] = ...) -> None: ...
|
|
62
|
+
|
|
63
|
+
class CaptionStyle(_message.Message):
|
|
64
|
+
__slots__ = ("background_color", "background_opacity", "text_color", "font_scale")
|
|
65
|
+
BACKGROUND_COLOR_FIELD_NUMBER: _ClassVar[int]
|
|
66
|
+
BACKGROUND_OPACITY_FIELD_NUMBER: _ClassVar[int]
|
|
67
|
+
TEXT_COLOR_FIELD_NUMBER: _ClassVar[int]
|
|
68
|
+
FONT_SCALE_FIELD_NUMBER: _ClassVar[int]
|
|
69
|
+
background_color: str
|
|
70
|
+
background_opacity: float
|
|
71
|
+
text_color: str
|
|
72
|
+
font_scale: float
|
|
73
|
+
def __init__(self, background_color: _Optional[str] = ..., background_opacity: _Optional[float] = ..., text_color: _Optional[str] = ..., font_scale: _Optional[float] = ...) -> None: ...
|
|
74
|
+
|
|
75
|
+
class UpdatePlayerConfigRequest(_message.Message):
|
|
76
|
+
__slots__ = ("id", "player_config")
|
|
77
|
+
ID_FIELD_NUMBER: _ClassVar[int]
|
|
78
|
+
PLAYER_CONFIG_FIELD_NUMBER: _ClassVar[int]
|
|
79
|
+
id: str
|
|
80
|
+
player_config: PlayerConfig
|
|
81
|
+
def __init__(self, id: _Optional[str] = ..., player_config: _Optional[_Union[PlayerConfig, _Mapping]] = ...) -> None: ...
|
|
82
|
+
|
|
83
|
+
class UpdatePlayerConfigResponse(_message.Message):
|
|
84
|
+
__slots__ = ("app",)
|
|
85
|
+
APP_FIELD_NUMBER: _ClassVar[int]
|
|
86
|
+
app: App
|
|
87
|
+
def __init__(self, app: _Optional[_Union[App, _Mapping]] = ...) -> None: ...
|
|
54
88
|
|
|
55
89
|
class CreateAppRequest(_message.Message):
|
|
56
90
|
__slots__ = ("org_id", "name", "description", "enable_hosting")
|