temporal-flowrensic-python-sdk 0.6.63__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 (54) hide show
  1. temporal_flowrensic/__init__.py +2 -0
  2. temporal_flowrensic/_calls.py +185 -0
  3. temporal_flowrensic/_ci.py +56 -0
  4. temporal_flowrensic/_deploy.py +65 -0
  5. temporal_flowrensic/_gen/flowrensic/v1/activity_metrics_pb2.py +76 -0
  6. temporal_flowrensic/_gen/flowrensic/v1/activity_metrics_pb2.pyi +301 -0
  7. temporal_flowrensic/_gen/flowrensic/v1/catalog_pb2.py +60 -0
  8. temporal_flowrensic/_gen/flowrensic/v1/catalog_pb2.pyi +127 -0
  9. temporal_flowrensic/_gen/flowrensic/v1/catch_up_pb2.py +42 -0
  10. temporal_flowrensic/_gen/flowrensic/v1/catch_up_pb2.pyi +71 -0
  11. temporal_flowrensic/_gen/flowrensic/v1/client_calls_pb2.py +49 -0
  12. temporal_flowrensic/_gen/flowrensic/v1/client_calls_pb2.pyi +90 -0
  13. temporal_flowrensic/_gen/flowrensic/v1/cost_pb2.py +52 -0
  14. temporal_flowrensic/_gen/flowrensic/v1/cost_pb2.pyi +107 -0
  15. temporal_flowrensic/_gen/flowrensic/v1/deploy_pb2.py +51 -0
  16. temporal_flowrensic/_gen/flowrensic/v1/deploy_pb2.pyi +92 -0
  17. temporal_flowrensic/_gen/flowrensic/v1/ephemeral_run_pb2.py +107 -0
  18. temporal_flowrensic/_gen/flowrensic/v1/ephemeral_run_pb2.pyi +344 -0
  19. temporal_flowrensic/_gen/flowrensic/v1/finding_pb2.py +76 -0
  20. temporal_flowrensic/_gen/flowrensic/v1/finding_pb2.pyi +371 -0
  21. temporal_flowrensic/_gen/flowrensic/v1/job_pb2.py +46 -0
  22. temporal_flowrensic/_gen/flowrensic/v1/job_pb2.pyi +51 -0
  23. temporal_flowrensic/_gen/flowrensic/v1/load_pb2.py +51 -0
  24. temporal_flowrensic/_gen/flowrensic/v1/load_pb2.pyi +118 -0
  25. temporal_flowrensic/_gen/flowrensic/v1/page_pb2.py +38 -0
  26. temporal_flowrensic/_gen/flowrensic/v1/page_pb2.pyi +23 -0
  27. temporal_flowrensic/_gen/flowrensic/v1/remediation_pb2.py +60 -0
  28. temporal_flowrensic/_gen/flowrensic/v1/remediation_pb2.pyi +157 -0
  29. temporal_flowrensic/_gen/flowrensic/v1/replay_pb2.py +84 -0
  30. temporal_flowrensic/_gen/flowrensic/v1/replay_pb2.pyi +309 -0
  31. temporal_flowrensic/_gen/flowrensic/v1/server_config_pb2.py +48 -0
  32. temporal_flowrensic/_gen/flowrensic/v1/server_config_pb2.pyi +97 -0
  33. temporal_flowrensic/_gen/flowrensic/v1/services_connect.py +3621 -0
  34. temporal_flowrensic/_gen/flowrensic/v1/services_pb2.py +60 -0
  35. temporal_flowrensic/_gen/flowrensic/v1/services_pb2.pyi +20 -0
  36. temporal_flowrensic/_gen/flowrensic/v1/stored_data_pb2.py +43 -0
  37. temporal_flowrensic/_gen/flowrensic/v1/stored_data_pb2.pyi +50 -0
  38. temporal_flowrensic/_gen/flowrensic/v1/workflow_history_pb2.py +47 -0
  39. temporal_flowrensic/_gen/flowrensic/v1/workflow_history_pb2.pyi +102 -0
  40. temporal_flowrensic/_gen/flowrensic/v1/workflow_types_pb2.py +55 -0
  41. temporal_flowrensic/_gen/flowrensic/v1/workflow_types_pb2.pyi +197 -0
  42. temporal_flowrensic/_names.py +42 -0
  43. temporal_flowrensic/_queries.py +61 -0
  44. temporal_flowrensic/_replay.py +378 -0
  45. temporal_flowrensic/_sink.py +574 -0
  46. temporal_flowrensic/_telemetry.py +559 -0
  47. temporal_flowrensic/activity.py +136 -0
  48. temporal_flowrensic/client.py +166 -0
  49. temporal_flowrensic/py.typed +0 -0
  50. temporal_flowrensic/workflow.py +103 -0
  51. temporal_flowrensic_python_sdk-0.6.63.dist-info/METADATA +74 -0
  52. temporal_flowrensic_python_sdk-0.6.63.dist-info/RECORD +54 -0
  53. temporal_flowrensic_python_sdk-0.6.63.dist-info/WHEEL +4 -0
  54. temporal_flowrensic_python_sdk-0.6.63.dist-info/licenses/LICENSE +202 -0
@@ -0,0 +1,38 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: flowrensic/v1/page.proto
5
+ # Protobuf Python Version: 6.31.1
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
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'flowrensic/v1/page.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+
26
+
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18\x66lowrensic/v1/page.proto\x12\rflowrensic.v1\"I\n\x0bPageRequest\x12\x1b\n\tpage_size\x18\x01 \x01(\x05R\x08pageSize\x12\x1d\n\npage_token\x18\x02 \x01(\tR\tpageToken\"\\\n\x0cPageResponse\x12&\n\x0fnext_page_token\x18\x01 \x01(\tR\rnextPageToken\x12\x12\n\x04more\x18\x02 \x01(\x08R\x04more\x12\x10\n\x03\x63ut\x18\x03 \x01(\x08R\x03\x63utb\x06proto3')
28
+
29
+ _globals = globals()
30
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flowrensic.v1.page_pb2', _globals)
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ DESCRIPTOR._loaded_options = None
34
+ _globals['_PAGEREQUEST']._serialized_start=43
35
+ _globals['_PAGEREQUEST']._serialized_end=116
36
+ _globals['_PAGERESPONSE']._serialized_start=118
37
+ _globals['_PAGERESPONSE']._serialized_end=210
38
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,23 @@
1
+ from google.protobuf import descriptor as _descriptor
2
+ from google.protobuf import message as _message
3
+ from typing import ClassVar as _ClassVar, Optional as _Optional
4
+
5
+ DESCRIPTOR: _descriptor.FileDescriptor
6
+
7
+ class PageRequest(_message.Message):
8
+ __slots__ = ("page_size", "page_token")
9
+ PAGE_SIZE_FIELD_NUMBER: _ClassVar[int]
10
+ PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int]
11
+ page_size: int
12
+ page_token: str
13
+ def __init__(self, page_size: _Optional[int] = ..., page_token: _Optional[str] = ...) -> None: ...
14
+
15
+ class PageResponse(_message.Message):
16
+ __slots__ = ("next_page_token", "more", "cut")
17
+ NEXT_PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int]
18
+ MORE_FIELD_NUMBER: _ClassVar[int]
19
+ CUT_FIELD_NUMBER: _ClassVar[int]
20
+ next_page_token: str
21
+ more: bool
22
+ cut: bool
23
+ def __init__(self, next_page_token: _Optional[str] = ..., more: bool = ..., cut: bool = ...) -> None: ...
@@ -0,0 +1,60 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: flowrensic/v1/remediation.proto
5
+ # Protobuf Python Version: 6.31.1
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
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'flowrensic/v1/remediation.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from temporal_flowrensic._gen.flowrensic.v1 import page_pb2 as flowrensic_dot_v1_dot_page__pb2
26
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
27
+
28
+
29
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x66lowrensic/v1/remediation.proto\x12\rflowrensic.v1\x1a\x18\x66lowrensic/v1/page.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xca\x01\n\x0eRemediationRun\x12\x1f\n\x0bworkflow_id\x18\x01 \x01(\tR\nworkflowId\x12\x15\n\x06run_id\x18\x02 \x01(\tR\x05runId\x12\x1c\n\tnamespace\x18\x03 \x01(\tR\tnamespace\x12\x16\n\x06status\x18\x04 \x01(\tR\x06status\x12&\n\x0ftemporal_ui_url\x18\x05 \x01(\tR\rtemporalUiUrl\x12\x10\n\x03\x63li\x18\x06 \x01(\tR\x03\x63li\x12\x10\n\x03\x65nv\x18\x07 \x01(\tR\x03\x65nv\"\x80\x01\n\x11RemediationChoice\x12\x38\n\x06option\x18\x01 \x01(\x0e\x32 .flowrensic.v1.RemediationOptionR\x06option\x12\x31\n\x04runs\x18\x02 \x03(\x0b\x32\x1d.flowrensic.v1.RemediationRunR\x04runs\"g\n\x16RemediationPlanRequest\x12\x1d\n\nfinding_id\x18\x01 \x01(\tR\tfindingId\x12.\n\x04page\x18\x02 \x01(\x0b\x32\x1a.flowrensic.v1.PageRequestR\x04page\"\xed\x02\n\x17RemediationPlanResponse\x12:\n\x07\x63hoices\x18\x01 \x03(\x0b\x32 .flowrensic.v1.RemediationChoiceR\x07\x63hoices\x12\x17\n\x07\x63\x61n_act\x18\x02 \x01(\x08R\x06\x63\x61nAct\x12\x17\n\x07why_not\x18\x03 \x01(\tR\x06whyNot\x12\x1b\n\tgone_runs\x18\x04 \x01(\x05R\x08goneRuns\x12\x1d\n\noff_reason\x18\x05 \x01(\tR\toffReason\x12/\n\x04page\x18\x06 \x01(\x0b\x32\x1b.flowrensic.v1.PageResponseR\x04page\x12\x12\n\x04\x65nvs\x18\x07 \x03(\tR\x04\x65nvs\x12I\n\x0e\x65phemeral_runs\x18\x08 \x03(\x0b\x32\".flowrensic.v1.FindingEphemeralRunR\rephemeralRuns\x12\x18\n\x07workers\x18\t \x03(\tR\x07workers\"L\n\x13\x46indingEphemeralRun\x12\x10\n\x03\x65nv\x18\x01 \x01(\tR\x03\x65nv\x12#\n\rephemeral_run\x18\x02 \x01(\tR\x0c\x65phemeralRun\"\x8b\x01\n\rRemediatedRun\x12\x1f\n\x0bworkflow_id\x18\x01 \x01(\tR\nworkflowId\x12\x15\n\x06run_id\x18\x02 \x01(\tR\x05runId\x12\x0e\n\x02ok\x18\x03 \x01(\x08R\x02ok\x12\x14\n\x05\x65rror\x18\x04 \x01(\tR\x05\x65rror\x12\x1c\n\nnew_run_id\x18\x05 \x01(\tR\x08newRunId\"\x90\x02\n\x0bRemediation\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1d\n\nfinding_id\x18\x02 \x01(\tR\tfindingId\x12\x38\n\x06option\x18\x03 \x01(\x0e\x32 .flowrensic.v1.RemediationOptionR\x06option\x12\x16\n\x06reason\x18\x04 \x01(\tR\x06reason\x12\x12\n\x04user\x18\x05 \x01(\tR\x04user\x12\x0e\n\x02ip\x18\x06 \x01(\tR\x02ip\x12*\n\x02\x61t\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x02\x61t\x12\x30\n\x04runs\x18\x08 \x03(\x0b\x32\x1c.flowrensic.v1.RemediatedRunR\x04runs\"\xb0\x01\n\x10RemediateRequest\x12\x1d\n\nfinding_id\x18\x01 \x01(\tR\tfindingId\x12\x38\n\x06option\x18\x02 \x01(\x0e\x32 .flowrensic.v1.RemediationOptionR\x06option\x12\x17\n\x07run_ids\x18\x03 \x03(\tR\x06runIds\x12\x16\n\x06reason\x18\x04 \x01(\tR\x06reason\x12\x12\n\x04user\x18\x05 \x01(\tR\x04user\"Q\n\x11RemediateResponse\x12<\n\x0bremediation\x18\x01 \x01(\x0b\x32\x1a.flowrensic.v1.RemediationR\x0bremediation\"h\n\x17ListRemediationsRequest\x12\x1d\n\nfinding_id\x18\x01 \x01(\tR\tfindingId\x12.\n\x04page\x18\x02 \x01(\x0b\x32\x1a.flowrensic.v1.PageRequestR\x04page\"\x8b\x01\n\x18ListRemediationsResponse\x12>\n\x0cremediations\x18\x01 \x03(\x0b\x32\x1a.flowrensic.v1.RemediationR\x0cremediations\x12/\n\x04page\x18\x02 \x01(\x0b\x32\x1b.flowrensic.v1.PageResponseR\x04page*\x96\x01\n\x11RemediationOption\x12\"\n\x1eREMEDIATION_OPTION_UNSPECIFIED\x10\x00\x12 \n\x1cREMEDIATION_OPTION_TERMINATE\x10\x01\x12\x1d\n\x19REMEDIATION_OPTION_CANCEL\x10\x02\x12\x1c\n\x18REMEDIATION_OPTION_RESET\x10\x03\x62\x06proto3')
30
+
31
+ _globals = globals()
32
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
33
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flowrensic.v1.remediation_pb2', _globals)
34
+ if not _descriptor._USE_C_DESCRIPTORS:
35
+ DESCRIPTOR._loaded_options = None
36
+ _globals['_REMEDIATIONOPTION']._serialized_start=1924
37
+ _globals['_REMEDIATIONOPTION']._serialized_end=2074
38
+ _globals['_REMEDIATIONRUN']._serialized_start=110
39
+ _globals['_REMEDIATIONRUN']._serialized_end=312
40
+ _globals['_REMEDIATIONCHOICE']._serialized_start=315
41
+ _globals['_REMEDIATIONCHOICE']._serialized_end=443
42
+ _globals['_REMEDIATIONPLANREQUEST']._serialized_start=445
43
+ _globals['_REMEDIATIONPLANREQUEST']._serialized_end=548
44
+ _globals['_REMEDIATIONPLANRESPONSE']._serialized_start=551
45
+ _globals['_REMEDIATIONPLANRESPONSE']._serialized_end=916
46
+ _globals['_FINDINGEPHEMERALRUN']._serialized_start=918
47
+ _globals['_FINDINGEPHEMERALRUN']._serialized_end=994
48
+ _globals['_REMEDIATEDRUN']._serialized_start=997
49
+ _globals['_REMEDIATEDRUN']._serialized_end=1136
50
+ _globals['_REMEDIATION']._serialized_start=1139
51
+ _globals['_REMEDIATION']._serialized_end=1411
52
+ _globals['_REMEDIATEREQUEST']._serialized_start=1414
53
+ _globals['_REMEDIATEREQUEST']._serialized_end=1590
54
+ _globals['_REMEDIATERESPONSE']._serialized_start=1592
55
+ _globals['_REMEDIATERESPONSE']._serialized_end=1673
56
+ _globals['_LISTREMEDIATIONSREQUEST']._serialized_start=1675
57
+ _globals['_LISTREMEDIATIONSREQUEST']._serialized_end=1779
58
+ _globals['_LISTREMEDIATIONSRESPONSE']._serialized_start=1782
59
+ _globals['_LISTREMEDIATIONSRESPONSE']._serialized_end=1921
60
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,157 @@
1
+ import datetime
2
+
3
+ from temporal_flowrensic._gen.flowrensic.v1 import page_pb2 as _page_pb2
4
+ from google.protobuf import timestamp_pb2 as _timestamp_pb2
5
+ from google.protobuf.internal import containers as _containers
6
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import message as _message
9
+ from collections.abc import Iterable as _Iterable, Mapping as _Mapping
10
+ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
11
+
12
+ DESCRIPTOR: _descriptor.FileDescriptor
13
+
14
+ class RemediationOption(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
15
+ __slots__ = ()
16
+ REMEDIATION_OPTION_UNSPECIFIED: _ClassVar[RemediationOption]
17
+ REMEDIATION_OPTION_TERMINATE: _ClassVar[RemediationOption]
18
+ REMEDIATION_OPTION_CANCEL: _ClassVar[RemediationOption]
19
+ REMEDIATION_OPTION_RESET: _ClassVar[RemediationOption]
20
+ REMEDIATION_OPTION_UNSPECIFIED: RemediationOption
21
+ REMEDIATION_OPTION_TERMINATE: RemediationOption
22
+ REMEDIATION_OPTION_CANCEL: RemediationOption
23
+ REMEDIATION_OPTION_RESET: RemediationOption
24
+
25
+ class RemediationRun(_message.Message):
26
+ __slots__ = ("workflow_id", "run_id", "namespace", "status", "temporal_ui_url", "cli", "env")
27
+ WORKFLOW_ID_FIELD_NUMBER: _ClassVar[int]
28
+ RUN_ID_FIELD_NUMBER: _ClassVar[int]
29
+ NAMESPACE_FIELD_NUMBER: _ClassVar[int]
30
+ STATUS_FIELD_NUMBER: _ClassVar[int]
31
+ TEMPORAL_UI_URL_FIELD_NUMBER: _ClassVar[int]
32
+ CLI_FIELD_NUMBER: _ClassVar[int]
33
+ ENV_FIELD_NUMBER: _ClassVar[int]
34
+ workflow_id: str
35
+ run_id: str
36
+ namespace: str
37
+ status: str
38
+ temporal_ui_url: str
39
+ cli: str
40
+ env: str
41
+ def __init__(self, workflow_id: _Optional[str] = ..., run_id: _Optional[str] = ..., namespace: _Optional[str] = ..., status: _Optional[str] = ..., temporal_ui_url: _Optional[str] = ..., cli: _Optional[str] = ..., env: _Optional[str] = ...) -> None: ...
42
+
43
+ class RemediationChoice(_message.Message):
44
+ __slots__ = ("option", "runs")
45
+ OPTION_FIELD_NUMBER: _ClassVar[int]
46
+ RUNS_FIELD_NUMBER: _ClassVar[int]
47
+ option: RemediationOption
48
+ runs: _containers.RepeatedCompositeFieldContainer[RemediationRun]
49
+ def __init__(self, option: _Optional[_Union[RemediationOption, str]] = ..., runs: _Optional[_Iterable[_Union[RemediationRun, _Mapping]]] = ...) -> None: ...
50
+
51
+ class RemediationPlanRequest(_message.Message):
52
+ __slots__ = ("finding_id", "page")
53
+ FINDING_ID_FIELD_NUMBER: _ClassVar[int]
54
+ PAGE_FIELD_NUMBER: _ClassVar[int]
55
+ finding_id: str
56
+ page: _page_pb2.PageRequest
57
+ def __init__(self, finding_id: _Optional[str] = ..., page: _Optional[_Union[_page_pb2.PageRequest, _Mapping]] = ...) -> None: ...
58
+
59
+ class RemediationPlanResponse(_message.Message):
60
+ __slots__ = ("choices", "can_act", "why_not", "gone_runs", "off_reason", "page", "envs", "ephemeral_runs", "workers")
61
+ CHOICES_FIELD_NUMBER: _ClassVar[int]
62
+ CAN_ACT_FIELD_NUMBER: _ClassVar[int]
63
+ WHY_NOT_FIELD_NUMBER: _ClassVar[int]
64
+ GONE_RUNS_FIELD_NUMBER: _ClassVar[int]
65
+ OFF_REASON_FIELD_NUMBER: _ClassVar[int]
66
+ PAGE_FIELD_NUMBER: _ClassVar[int]
67
+ ENVS_FIELD_NUMBER: _ClassVar[int]
68
+ EPHEMERAL_RUNS_FIELD_NUMBER: _ClassVar[int]
69
+ WORKERS_FIELD_NUMBER: _ClassVar[int]
70
+ choices: _containers.RepeatedCompositeFieldContainer[RemediationChoice]
71
+ can_act: bool
72
+ why_not: str
73
+ gone_runs: int
74
+ off_reason: str
75
+ page: _page_pb2.PageResponse
76
+ envs: _containers.RepeatedScalarFieldContainer[str]
77
+ ephemeral_runs: _containers.RepeatedCompositeFieldContainer[FindingEphemeralRun]
78
+ workers: _containers.RepeatedScalarFieldContainer[str]
79
+ def __init__(self, choices: _Optional[_Iterable[_Union[RemediationChoice, _Mapping]]] = ..., can_act: bool = ..., why_not: _Optional[str] = ..., gone_runs: _Optional[int] = ..., off_reason: _Optional[str] = ..., page: _Optional[_Union[_page_pb2.PageResponse, _Mapping]] = ..., envs: _Optional[_Iterable[str]] = ..., ephemeral_runs: _Optional[_Iterable[_Union[FindingEphemeralRun, _Mapping]]] = ..., workers: _Optional[_Iterable[str]] = ...) -> None: ...
80
+
81
+ class FindingEphemeralRun(_message.Message):
82
+ __slots__ = ("env", "ephemeral_run")
83
+ ENV_FIELD_NUMBER: _ClassVar[int]
84
+ EPHEMERAL_RUN_FIELD_NUMBER: _ClassVar[int]
85
+ env: str
86
+ ephemeral_run: str
87
+ def __init__(self, env: _Optional[str] = ..., ephemeral_run: _Optional[str] = ...) -> None: ...
88
+
89
+ class RemediatedRun(_message.Message):
90
+ __slots__ = ("workflow_id", "run_id", "ok", "error", "new_run_id")
91
+ WORKFLOW_ID_FIELD_NUMBER: _ClassVar[int]
92
+ RUN_ID_FIELD_NUMBER: _ClassVar[int]
93
+ OK_FIELD_NUMBER: _ClassVar[int]
94
+ ERROR_FIELD_NUMBER: _ClassVar[int]
95
+ NEW_RUN_ID_FIELD_NUMBER: _ClassVar[int]
96
+ workflow_id: str
97
+ run_id: str
98
+ ok: bool
99
+ error: str
100
+ new_run_id: str
101
+ def __init__(self, workflow_id: _Optional[str] = ..., run_id: _Optional[str] = ..., ok: bool = ..., error: _Optional[str] = ..., new_run_id: _Optional[str] = ...) -> None: ...
102
+
103
+ class Remediation(_message.Message):
104
+ __slots__ = ("id", "finding_id", "option", "reason", "user", "ip", "at", "runs")
105
+ ID_FIELD_NUMBER: _ClassVar[int]
106
+ FINDING_ID_FIELD_NUMBER: _ClassVar[int]
107
+ OPTION_FIELD_NUMBER: _ClassVar[int]
108
+ REASON_FIELD_NUMBER: _ClassVar[int]
109
+ USER_FIELD_NUMBER: _ClassVar[int]
110
+ IP_FIELD_NUMBER: _ClassVar[int]
111
+ AT_FIELD_NUMBER: _ClassVar[int]
112
+ RUNS_FIELD_NUMBER: _ClassVar[int]
113
+ id: str
114
+ finding_id: str
115
+ option: RemediationOption
116
+ reason: str
117
+ user: str
118
+ ip: str
119
+ at: _timestamp_pb2.Timestamp
120
+ runs: _containers.RepeatedCompositeFieldContainer[RemediatedRun]
121
+ def __init__(self, id: _Optional[str] = ..., finding_id: _Optional[str] = ..., option: _Optional[_Union[RemediationOption, str]] = ..., reason: _Optional[str] = ..., user: _Optional[str] = ..., ip: _Optional[str] = ..., at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., runs: _Optional[_Iterable[_Union[RemediatedRun, _Mapping]]] = ...) -> None: ...
122
+
123
+ class RemediateRequest(_message.Message):
124
+ __slots__ = ("finding_id", "option", "run_ids", "reason", "user")
125
+ FINDING_ID_FIELD_NUMBER: _ClassVar[int]
126
+ OPTION_FIELD_NUMBER: _ClassVar[int]
127
+ RUN_IDS_FIELD_NUMBER: _ClassVar[int]
128
+ REASON_FIELD_NUMBER: _ClassVar[int]
129
+ USER_FIELD_NUMBER: _ClassVar[int]
130
+ finding_id: str
131
+ option: RemediationOption
132
+ run_ids: _containers.RepeatedScalarFieldContainer[str]
133
+ reason: str
134
+ user: str
135
+ def __init__(self, finding_id: _Optional[str] = ..., option: _Optional[_Union[RemediationOption, str]] = ..., run_ids: _Optional[_Iterable[str]] = ..., reason: _Optional[str] = ..., user: _Optional[str] = ...) -> None: ...
136
+
137
+ class RemediateResponse(_message.Message):
138
+ __slots__ = ("remediation",)
139
+ REMEDIATION_FIELD_NUMBER: _ClassVar[int]
140
+ remediation: Remediation
141
+ def __init__(self, remediation: _Optional[_Union[Remediation, _Mapping]] = ...) -> None: ...
142
+
143
+ class ListRemediationsRequest(_message.Message):
144
+ __slots__ = ("finding_id", "page")
145
+ FINDING_ID_FIELD_NUMBER: _ClassVar[int]
146
+ PAGE_FIELD_NUMBER: _ClassVar[int]
147
+ finding_id: str
148
+ page: _page_pb2.PageRequest
149
+ def __init__(self, finding_id: _Optional[str] = ..., page: _Optional[_Union[_page_pb2.PageRequest, _Mapping]] = ...) -> None: ...
150
+
151
+ class ListRemediationsResponse(_message.Message):
152
+ __slots__ = ("remediations", "page")
153
+ REMEDIATIONS_FIELD_NUMBER: _ClassVar[int]
154
+ PAGE_FIELD_NUMBER: _ClassVar[int]
155
+ remediations: _containers.RepeatedCompositeFieldContainer[Remediation]
156
+ page: _page_pb2.PageResponse
157
+ def __init__(self, remediations: _Optional[_Iterable[_Union[Remediation, _Mapping]]] = ..., page: _Optional[_Union[_page_pb2.PageResponse, _Mapping]] = ...) -> None: ...
@@ -0,0 +1,84 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: flowrensic/v1/replay.proto
5
+ # Protobuf Python Version: 6.31.1
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
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'flowrensic/v1/replay.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from temporal_flowrensic._gen.flowrensic.v1 import page_pb2 as flowrensic_dot_v1_dot_page__pb2
26
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
27
+
28
+
29
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x66lowrensic/v1/replay.proto\x12\rflowrensic.v1\x1a\x18\x66lowrensic/v1/page.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xd6\x03\n\rReplayHistory\x12\x15\n\x06run_id\x18\x01 \x01(\tR\x05runId\x12#\n\rworkflow_type\x18\x02 \x01(\tR\x0cworkflowType\x12\x10\n\x03\x65nv\x18\x03 \x01(\tR\x03\x65nv\x12!\n\x0cnamespace_id\x18\x04 \x01(\tR\x0bnamespaceId\x12\x30\n\x06status\x18\x05 \x01(\x0e\x32\x18.flowrensic.v1.RunStatusR\x06status\x12\x16\n\x06\x65vents\x18\x06 \x01(\x05R\x06\x65vents\x12\x39\n\nstarted_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartedAt\x12\x37\n\tclosed_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x08\x63losedAt\x12\x10\n\x03url\x18\t \x01(\tR\x03url\x12#\n\rcode_versions\x18\n \x03(\tR\x0c\x63odeVersions\x12\x1d\n\nsize_bytes\x18\x0b \x01(\x03R\tsizeBytes\x12&\n\x0ftemporal_ui_url\x18\x0c \x01(\tR\rtemporalUiUrl\x12\x18\n\x07history\x18\r \x01(\x0cR\x07history\"\xb1\x01\n\x1aListReplayHistoriesRequest\x12#\n\rworkflow_type\x18\x01 \x01(\tR\x0cworkflowType\x12\x12\n\x04\x65nvs\x18\x05 \x03(\tR\x04\x65nvs\x12.\n\x04page\x18\x06 \x01(\x0b\x32\x1a.flowrensic.v1.PageRequestR\x04pageJ\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05R\x03\x65nvR\x05limitR\x0c\x63ode_version\"?\n\x0eLeftOutHistory\x12\x15\n\x06run_id\x18\x01 \x01(\tR\x05runId\x12\x16\n\x06reason\x18\x02 \x01(\tR\x06reason\"\xc4\x01\n\x1bListReplayHistoriesResponse\x12:\n\thistories\x18\x01 \x03(\x0b\x32\x1c.flowrensic.v1.ReplayHistoryR\thistories\x12\x38\n\x08left_out\x18\x02 \x03(\x0b\x32\x1d.flowrensic.v1.LeftOutHistoryR\x07leftOut\x12/\n\x04page\x18\x03 \x01(\x0b\x32\x1b.flowrensic.v1.PageResponseR\x04page\",\n\x14WorkflowInterceptors\x12\x14\n\x05names\x18\x01 \x03(\tR\x05names\"\xe9\x02\n\x0cReplayResult\x12\x15\n\x06run_id\x18\x01 \x01(\tR\x05runId\x12!\n\x0c\x63ode_version\x18\x02 \x01(\tR\x0b\x63odeVersion\x12\x16\n\x06passed\x18\x03 \x01(\x08R\x06passed\x12\x14\n\x05\x65rror\x18\x04 \x01(\tR\x05\x65rror\x12#\n\rworkflow_type\x18\x05 \x01(\tR\x0cworkflowType\x12;\n\x0breplayed_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\nreplayedAt\x12X\n\x15workflow_interceptors\x18\x07 \x01(\x0b\x32#.flowrensic.v1.WorkflowInterceptorsR\x14workflowInterceptors\x12\x10\n\x03\x65nv\x18\x08 \x01(\tR\x03\x65nv\x12#\n\rephemeral_run\x18\t \x01(\tR\x0c\x65phemeralRun\"f\n\x1aIngestReplayResultsRequest\x12\x35\n\x07results\x18\x01 \x03(\x0b\x32\x1b.flowrensic.v1.ReplayResultR\x07resultsJ\x04\x08\x02\x10\x03R\x0b\x63urrent_env\"Q\n\x1bIngestReplayResultsResponse\x12\x1a\n\x08\x61\x63\x63\x65pted\x18\x01 \x01(\x05R\x08\x61\x63\x63\x65pted\x12\x16\n\x06\x66\x61iled\x18\x02 \x01(\x05R\x06\x66\x61iled\"\xa5\x01\n\x18ListReplayResultsRequest\x12#\n\rworkflow_type\x18\x01 \x01(\tR\x0cworkflowType\x12!\n\x0c\x63ode_version\x18\x02 \x01(\tR\x0b\x63odeVersion\x12.\n\x04page\x18\x04 \x01(\x0b\x32\x1a.flowrensic.v1.PageRequestR\x04pageJ\x04\x08\x03\x10\x04R\x0b\x66\x61iled_only\"\x83\x01\n\x19ListReplayResultsResponse\x12\x35\n\x07results\x18\x01 \x03(\x0b\x32\x1b.flowrensic.v1.ReplayResultR\x07results\x12/\n\x04page\x18\x02 \x01(\x0b\x32\x1b.flowrensic.v1.PageResponseR\x04page\"\xc3\x03\n\rReplayRequest\x12*\n\x02\x61t\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x02\x61t\x12\x10\n\x03\x65nv\x18\x02 \x01(\tR\x03\x65nv\x12#\n\rworkflow_type\x18\x03 \x01(\tR\x0cworkflowType\x12\x1e\n\ncandidates\x18\x05 \x01(\x05R\ncandidates\x12\x1a\n\x08returned\x18\x06 \x01(\x05R\x08returned\x12\x19\n\x08left_out\x18\x07 \x01(\x05R\x07leftOut\x12\x1d\n\nsize_bytes\x18\x08 \x01(\x03R\tsizeBytes\x12\x18\n\x07outcome\x18\t \x01(\tR\x07outcome\x12$\n\x0e\x66\x65tched_by_env\x18\n \x01(\tR\x0c\x66\x65tchedByEnv\x12\x37\n\x18\x66\x65tched_by_ephemeral_run\x18\x0b \x01(\tR\x15\x66\x65tchedByEphemeralRun\x12%\n\x0eresults_passed\x18\x0c \x01(\x05R\rresultsPassed\x12%\n\x0eresults_failed\x18\r \x01(\x05R\rresultsFailedJ\x04\x08\x04\x10\x05R\x0c\x63ode_version\"\x82\x01\n\x19ListReplayRequestsRequest\x12.\n\x04page\x18\x01 \x01(\x0b\x32\x1a.flowrensic.v1.PageRequestR\x04page\x12\x10\n\x03\x65nv\x18\x02 \x01(\tR\x03\x65nv\x12#\n\rephemeral_run\x18\x03 \x01(\tR\x0c\x65phemeralRun\"\x9b\x01\n\x1aListReplayRequestsResponse\x12\x38\n\x08requests\x18\x01 \x03(\x0b\x32\x1c.flowrensic.v1.ReplayRequestR\x08requests\x12\x12\n\x04held\x18\x02 \x01(\x03R\x04held\x12/\n\x04page\x18\x03 \x01(\x0b\x32\x1b.flowrensic.v1.PageResponseR\x04page\"\xa2\x01\n\x0eReplaySetCount\x12#\n\rworkflow_type\x18\x01 \x01(\tR\x0cworkflowType\x12\x10\n\x03\x65nv\x18\x02 \x01(\tR\x03\x65nv\x12\x1c\n\thistories\x18\x03 \x01(\x05R\thistories\x12 \n\x0bquarantined\x18\x04 \x01(\x05R\x0bquarantined\x12\x19\n\x08left_out\x18\x05 \x01(\x05R\x07leftOut\"z\n\x15ListReplaySetsRequest\x12.\n\x04page\x18\x01 \x01(\x0b\x32\x1a.flowrensic.v1.PageRequestR\x04page\x12\x10\n\x03\x65nv\x18\x02 \x01(\tR\x03\x65nv\x12\x1f\n\x0bworker_name\x18\x03 \x01(\tR\nworkerName\"\xb3\x01\n\x16ListReplaySetsResponse\x12\x31\n\x04sets\x18\x01 \x03(\x0b\x32\x1d.flowrensic.v1.ReplaySetCountR\x04sets\x12\x12\n\x04\x65nvs\x18\x02 \x03(\tR\x04\x65nvs\x12/\n\x04page\x18\x03 \x01(\x0b\x32\x1b.flowrensic.v1.PageResponseR\x04page\x12!\n\x0cworker_names\x18\x04 \x03(\tR\x0bworkerNames\"\xb1\x03\n\x12QuarantinedHistory\x12\x15\n\x06run_id\x18\x01 \x01(\tR\x05runId\x12#\n\rworkflow_type\x18\x02 \x01(\tR\x0cworkflowType\x12\x10\n\x03\x65nv\x18\x03 \x01(\tR\x03\x65nv\x12\x30\n\x06status\x18\x04 \x01(\x0e\x32\x18.flowrensic.v1.RunStatusR\x06status\x12\x39\n\nstarted_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartedAt\x12\x37\n\tclosed_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x08\x63losedAt\x12\x12\n\x04user\x18\x07 \x01(\tR\x04user\x12\x16\n\x06reason\x18\x08 \x01(\tR\x06reason\x12\x41\n\x0equarantined_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\rquarantinedAt\x12\x10\n\x03url\x18\n \x01(\tR\x03url\x12&\n\x0ftemporal_ui_url\x18\x0b \x01(\tR\rtemporalUiUrl\"|\n\x13GetReplaySetRequest\x12#\n\rworkflow_type\x18\x01 \x01(\tR\x0cworkflowType\x12.\n\x04page\x18\x02 \x01(\x0b\x32\x1a.flowrensic.v1.PageRequestR\x04page\x12\x10\n\x03\x65nv\x18\x03 \x01(\tR\x03\x65nv\"\x82\x02\n\x14GetReplaySetResponse\x12:\n\thistories\x18\x01 \x03(\x0b\x32\x1c.flowrensic.v1.ReplayHistoryR\thistories\x12\x38\n\x08left_out\x18\x02 \x03(\x0b\x32\x1d.flowrensic.v1.LeftOutHistoryR\x07leftOut\x12\x43\n\x0bquarantined\x18\x03 \x03(\x0b\x32!.flowrensic.v1.QuarantinedHistoryR\x0bquarantined\x12/\n\x04page\x18\x04 \x01(\x0b\x32\x1b.flowrensic.v1.PageResponseR\x04page\"]\n\x18QuarantineHistoryRequest\x12\x15\n\x06run_id\x18\x01 \x01(\tR\x05runId\x12\x12\n\x04user\x18\x02 \x01(\tR\x04user\x12\x16\n\x06reason\x18\x03 \x01(\tR\x06reason\"`\n\x19QuarantineHistoryResponse\x12\x43\n\x0bquarantined\x18\x01 \x01(\x0b\x32!.flowrensic.v1.QuarantinedHistoryR\x0bquarantined\".\n\x15ReleaseHistoryRequest\x12\x15\n\x06run_id\x18\x01 \x01(\tR\x05runId\"\x18\n\x16ReleaseHistoryResponse*\xf6\x01\n\tRunStatus\x12\x1a\n\x16RUN_STATUS_UNSPECIFIED\x10\x00\x12\x16\n\x12RUN_STATUS_RUNNING\x10\x01\x12\x18\n\x14RUN_STATUS_COMPLETED\x10\x02\x12\x15\n\x11RUN_STATUS_FAILED\x10\x03\x12\x17\n\x13RUN_STATUS_CANCELED\x10\x04\x12\x19\n\x15RUN_STATUS_TERMINATED\x10\x05\x12\x18\n\x14RUN_STATUS_TIMED_OUT\x10\x06\x12\x1f\n\x1bRUN_STATUS_CONTINUED_AS_NEW\x10\x07\x12\x15\n\x11RUN_STATUS_PAUSED\x10\x08\x62\x06proto3')
30
+
31
+ _globals = globals()
32
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
33
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flowrensic.v1.replay_pb2', _globals)
34
+ if not _descriptor._USE_C_DESCRIPTORS:
35
+ DESCRIPTOR._loaded_options = None
36
+ _globals['_RUNSTATUS']._serialized_start=4227
37
+ _globals['_RUNSTATUS']._serialized_end=4473
38
+ _globals['_REPLAYHISTORY']._serialized_start=105
39
+ _globals['_REPLAYHISTORY']._serialized_end=575
40
+ _globals['_LISTREPLAYHISTORIESREQUEST']._serialized_start=578
41
+ _globals['_LISTREPLAYHISTORIESREQUEST']._serialized_end=755
42
+ _globals['_LEFTOUTHISTORY']._serialized_start=757
43
+ _globals['_LEFTOUTHISTORY']._serialized_end=820
44
+ _globals['_LISTREPLAYHISTORIESRESPONSE']._serialized_start=823
45
+ _globals['_LISTREPLAYHISTORIESRESPONSE']._serialized_end=1019
46
+ _globals['_WORKFLOWINTERCEPTORS']._serialized_start=1021
47
+ _globals['_WORKFLOWINTERCEPTORS']._serialized_end=1065
48
+ _globals['_REPLAYRESULT']._serialized_start=1068
49
+ _globals['_REPLAYRESULT']._serialized_end=1429
50
+ _globals['_INGESTREPLAYRESULTSREQUEST']._serialized_start=1431
51
+ _globals['_INGESTREPLAYRESULTSREQUEST']._serialized_end=1533
52
+ _globals['_INGESTREPLAYRESULTSRESPONSE']._serialized_start=1535
53
+ _globals['_INGESTREPLAYRESULTSRESPONSE']._serialized_end=1616
54
+ _globals['_LISTREPLAYRESULTSREQUEST']._serialized_start=1619
55
+ _globals['_LISTREPLAYRESULTSREQUEST']._serialized_end=1784
56
+ _globals['_LISTREPLAYRESULTSRESPONSE']._serialized_start=1787
57
+ _globals['_LISTREPLAYRESULTSRESPONSE']._serialized_end=1918
58
+ _globals['_REPLAYREQUEST']._serialized_start=1921
59
+ _globals['_REPLAYREQUEST']._serialized_end=2372
60
+ _globals['_LISTREPLAYREQUESTSREQUEST']._serialized_start=2375
61
+ _globals['_LISTREPLAYREQUESTSREQUEST']._serialized_end=2505
62
+ _globals['_LISTREPLAYREQUESTSRESPONSE']._serialized_start=2508
63
+ _globals['_LISTREPLAYREQUESTSRESPONSE']._serialized_end=2663
64
+ _globals['_REPLAYSETCOUNT']._serialized_start=2666
65
+ _globals['_REPLAYSETCOUNT']._serialized_end=2828
66
+ _globals['_LISTREPLAYSETSREQUEST']._serialized_start=2830
67
+ _globals['_LISTREPLAYSETSREQUEST']._serialized_end=2952
68
+ _globals['_LISTREPLAYSETSRESPONSE']._serialized_start=2955
69
+ _globals['_LISTREPLAYSETSRESPONSE']._serialized_end=3134
70
+ _globals['_QUARANTINEDHISTORY']._serialized_start=3137
71
+ _globals['_QUARANTINEDHISTORY']._serialized_end=3570
72
+ _globals['_GETREPLAYSETREQUEST']._serialized_start=3572
73
+ _globals['_GETREPLAYSETREQUEST']._serialized_end=3696
74
+ _globals['_GETREPLAYSETRESPONSE']._serialized_start=3699
75
+ _globals['_GETREPLAYSETRESPONSE']._serialized_end=3957
76
+ _globals['_QUARANTINEHISTORYREQUEST']._serialized_start=3959
77
+ _globals['_QUARANTINEHISTORYREQUEST']._serialized_end=4052
78
+ _globals['_QUARANTINEHISTORYRESPONSE']._serialized_start=4054
79
+ _globals['_QUARANTINEHISTORYRESPONSE']._serialized_end=4150
80
+ _globals['_RELEASEHISTORYREQUEST']._serialized_start=4152
81
+ _globals['_RELEASEHISTORYREQUEST']._serialized_end=4198
82
+ _globals['_RELEASEHISTORYRESPONSE']._serialized_start=4200
83
+ _globals['_RELEASEHISTORYRESPONSE']._serialized_end=4224
84
+ # @@protoc_insertion_point(module_scope)