ctm-python-client 2.3.6__py3-none-any.whl → 2.4.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.
aapi/bases.py CHANGED
@@ -2,6 +2,9 @@ import attrs
2
2
  import enum
3
3
  import typing
4
4
  import json
5
+ import random
6
+ from ctm_python_client.core.comm import Environment
7
+ from ctm_python_client.core.monitoring import RunMonitor
5
8
 
6
9
  class AAPIJob:
7
10
  pass
@@ -57,4 +60,42 @@ class AAPIObject:
57
60
 
58
61
  def as_dict(self):
59
62
  return attrs.asdict(self)
60
-
63
+
64
+ def run_on_demand(self, environment: Environment, inpath: str = f'run_on_demand{random.randint(100,999)}', controlm_server: str = None,
65
+ run_as: str = None, host: str = None, application: str = None, sub_application: str = None, skip_login: bool = False,
66
+ file_path: str = None, delete_afterwards: bool = True, open_in_browser: str = None) -> RunMonitor:
67
+ # Import circular dependency
68
+ from ctm_python_client.core.workflow import Workflow, WorkflowDefaults
69
+ from aapi import Job, Folder
70
+
71
+ if isinstance(self, Job) or (hasattr(self, 'job_list') and self.job_list is not None and len(self.job_list) > 0):
72
+ try:
73
+ on_demand_workflow = Workflow(
74
+ environment,
75
+ WorkflowDefaults(
76
+ controlm_server=controlm_server,
77
+ run_as=run_as,
78
+ host=host,
79
+ application=application,
80
+ sub_application=sub_application
81
+ )
82
+ )
83
+ if isinstance(self, Folder):
84
+ on_demand_workflow.add(self)
85
+ else:
86
+ on_demand_workflow.add(self, inpath=inpath)
87
+
88
+ on_demand_workflow.run_on_demand(
89
+ skip_login=skip_login,
90
+ file_path=file_path,
91
+ delete_afterwards=delete_afterwards,
92
+ open_in_browser=open_in_browser
93
+ )
94
+ except Exception as e:
95
+ errors = [err.get('message', '') + ' ' + err.get('item', '')
96
+ for err in json.loads(e.body)['errors']]
97
+ raise RuntimeError(f"AAPI request failed: {', '.join(errors)}")
98
+ finally:
99
+ on_demand_workflow.clear_all()
100
+ else:
101
+ raise Exception('Run is not allowed for json without jobs')
@@ -483,26 +483,6 @@ class ConnectionProfileAlteryxTrifacta(ConnectionProfile):
483
483
  '_aapi_repr_': 'Connection Timeout'})
484
484
 
485
485
 
486
- @attrs.define
487
- class ConnectionProfileSnowflakeIdP(ConnectionProfile):
488
-
489
- _type: str = attrs.field(init=False, default='ConnectionProfile:Snowflake IdP', metadata={
490
- '_aapi_repr_': 'Type', '_type_aapi_': 'ConnectionProfile:Snowflake IdP'})
491
- object_name: str = attrs.field(metadata={'_aapi_name_': True})
492
- account_identifier: str = attrs.field(kw_only=True, default=None, metadata={
493
- '_aapi_repr_': 'Account Identifier'})
494
- region: str = attrs.field(kw_only=True, default=None, metadata={
495
- '_aapi_repr_': 'Region'})
496
- client_id: str = attrs.field(kw_only=True, default=None, metadata={
497
- '_aapi_repr_': 'Client ID'})
498
- client_secret: str = attrs.field(kw_only=True, default=None, metadata={
499
- '_aapi_repr_': 'Client Secret'})
500
- idp_url: str = attrs.field(kw_only=True, default=None, metadata={
501
- '_aapi_repr_': 'IDP URL'})
502
- scope: str = attrs.field(kw_only=True, default=None, metadata={
503
- '_aapi_repr_': 'Scope'})
504
-
505
-
506
486
  @attrs.define
507
487
  class ConnectionProfileAwsSQS(ConnectionProfile):
508
488
 
@@ -522,17 +502,23 @@ class ConnectionProfileAwsSQS(ConnectionProfile):
522
502
 
523
503
 
524
504
  @attrs.define
525
- class ConnectionProfileGCPDataprep(ConnectionProfile):
505
+ class ConnectionProfileSnowflakeIdP(ConnectionProfile):
526
506
 
527
- _type: str = attrs.field(init=False, default='ConnectionProfile:GCP Dataprep', metadata={
528
- '_aapi_repr_': 'Type', '_type_aapi_': 'ConnectionProfile:GCP Dataprep'})
507
+ _type: str = attrs.field(init=False, default='ConnectionProfile:Snowflake IdP', metadata={
508
+ '_aapi_repr_': 'Type', '_type_aapi_': 'ConnectionProfile:Snowflake IdP'})
529
509
  object_name: str = attrs.field(metadata={'_aapi_name_': True})
530
- gcp_dataprep_url: str = attrs.field(kw_only=True, default=None, metadata={
531
- '_aapi_repr_': 'GCP Dataprep URL'})
532
- user_access_token: str = attrs.field(kw_only=True, default=None, metadata={
533
- '_aapi_repr_': 'User Access Token'})
534
- connection_timeout: str = attrs.field(kw_only=True, default=None, metadata={
535
- '_aapi_repr_': 'Connection Timeout'})
510
+ account_identifier: str = attrs.field(kw_only=True, default=None, metadata={
511
+ '_aapi_repr_': 'Account Identifier'})
512
+ region: str = attrs.field(kw_only=True, default=None, metadata={
513
+ '_aapi_repr_': 'Region'})
514
+ client_id: str = attrs.field(kw_only=True, default=None, metadata={
515
+ '_aapi_repr_': 'Client ID'})
516
+ client_secret: str = attrs.field(kw_only=True, default=None, metadata={
517
+ '_aapi_repr_': 'Client Secret'})
518
+ idp_url: str = attrs.field(kw_only=True, default=None, metadata={
519
+ '_aapi_repr_': 'IDP URL'})
520
+ scope: str = attrs.field(kw_only=True, default=None, metadata={
521
+ '_aapi_repr_': 'Scope'})
536
522
 
537
523
 
538
524
  @attrs.define
@@ -557,6 +543,20 @@ class ConnectionProfileAwsGlue(ConnectionProfile):
557
543
  '_aapi_repr_': 'Connection Timeout'})
558
544
 
559
545
 
546
+ @attrs.define
547
+ class ConnectionProfileGCPDataprep(ConnectionProfile):
548
+
549
+ _type: str = attrs.field(init=False, default='ConnectionProfile:GCP Dataprep', metadata={
550
+ '_aapi_repr_': 'Type', '_type_aapi_': 'ConnectionProfile:GCP Dataprep'})
551
+ object_name: str = attrs.field(metadata={'_aapi_name_': True})
552
+ gcp_dataprep_url: str = attrs.field(kw_only=True, default=None, metadata={
553
+ '_aapi_repr_': 'GCP Dataprep URL'})
554
+ user_access_token: str = attrs.field(kw_only=True, default=None, metadata={
555
+ '_aapi_repr_': 'User Access Token'})
556
+ connection_timeout: str = attrs.field(kw_only=True, default=None, metadata={
557
+ '_aapi_repr_': 'Connection Timeout'})
558
+
559
+
560
560
  @attrs.define
561
561
  class ConnectionProfileAwsGlueDataBrew(ConnectionProfile):
562
562
 
@@ -719,34 +719,6 @@ class ConnectionProfileTableau(ConnectionProfile):
719
719
  '_aapi_repr_': 'Connection timeout'})
720
720
 
721
721
 
722
- @attrs.define
723
- class ConnectionProfileAzureVM(ConnectionProfile):
724
-
725
- _type: str = attrs.field(init=False, default='ConnectionProfile:Azure VM', metadata={
726
- '_aapi_repr_': 'Type', '_type_aapi_': 'ConnectionProfile:Azure VM'})
727
- object_name: str = attrs.field(metadata={'_aapi_name_': True})
728
- subscription_id: str = attrs.field(kw_only=True, default=None, metadata={
729
- '_aapi_repr_': 'Subscription ID'})
730
- authentication_method: str = attrs.field(kw_only=True, default=None, metadata={
731
- '_aapi_repr_': 'Authentication Method'})
732
- specify_managed_identity_client_id: str = attrs.field(kw_only=True, default=None, metadata={
733
- '_aapi_repr_': 'Specify Managed Identity Client ID'})
734
- managed_identity_client_id: str = attrs.field(kw_only=True, default=None, metadata={
735
- '_aapi_repr_': 'Managed Identity Client ID'})
736
- resource_group: str = attrs.field(kw_only=True, default=None, metadata={
737
- '_aapi_repr_': 'Resource Group'})
738
- tenant_id: str = attrs.field(kw_only=True, default=None, metadata={
739
- '_aapi_repr_': 'Tenant ID'})
740
- application_id: str = attrs.field(kw_only=True, default=None, metadata={
741
- '_aapi_repr_': 'Application ID'})
742
- client_secret: str = attrs.field(kw_only=True, default=None, metadata={
743
- '_aapi_repr_': 'Client Secret'})
744
- azure_login_url: str = attrs.field(kw_only=True, default=None, metadata={
745
- '_aapi_repr_': 'Azure Login url'})
746
- connection_timeout: str = attrs.field(kw_only=True, default=None, metadata={
747
- '_aapi_repr_': 'Connection timeout'})
748
-
749
-
750
722
  @attrs.define
751
723
  class ConnectionProfileGCPComposer(ConnectionProfile):
752
724
 
@@ -780,17 +752,47 @@ class ConnectionProfileGCPDataplex(ConnectionProfile):
780
752
 
781
753
 
782
754
  @attrs.define
783
- class ConnectionProfileDBT(ConnectionProfile):
755
+ class ConnectionProfileAzureVM(ConnectionProfile):
784
756
 
785
- _type: str = attrs.field(init=False, default='ConnectionProfile:DBT', metadata={
786
- '_aapi_repr_': 'Type', '_type_aapi_': 'ConnectionProfile:DBT'})
757
+ _type: str = attrs.field(init=False, default='ConnectionProfile:Azure VM', metadata={
758
+ '_aapi_repr_': 'Type', '_type_aapi_': 'ConnectionProfile:Azure VM'})
787
759
  object_name: str = attrs.field(metadata={'_aapi_name_': True})
788
- dbt_url: str = attrs.field(kw_only=True, default=None, metadata={
789
- '_aapi_repr_': 'DBT URL'})
790
- dbt_token: str = attrs.field(kw_only=True, default=None, metadata={
791
- '_aapi_repr_': 'DBT Token'})
792
- account_id: str = attrs.field(kw_only=True, default=None, metadata={
793
- '_aapi_repr_': 'Account ID'})
760
+ subscription_id: str = attrs.field(kw_only=True, default=None, metadata={
761
+ '_aapi_repr_': 'Subscription ID'})
762
+ authentication_method: str = attrs.field(kw_only=True, default=None, metadata={
763
+ '_aapi_repr_': 'Authentication Method'})
764
+ specify_managed_identity_client_id: str = attrs.field(kw_only=True, default=None, metadata={
765
+ '_aapi_repr_': 'Specify Managed Identity Client ID'})
766
+ managed_identity_client_id: str = attrs.field(kw_only=True, default=None, metadata={
767
+ '_aapi_repr_': 'Managed Identity Client ID'})
768
+ resource_group: str = attrs.field(kw_only=True, default=None, metadata={
769
+ '_aapi_repr_': 'Resource Group'})
770
+ tenant_id: str = attrs.field(kw_only=True, default=None, metadata={
771
+ '_aapi_repr_': 'Tenant ID'})
772
+ application_id: str = attrs.field(kw_only=True, default=None, metadata={
773
+ '_aapi_repr_': 'Application ID'})
774
+ client_secret: str = attrs.field(kw_only=True, default=None, metadata={
775
+ '_aapi_repr_': 'Client Secret'})
776
+ azure_login_url: str = attrs.field(kw_only=True, default=None, metadata={
777
+ '_aapi_repr_': 'Azure Login url'})
778
+ connection_timeout: str = attrs.field(kw_only=True, default=None, metadata={
779
+ '_aapi_repr_': 'Connection timeout'})
780
+
781
+
782
+ @attrs.define
783
+ class ConnectionProfileApacheNiFi(ConnectionProfile):
784
+
785
+ _type: str = attrs.field(init=False, default='ConnectionProfile:Apache NiFi', metadata={
786
+ '_aapi_repr_': 'Type', '_type_aapi_': 'ConnectionProfile:Apache NiFi'})
787
+ object_name: str = attrs.field(metadata={'_aapi_name_': True})
788
+ ni_fi_url: str = attrs.field(kw_only=True, default=None, metadata={
789
+ '_aapi_repr_': 'NiFi URL'})
790
+ port: str = attrs.field(kw_only=True, default=None,
791
+ metadata={'_aapi_repr_': 'Port'})
792
+ username: str = attrs.field(kw_only=True, default=None, metadata={
793
+ '_aapi_repr_': 'Username'})
794
+ password: str = attrs.field(kw_only=True, default=None, metadata={
795
+ '_aapi_repr_': 'Password'})
794
796
  connection_timeout: str = attrs.field(kw_only=True, default=None, metadata={
795
797
  '_aapi_repr_': 'Connection Timeout'})
796
798
 
@@ -818,19 +820,17 @@ class ConnectionProfileAwsAthena(ConnectionProfile):
818
820
 
819
821
 
820
822
  @attrs.define
821
- class ConnectionProfileApacheNiFi(ConnectionProfile):
823
+ class ConnectionProfileDBT(ConnectionProfile):
822
824
 
823
- _type: str = attrs.field(init=False, default='ConnectionProfile:Apache NiFi', metadata={
824
- '_aapi_repr_': 'Type', '_type_aapi_': 'ConnectionProfile:Apache NiFi'})
825
+ _type: str = attrs.field(init=False, default='ConnectionProfile:DBT', metadata={
826
+ '_aapi_repr_': 'Type', '_type_aapi_': 'ConnectionProfile:DBT'})
825
827
  object_name: str = attrs.field(metadata={'_aapi_name_': True})
826
- ni_fi_url: str = attrs.field(kw_only=True, default=None, metadata={
827
- '_aapi_repr_': 'NiFi URL'})
828
- port: str = attrs.field(kw_only=True, default=None,
829
- metadata={'_aapi_repr_': 'Port'})
830
- username: str = attrs.field(kw_only=True, default=None, metadata={
831
- '_aapi_repr_': 'Username'})
832
- password: str = attrs.field(kw_only=True, default=None, metadata={
833
- '_aapi_repr_': 'Password'})
828
+ dbt_url: str = attrs.field(kw_only=True, default=None, metadata={
829
+ '_aapi_repr_': 'DBT URL'})
830
+ dbt_token: str = attrs.field(kw_only=True, default=None, metadata={
831
+ '_aapi_repr_': 'DBT Token'})
832
+ account_id: str = attrs.field(kw_only=True, default=None, metadata={
833
+ '_aapi_repr_': 'Account ID'})
834
834
  connection_timeout: str = attrs.field(kw_only=True, default=None, metadata={
835
835
  '_aapi_repr_': 'Connection Timeout'})
836
836
 
@@ -1071,6 +1071,32 @@ class ConnectionProfileAzureMachineLearning(ConnectionProfile):
1071
1071
  '_aapi_repr_': 'Connection Timeout'})
1072
1072
 
1073
1073
 
1074
+ @attrs.define
1075
+ class ConnectionProfileOCIDataFlow(ConnectionProfile):
1076
+
1077
+ _type: str = attrs.field(init=False, default='ConnectionProfile:OCI Data Flow', metadata={
1078
+ '_aapi_repr_': 'Type', '_type_aapi_': 'ConnectionProfile:OCI Data Flow'})
1079
+ object_name: str = attrs.field(metadata={'_aapi_name_': True})
1080
+ oci_data_flow_url: str = attrs.field(kw_only=True, default=None, metadata={
1081
+ '_aapi_repr_': 'OCI Data Flow URL'})
1082
+ oci_region: str = attrs.field(kw_only=True, default=None, metadata={
1083
+ '_aapi_repr_': 'OCI Region'})
1084
+ authentication: str = attrs.field(kw_only=True, default=None, metadata={
1085
+ '_aapi_repr_': 'Authentication'})
1086
+ user_ocid: str = attrs.field(kw_only=True, default=None, metadata={
1087
+ '_aapi_repr_': 'User OCID'})
1088
+ tenancy_ocid: str = attrs.field(kw_only=True, default=None, metadata={
1089
+ '_aapi_repr_': 'Tenancy OCID'})
1090
+ fingerprint: str = attrs.field(kw_only=True, default=None, metadata={
1091
+ '_aapi_repr_': 'Fingerprint'})
1092
+ private_key: str = attrs.field(kw_only=True, default=None, metadata={
1093
+ '_aapi_repr_': 'Private Key'})
1094
+ config_file_path: str = attrs.field(kw_only=True, default=None, metadata={
1095
+ '_aapi_repr_': 'Config File Path'})
1096
+ connection_timeout: str = attrs.field(kw_only=True, default=None, metadata={
1097
+ '_aapi_repr_': 'Connection Timeout'})
1098
+
1099
+
1074
1100
  @attrs.define
1075
1101
  class ConnectionProfileAzureDataFactory(ConnectionProfile):
1076
1102
 
@@ -1100,27 +1126,19 @@ class ConnectionProfileAzureDataFactory(ConnectionProfile):
1100
1126
 
1101
1127
 
1102
1128
  @attrs.define
1103
- class ConnectionProfileOCIDataFlow(ConnectionProfile):
1129
+ class ConnectionProfileInformaticaCS(ConnectionProfile):
1104
1130
 
1105
- _type: str = attrs.field(init=False, default='ConnectionProfile:OCI Data Flow', metadata={
1106
- '_aapi_repr_': 'Type', '_type_aapi_': 'ConnectionProfile:OCI Data Flow'})
1131
+ _type: str = attrs.field(init=False, default='ConnectionProfile:Informatica CS', metadata={
1132
+ '_aapi_repr_': 'Type', '_type_aapi_': 'ConnectionProfile:Informatica CS'})
1107
1133
  object_name: str = attrs.field(metadata={'_aapi_name_': True})
1108
- oci_data_flow_url: str = attrs.field(kw_only=True, default=None, metadata={
1109
- '_aapi_repr_': 'OCI Data Flow URL'})
1110
- oci_region: str = attrs.field(kw_only=True, default=None, metadata={
1111
- '_aapi_repr_': 'OCI Region'})
1112
- authentication: str = attrs.field(kw_only=True, default=None, metadata={
1113
- '_aapi_repr_': 'Authentication'})
1114
- user_ocid: str = attrs.field(kw_only=True, default=None, metadata={
1115
- '_aapi_repr_': 'User OCID'})
1116
- tenancy_ocid: str = attrs.field(kw_only=True, default=None, metadata={
1117
- '_aapi_repr_': 'Tenancy OCID'})
1118
- fingerprint: str = attrs.field(kw_only=True, default=None, metadata={
1119
- '_aapi_repr_': 'Fingerprint'})
1120
- private_key: str = attrs.field(kw_only=True, default=None, metadata={
1121
- '_aapi_repr_': 'Private Key'})
1122
- config_file_path: str = attrs.field(kw_only=True, default=None, metadata={
1123
- '_aapi_repr_': 'Config File Path'})
1134
+ login_url: str = attrs.field(kw_only=True, default=None, metadata={
1135
+ '_aapi_repr_': 'Login URL'})
1136
+ base_url: str = attrs.field(kw_only=True, default=None, metadata={
1137
+ '_aapi_repr_': 'Base URL'})
1138
+ username: str = attrs.field(kw_only=True, default=None, metadata={
1139
+ '_aapi_repr_': 'Username'})
1140
+ password: str = attrs.field(kw_only=True, default=None, metadata={
1141
+ '_aapi_repr_': 'Password'})
1124
1142
  connection_timeout: str = attrs.field(kw_only=True, default=None, metadata={
1125
1143
  '_aapi_repr_': 'Connection Timeout'})
1126
1144
 
@@ -1147,24 +1165,6 @@ class ConnectionProfileAwsStepFunctions(ConnectionProfile):
1147
1165
  '_aapi_repr_': 'Connection Timeout'})
1148
1166
 
1149
1167
 
1150
- @attrs.define
1151
- class ConnectionProfileInformaticaCS(ConnectionProfile):
1152
-
1153
- _type: str = attrs.field(init=False, default='ConnectionProfile:Informatica CS', metadata={
1154
- '_aapi_repr_': 'Type', '_type_aapi_': 'ConnectionProfile:Informatica CS'})
1155
- object_name: str = attrs.field(metadata={'_aapi_name_': True})
1156
- login_url: str = attrs.field(kw_only=True, default=None, metadata={
1157
- '_aapi_repr_': 'Login URL'})
1158
- base_url: str = attrs.field(kw_only=True, default=None, metadata={
1159
- '_aapi_repr_': 'Base URL'})
1160
- username: str = attrs.field(kw_only=True, default=None, metadata={
1161
- '_aapi_repr_': 'Username'})
1162
- password: str = attrs.field(kw_only=True, default=None, metadata={
1163
- '_aapi_repr_': 'Password'})
1164
- connection_timeout: str = attrs.field(kw_only=True, default=None, metadata={
1165
- '_aapi_repr_': 'Connection Timeout'})
1166
-
1167
-
1168
1168
  @attrs.define
1169
1169
  class ConnectionProfileWebServicesSOAP(ConnectionProfile):
1170
1170
 
@@ -1477,28 +1477,6 @@ class ConnectionProfileOCIVM(ConnectionProfile):
1477
1477
  '_aapi_repr_': 'Connection Timeout'})
1478
1478
 
1479
1479
 
1480
- @attrs.define
1481
- class ConnectionProfileAwsDataPipeline(ConnectionProfile):
1482
-
1483
- _type: str = attrs.field(init=False, default='ConnectionProfile:AWS Data Pipeline', metadata={
1484
- '_aapi_repr_': 'Type', '_type_aapi_': 'ConnectionProfile:AWS Data Pipeline'})
1485
- object_name: str = attrs.field(metadata={'_aapi_name_': True})
1486
- data_pipeline_url: str = attrs.field(kw_only=True, default=None, metadata={
1487
- '_aapi_repr_': 'Data Pipeline URL'})
1488
- aws_region: str = attrs.field(kw_only=True, default=None, metadata={
1489
- '_aapi_repr_': 'AWS Region'})
1490
- authentication: str = attrs.field(kw_only=True, default=None, metadata={
1491
- '_aapi_repr_': 'Authentication'})
1492
- aws_access_key: str = attrs.field(kw_only=True, default=None, metadata={
1493
- '_aapi_repr_': 'AWS Access Key'})
1494
- aws_secret: str = attrs.field(kw_only=True, default=None, metadata={
1495
- '_aapi_repr_': 'AWS Secret'})
1496
- iam_role: str = attrs.field(kw_only=True, default=None, metadata={
1497
- '_aapi_repr_': 'IAM Role'})
1498
- connection_timeout: str = attrs.field(kw_only=True, default=None, metadata={
1499
- '_aapi_repr_': 'Connection Timeout'})
1500
-
1501
-
1502
1480
  @attrs.define
1503
1481
  class ConnectionProfileOCIDataIntegration(ConnectionProfile):
1504
1482
 
@@ -1527,6 +1505,28 @@ class ConnectionProfileOCIDataIntegration(ConnectionProfile):
1527
1505
  '_aapi_repr_': 'Connection Timeout'})
1528
1506
 
1529
1507
 
1508
+ @attrs.define
1509
+ class ConnectionProfileAwsDataPipeline(ConnectionProfile):
1510
+
1511
+ _type: str = attrs.field(init=False, default='ConnectionProfile:AWS Data Pipeline', metadata={
1512
+ '_aapi_repr_': 'Type', '_type_aapi_': 'ConnectionProfile:AWS Data Pipeline'})
1513
+ object_name: str = attrs.field(metadata={'_aapi_name_': True})
1514
+ data_pipeline_url: str = attrs.field(kw_only=True, default=None, metadata={
1515
+ '_aapi_repr_': 'Data Pipeline URL'})
1516
+ aws_region: str = attrs.field(kw_only=True, default=None, metadata={
1517
+ '_aapi_repr_': 'AWS Region'})
1518
+ authentication: str = attrs.field(kw_only=True, default=None, metadata={
1519
+ '_aapi_repr_': 'Authentication'})
1520
+ aws_access_key: str = attrs.field(kw_only=True, default=None, metadata={
1521
+ '_aapi_repr_': 'AWS Access Key'})
1522
+ aws_secret: str = attrs.field(kw_only=True, default=None, metadata={
1523
+ '_aapi_repr_': 'AWS Secret'})
1524
+ iam_role: str = attrs.field(kw_only=True, default=None, metadata={
1525
+ '_aapi_repr_': 'IAM Role'})
1526
+ connection_timeout: str = attrs.field(kw_only=True, default=None, metadata={
1527
+ '_aapi_repr_': 'Connection Timeout'})
1528
+
1529
+
1530
1530
  @attrs.define
1531
1531
  class ConnectionProfileMicroFocusWindows(ConnectionProfile):
1532
1532
 
@@ -654,6 +654,43 @@ class JobAlteryxTrifacta(Job):
654
654
  '_aapi_repr_': 'Status Polling Frequency'})
655
655
 
656
656
 
657
+ @attrs.define
658
+ class JobAwsSQS(Job):
659
+
660
+ _type: str = attrs.field(init=False, default='Job:AWS SQS', metadata={
661
+ '_aapi_repr_': 'Type', '_type_aapi_': 'Job:AWS SQS'})
662
+ object_name: str = attrs.field(metadata={'_aapi_name_': True})
663
+ connection_profile: str = attrs.field(kw_only=True, default=None, metadata={
664
+ '_aapi_repr_': 'ConnectionProfile'})
665
+ action_type: str = attrs.field(kw_only=True, default=None, metadata={
666
+ '_aapi_repr_': 'Action Type'})
667
+ queue_type: str = attrs.field(kw_only=True, default=None, metadata={
668
+ '_aapi_repr_': 'Queue Type'})
669
+ parameters: str = attrs.field(kw_only=True, default=None, metadata={
670
+ '_aapi_repr_': 'Parameters'})
671
+ queue_url: str = attrs.field(kw_only=True, default=None, metadata={
672
+ '_aapi_repr_': 'Queue URL'})
673
+ message_body: str = attrs.field(kw_only=True, default=None, metadata={
674
+ '_aapi_repr_': 'Message Body'})
675
+ delay_seconds: str = attrs.field(kw_only=True, default=None, metadata={
676
+ '_aapi_repr_': 'Delay Seconds'})
677
+ message_deduplication_id: str = attrs.field(kw_only=True, default=None, metadata={
678
+ '_aapi_repr_': 'Message Deduplication ID'})
679
+ message_group_id: str = attrs.field(kw_only=True, default=None, metadata={
680
+ '_aapi_repr_': 'Message Group ID'})
681
+ message_attributes: str = attrs.field(kw_only=True, default=None, metadata={
682
+ '_aapi_repr_': 'Message Attributes'})
683
+ attribute1_name: str = attrs.field(kw_only=True, default=None, metadata={'_aapi_repr_': 'Attribute.1 Name'})
684
+ attribute1_data_type: str = attrs.field(kw_only=True, default=None, metadata={'_aapi_repr_': 'Attribute.1 DataType'})
685
+ attribute1_value: str = attrs.field(kw_only=True, default=None, metadata={'_aapi_repr_': 'Attribute.1 Value'})
686
+ attribute2_name: str = attrs.field(kw_only=True, default=None, metadata={'_aapi_repr_': 'Attribute.2 Name'})
687
+ attribute2_data_type: str = attrs.field(kw_only=True, default=None, metadata={'_aapi_repr_': 'Attribute.2 DataType'})
688
+ attribute2_value: str = attrs.field(kw_only=True, default=None, metadata={'_aapi_repr_': 'Attribute.2 Value'})
689
+ attribute3_name: str = attrs.field(kw_only=True, default=None, metadata={'_aapi_repr_': 'Attribute.3 Name'})
690
+ attribute3_data_type: str = attrs.field(kw_only=True, default=None, metadata={'_aapi_repr_': 'Attribute.3 DataType'})
691
+ attribute3_value: str = attrs.field(kw_only=True, default=None, metadata={'_aapi_repr_': 'Attribute.3 Value'})
692
+
693
+
657
694
  @attrs.define
658
695
  class JobSnowflakeIdP(Job):
659
696
 
@@ -741,40 +778,23 @@ class JobSnowflakeIdP(Job):
741
778
 
742
779
 
743
780
  @attrs.define
744
- class JobAwsSQS(Job):
781
+ class JobAwsGlue(Job):
745
782
 
746
- _type: str = attrs.field(init=False, default='Job:AWS SQS', metadata={
747
- '_aapi_repr_': 'Type', '_type_aapi_': 'Job:AWS SQS'})
783
+ _type: str = attrs.field(init=False, default='Job:AWS Glue', metadata={
784
+ '_aapi_repr_': 'Type', '_type_aapi_': 'Job:AWS Glue'})
748
785
  object_name: str = attrs.field(metadata={'_aapi_name_': True})
749
786
  connection_profile: str = attrs.field(kw_only=True, default=None, metadata={
750
787
  '_aapi_repr_': 'ConnectionProfile'})
751
- action_type: str = attrs.field(kw_only=True, default=None, metadata={
752
- '_aapi_repr_': 'Action Type'})
753
- queue_type: str = attrs.field(kw_only=True, default=None, metadata={
754
- '_aapi_repr_': 'Queue Type'})
755
- parameters: str = attrs.field(kw_only=True, default=None, metadata={
756
- '_aapi_repr_': 'Parameters'})
757
- queue_url: str = attrs.field(kw_only=True, default=None, metadata={
758
- '_aapi_repr_': 'Queue URL'})
759
- message_body: str = attrs.field(kw_only=True, default=None, metadata={
760
- '_aapi_repr_': 'Message Body'})
761
- delay_seconds: str = attrs.field(kw_only=True, default=None, metadata={
762
- '_aapi_repr_': 'Delay Seconds'})
763
- message_deduplication_id: str = attrs.field(kw_only=True, default=None, metadata={
764
- '_aapi_repr_': 'Message Deduplication ID'})
765
- message_group_id: str = attrs.field(kw_only=True, default=None, metadata={
766
- '_aapi_repr_': 'Message Group ID'})
767
- message_attributes: str = attrs.field(kw_only=True, default=None, metadata={
768
- '_aapi_repr_': 'Message Attributes'})
769
- attribute1_name: str = attrs.field(kw_only=True, default=None, metadata={'_aapi_repr_': 'Attribute.1 Name'})
770
- attribute1_data_type: str = attrs.field(kw_only=True, default=None, metadata={'_aapi_repr_': 'Attribute.1 DataType'})
771
- attribute1_value: str = attrs.field(kw_only=True, default=None, metadata={'_aapi_repr_': 'Attribute.1 Value'})
772
- attribute2_name: str = attrs.field(kw_only=True, default=None, metadata={'_aapi_repr_': 'Attribute.2 Name'})
773
- attribute2_data_type: str = attrs.field(kw_only=True, default=None, metadata={'_aapi_repr_': 'Attribute.2 DataType'})
774
- attribute2_value: str = attrs.field(kw_only=True, default=None, metadata={'_aapi_repr_': 'Attribute.2 Value'})
775
- attribute3_name: str = attrs.field(kw_only=True, default=None, metadata={'_aapi_repr_': 'Attribute.3 Name'})
776
- attribute3_data_type: str = attrs.field(kw_only=True, default=None, metadata={'_aapi_repr_': 'Attribute.3 DataType'})
777
- attribute3_value: str = attrs.field(kw_only=True, default=None, metadata={'_aapi_repr_': 'Attribute.3 Value'})
788
+ glue_job_name: str = attrs.field(kw_only=True, default=None, metadata={
789
+ '_aapi_repr_': 'Glue Job Name'})
790
+ glue_job_arguments: str = attrs.field(kw_only=True, default=None, metadata={
791
+ '_aapi_repr_': 'Glue Job Arguments'})
792
+ arguments: str = attrs.field(kw_only=True, default=None, metadata={
793
+ '_aapi_repr_': 'Arguments'})
794
+ status_polling_frequency: str = attrs.field(kw_only=True, default=None, metadata={
795
+ '_aapi_repr_': 'Status Polling Frequency'})
796
+ failure_tolerance: str = attrs.field(kw_only=True, default=None, metadata={
797
+ '_aapi_repr_': 'Failure Tolerance'})
778
798
 
779
799
 
780
800
  @attrs.define
@@ -799,26 +819,6 @@ class JobGCPDataprep(Job):
799
819
  '_aapi_repr_': 'Failure Tolerance'})
800
820
 
801
821
 
802
- @attrs.define
803
- class JobAwsGlue(Job):
804
-
805
- _type: str = attrs.field(init=False, default='Job:AWS Glue', metadata={
806
- '_aapi_repr_': 'Type', '_type_aapi_': 'Job:AWS Glue'})
807
- object_name: str = attrs.field(metadata={'_aapi_name_': True})
808
- connection_profile: str = attrs.field(kw_only=True, default=None, metadata={
809
- '_aapi_repr_': 'ConnectionProfile'})
810
- glue_job_name: str = attrs.field(kw_only=True, default=None, metadata={
811
- '_aapi_repr_': 'Glue Job Name'})
812
- glue_job_arguments: str = attrs.field(kw_only=True, default=None, metadata={
813
- '_aapi_repr_': 'Glue Job Arguments'})
814
- arguments: str = attrs.field(kw_only=True, default=None, metadata={
815
- '_aapi_repr_': 'Arguments'})
816
- status_polling_frequency: str = attrs.field(kw_only=True, default=None, metadata={
817
- '_aapi_repr_': 'Status Polling Frequency'})
818
- failure_tolerance: str = attrs.field(kw_only=True, default=None, metadata={
819
- '_aapi_repr_': 'Failure Tolerance'})
820
-
821
-
822
822
  @attrs.define
823
823
  class JobAwsGlueDataBrew(Job):
824
824
 
@@ -997,30 +997,6 @@ class JobTableau(Job):
997
997
  '_aapi_repr_': 'Failure Tolerance'})
998
998
 
999
999
 
1000
- @attrs.define
1001
- class JobAzureVM(Job):
1002
-
1003
- _type: str = attrs.field(init=False, default='Job:Azure VM', metadata={
1004
- '_aapi_repr_': 'Type', '_type_aapi_': 'Job:Azure VM'})
1005
- object_name: str = attrs.field(metadata={'_aapi_name_': True})
1006
- connection_profile: str = attrs.field(kw_only=True, default=None, metadata={
1007
- '_aapi_repr_': 'ConnectionProfile'})
1008
- vm_name: str = attrs.field(kw_only=True, default=None, metadata={
1009
- '_aapi_repr_': 'VM Name'})
1010
- operation: str = attrs.field(kw_only=True, default=None, metadata={
1011
- '_aapi_repr_': 'Operation'})
1012
- input_parameters: str = attrs.field(kw_only=True, default=None, metadata={
1013
- '_aapi_repr_': 'Input Parameters'})
1014
- verification_poll_interval: str = attrs.field(kw_only=True, default=None, metadata={
1015
- '_aapi_repr_': 'Verification Poll Interval'})
1016
- delete_vm_os_disk: str = attrs.field(kw_only=True, default=None, metadata={
1017
- '_aapi_repr_': 'Delete VM OS Disk'})
1018
- tolerance: str = attrs.field(kw_only=True, default=None, metadata={
1019
- '_aapi_repr_': 'Tolerance'})
1020
- get_logs: str = attrs.field(kw_only=True, default=None, metadata={
1021
- '_aapi_repr_': 'Get Logs'})
1022
-
1023
-
1024
1000
  @attrs.define
1025
1001
  class JobGCPComposer(Job):
1026
1002
 
@@ -1068,21 +1044,47 @@ class JobGCPDataplex(Job):
1068
1044
 
1069
1045
 
1070
1046
  @attrs.define
1071
- class JobDBT(Job):
1047
+ class JobAzureVM(Job):
1072
1048
 
1073
- _type: str = attrs.field(init=False, default='Job:DBT', metadata={
1074
- '_aapi_repr_': 'Type', '_type_aapi_': 'Job:DBT'})
1049
+ _type: str = attrs.field(init=False, default='Job:Azure VM', metadata={
1050
+ '_aapi_repr_': 'Type', '_type_aapi_': 'Job:Azure VM'})
1075
1051
  object_name: str = attrs.field(metadata={'_aapi_name_': True})
1076
1052
  connection_profile: str = attrs.field(kw_only=True, default=None, metadata={
1077
1053
  '_aapi_repr_': 'ConnectionProfile'})
1078
- dbt_job_id: str = attrs.field(kw_only=True, default=None, metadata={
1079
- '_aapi_repr_': 'DBT Job Id'})
1080
- run_comment: str = attrs.field(kw_only=True, default=None, metadata={
1081
- '_aapi_repr_': 'Run Comment'})
1082
- override_job_commands: str = attrs.field(kw_only=True, default=None, metadata={
1083
- '_aapi_repr_': 'Override Job Commands'})
1084
- define_commands: str = attrs.field(kw_only=True, default=None, metadata={
1085
- '_aapi_repr_': 'Define Commands'})
1054
+ vm_name: str = attrs.field(kw_only=True, default=None, metadata={
1055
+ '_aapi_repr_': 'VM Name'})
1056
+ operation: str = attrs.field(kw_only=True, default=None, metadata={
1057
+ '_aapi_repr_': 'Operation'})
1058
+ input_parameters: str = attrs.field(kw_only=True, default=None, metadata={
1059
+ '_aapi_repr_': 'Input Parameters'})
1060
+ verification_poll_interval: str = attrs.field(kw_only=True, default=None, metadata={
1061
+ '_aapi_repr_': 'Verification Poll Interval'})
1062
+ delete_vm_os_disk: str = attrs.field(kw_only=True, default=None, metadata={
1063
+ '_aapi_repr_': 'Delete VM OS Disk'})
1064
+ tolerance: str = attrs.field(kw_only=True, default=None, metadata={
1065
+ '_aapi_repr_': 'Tolerance'})
1066
+ get_logs: str = attrs.field(kw_only=True, default=None, metadata={
1067
+ '_aapi_repr_': 'Get Logs'})
1068
+
1069
+
1070
+ @attrs.define
1071
+ class JobApacheNiFi(Job):
1072
+
1073
+ _type: str = attrs.field(init=False, default='Job:Apache NiFi', metadata={
1074
+ '_aapi_repr_': 'Type', '_type_aapi_': 'Job:Apache NiFi'})
1075
+ object_name: str = attrs.field(metadata={'_aapi_name_': True})
1076
+ connection_profile: str = attrs.field(kw_only=True, default=None, metadata={
1077
+ '_aapi_repr_': 'ConnectionProfile'})
1078
+ processor_group_id: str = attrs.field(kw_only=True, default=None, metadata={
1079
+ '_aapi_repr_': 'Processor Group ID'})
1080
+ processor_id: str = attrs.field(kw_only=True, default=None, metadata={
1081
+ '_aapi_repr_': 'Processor ID'})
1082
+ action: str = attrs.field(kw_only=True, default=None, metadata={
1083
+ '_aapi_repr_': 'Action'})
1084
+ disconnected_node_ack: str = attrs.field(kw_only=True, default=None, metadata={
1085
+ '_aapi_repr_': 'Disconnected Node Ack'})
1086
+ parameters_: str = attrs.field(kw_only=True, default=None, metadata={
1087
+ '_aapi_repr_': 'Parameters '})
1086
1088
  status_polling_frequency: str = attrs.field(kw_only=True, default=None, metadata={
1087
1089
  '_aapi_repr_': 'Status Polling Frequency'})
1088
1090
  failure_tolerance: str = attrs.field(kw_only=True, default=None, metadata={
@@ -1138,23 +1140,21 @@ class JobAwsAthena(Job):
1138
1140
 
1139
1141
 
1140
1142
  @attrs.define
1141
- class JobApacheNiFi(Job):
1143
+ class JobDBT(Job):
1142
1144
 
1143
- _type: str = attrs.field(init=False, default='Job:Apache NiFi', metadata={
1144
- '_aapi_repr_': 'Type', '_type_aapi_': 'Job:Apache NiFi'})
1145
+ _type: str = attrs.field(init=False, default='Job:DBT', metadata={
1146
+ '_aapi_repr_': 'Type', '_type_aapi_': 'Job:DBT'})
1145
1147
  object_name: str = attrs.field(metadata={'_aapi_name_': True})
1146
1148
  connection_profile: str = attrs.field(kw_only=True, default=None, metadata={
1147
1149
  '_aapi_repr_': 'ConnectionProfile'})
1148
- processor_group_id: str = attrs.field(kw_only=True, default=None, metadata={
1149
- '_aapi_repr_': 'Processor Group ID'})
1150
- processor_id: str = attrs.field(kw_only=True, default=None, metadata={
1151
- '_aapi_repr_': 'Processor ID'})
1152
- action: str = attrs.field(kw_only=True, default=None, metadata={
1153
- '_aapi_repr_': 'Action'})
1154
- disconnected_node_ack: str = attrs.field(kw_only=True, default=None, metadata={
1155
- '_aapi_repr_': 'Disconnected Node Ack'})
1156
- parameters_: str = attrs.field(kw_only=True, default=None, metadata={
1157
- '_aapi_repr_': 'Parameters '})
1150
+ dbt_job_id: str = attrs.field(kw_only=True, default=None, metadata={
1151
+ '_aapi_repr_': 'DBT Job Id'})
1152
+ run_comment: str = attrs.field(kw_only=True, default=None, metadata={
1153
+ '_aapi_repr_': 'Run Comment'})
1154
+ override_job_commands: str = attrs.field(kw_only=True, default=None, metadata={
1155
+ '_aapi_repr_': 'Override Job Commands'})
1156
+ define_commands: str = attrs.field(kw_only=True, default=None, metadata={
1157
+ '_aapi_repr_': 'Define Commands'})
1158
1158
  status_polling_frequency: str = attrs.field(kw_only=True, default=None, metadata={
1159
1159
  '_aapi_repr_': 'Status Polling Frequency'})
1160
1160
  failure_tolerance: str = attrs.field(kw_only=True, default=None, metadata={
@@ -1471,28 +1471,6 @@ class JobAzureMachineLearning(Job):
1471
1471
  '_aapi_repr_': 'Failure Tolerance'})
1472
1472
 
1473
1473
 
1474
- @attrs.define
1475
- class JobAzureDataFactory(Job):
1476
-
1477
- _type: str = attrs.field(init=False, default='Job:Azure Data Factory', metadata={
1478
- '_aapi_repr_': 'Type', '_type_aapi_': 'Job:Azure Data Factory'})
1479
- object_name: str = attrs.field(metadata={'_aapi_name_': True})
1480
- connection_profile: str = attrs.field(kw_only=True, default=None, metadata={
1481
- '_aapi_repr_': 'ConnectionProfile'})
1482
- resource_group_name: str = attrs.field(kw_only=True, default=None, metadata={
1483
- '_aapi_repr_': 'Resource Group Name'})
1484
- data_factory_name: str = attrs.field(kw_only=True, default=None, metadata={
1485
- '_aapi_repr_': 'Data Factory Name'})
1486
- pipeline_name: str = attrs.field(kw_only=True, default=None, metadata={
1487
- '_aapi_repr_': 'Pipeline Name'})
1488
- parameters: str = attrs.field(kw_only=True, default=None, metadata={
1489
- '_aapi_repr_': 'Parameters'})
1490
- status_polling_frequency: str = attrs.field(kw_only=True, default=None, metadata={
1491
- '_aapi_repr_': 'Status Polling Frequency'})
1492
- failure_tolerance: str = attrs.field(kw_only=True, default=None, metadata={
1493
- '_aapi_repr_': 'Failure Tolerance'})
1494
-
1495
-
1496
1474
  @attrs.define
1497
1475
  class JobOCIDataFlow(Job):
1498
1476
 
@@ -1512,21 +1490,21 @@ class JobOCIDataFlow(Job):
1512
1490
 
1513
1491
 
1514
1492
  @attrs.define
1515
- class JobAwsStepFunctions(Job):
1493
+ class JobAzureDataFactory(Job):
1516
1494
 
1517
- _type: str = attrs.field(init=False, default='Job:AWS Step Functions', metadata={
1518
- '_aapi_repr_': 'Type', '_type_aapi_': 'Job:AWS Step Functions'})
1495
+ _type: str = attrs.field(init=False, default='Job:Azure Data Factory', metadata={
1496
+ '_aapi_repr_': 'Type', '_type_aapi_': 'Job:Azure Data Factory'})
1519
1497
  object_name: str = attrs.field(metadata={'_aapi_name_': True})
1520
1498
  connection_profile: str = attrs.field(kw_only=True, default=None, metadata={
1521
1499
  '_aapi_repr_': 'ConnectionProfile'})
1522
- execution_name: str = attrs.field(kw_only=True, default=None, metadata={
1523
- '_aapi_repr_': 'Execution Name'})
1524
- state_machine_arn: str = attrs.field(kw_only=True, default=None, metadata={
1525
- '_aapi_repr_': 'State Machine ARN'})
1500
+ resource_group_name: str = attrs.field(kw_only=True, default=None, metadata={
1501
+ '_aapi_repr_': 'Resource Group Name'})
1502
+ data_factory_name: str = attrs.field(kw_only=True, default=None, metadata={
1503
+ '_aapi_repr_': 'Data Factory Name'})
1504
+ pipeline_name: str = attrs.field(kw_only=True, default=None, metadata={
1505
+ '_aapi_repr_': 'Pipeline Name'})
1526
1506
  parameters: str = attrs.field(kw_only=True, default=None, metadata={
1527
1507
  '_aapi_repr_': 'Parameters'})
1528
- show_execution_logs: str = attrs.field(kw_only=True, default=None, metadata={
1529
- '_aapi_repr_': 'Show Execution Logs'})
1530
1508
  status_polling_frequency: str = attrs.field(kw_only=True, default=None, metadata={
1531
1509
  '_aapi_repr_': 'Status Polling Frequency'})
1532
1510
  failure_tolerance: str = attrs.field(kw_only=True, default=None, metadata={
@@ -1567,6 +1545,28 @@ class JobInformaticaCS(Job):
1567
1545
  '_aapi_repr_': 'Failure Tolerance'})
1568
1546
 
1569
1547
 
1548
+ @attrs.define
1549
+ class JobAwsStepFunctions(Job):
1550
+
1551
+ _type: str = attrs.field(init=False, default='Job:AWS Step Functions', metadata={
1552
+ '_aapi_repr_': 'Type', '_type_aapi_': 'Job:AWS Step Functions'})
1553
+ object_name: str = attrs.field(metadata={'_aapi_name_': True})
1554
+ connection_profile: str = attrs.field(kw_only=True, default=None, metadata={
1555
+ '_aapi_repr_': 'ConnectionProfile'})
1556
+ execution_name: str = attrs.field(kw_only=True, default=None, metadata={
1557
+ '_aapi_repr_': 'Execution Name'})
1558
+ state_machine_arn: str = attrs.field(kw_only=True, default=None, metadata={
1559
+ '_aapi_repr_': 'State Machine ARN'})
1560
+ parameters: str = attrs.field(kw_only=True, default=None, metadata={
1561
+ '_aapi_repr_': 'Parameters'})
1562
+ show_execution_logs: str = attrs.field(kw_only=True, default=None, metadata={
1563
+ '_aapi_repr_': 'Show Execution Logs'})
1564
+ status_polling_frequency: str = attrs.field(kw_only=True, default=None, metadata={
1565
+ '_aapi_repr_': 'Status Polling Frequency'})
1566
+ failure_tolerance: str = attrs.field(kw_only=True, default=None, metadata={
1567
+ '_aapi_repr_': 'Failure Tolerance'})
1568
+
1569
+
1570
1570
  @attrs.define
1571
1571
  class JobWebServicesSOAP(Job):
1572
1572
 
@@ -2009,32 +2009,6 @@ class JobOCIVM(Job):
2009
2009
  '_aapi_repr_': 'Failure Tolerance'})
2010
2010
 
2011
2011
 
2012
- @attrs.define
2013
- class JobAwsDataPipeline(Job):
2014
-
2015
- _type: str = attrs.field(init=False, default='Job:AWS Data Pipeline', metadata={
2016
- '_aapi_repr_': 'Type', '_type_aapi_': 'Job:AWS Data Pipeline'})
2017
- object_name: str = attrs.field(metadata={'_aapi_name_': True})
2018
- connection_profile: str = attrs.field(kw_only=True, default=None, metadata={
2019
- '_aapi_repr_': 'ConnectionProfile'})
2020
- action: str = attrs.field(kw_only=True, default=None, metadata={
2021
- '_aapi_repr_': 'Action'})
2022
- pipeline_id: str = attrs.field(kw_only=True, default=None, metadata={
2023
- '_aapi_repr_': 'Pipeline ID'})
2024
- pipeline_name: str = attrs.field(kw_only=True, default=None, metadata={
2025
- '_aapi_repr_': 'Pipeline Name'})
2026
- pipeline_unique_id: str = attrs.field(kw_only=True, default=None, metadata={
2027
- '_aapi_repr_': 'Pipeline Unique ID'})
2028
- parameters: str = attrs.field(kw_only=True, default=None, metadata={
2029
- '_aapi_repr_': 'Parameters'})
2030
- trigger_created_pipeline: str = attrs.field(kw_only=True, default=None, metadata={
2031
- '_aapi_repr_': 'Trigger Created Pipeline'})
2032
- status_polling_frequency: str = attrs.field(kw_only=True, default=None, metadata={
2033
- '_aapi_repr_': 'Status Polling Frequency'})
2034
- failure_tolerance: str = attrs.field(kw_only=True, default=None, metadata={
2035
- '_aapi_repr_': 'Failure Tolerance'})
2036
-
2037
-
2038
2012
  @attrs.define
2039
2013
  class JobOCIDataIntegration(Job):
2040
2014
 
@@ -2061,6 +2035,32 @@ class JobOCIDataIntegration(Job):
2061
2035
  '_aapi_repr_': 'Failure Tolerance'})
2062
2036
 
2063
2037
 
2038
+ @attrs.define
2039
+ class JobAwsDataPipeline(Job):
2040
+
2041
+ _type: str = attrs.field(init=False, default='Job:AWS Data Pipeline', metadata={
2042
+ '_aapi_repr_': 'Type', '_type_aapi_': 'Job:AWS Data Pipeline'})
2043
+ object_name: str = attrs.field(metadata={'_aapi_name_': True})
2044
+ connection_profile: str = attrs.field(kw_only=True, default=None, metadata={
2045
+ '_aapi_repr_': 'ConnectionProfile'})
2046
+ action: str = attrs.field(kw_only=True, default=None, metadata={
2047
+ '_aapi_repr_': 'Action'})
2048
+ pipeline_id: str = attrs.field(kw_only=True, default=None, metadata={
2049
+ '_aapi_repr_': 'Pipeline ID'})
2050
+ pipeline_name: str = attrs.field(kw_only=True, default=None, metadata={
2051
+ '_aapi_repr_': 'Pipeline Name'})
2052
+ pipeline_unique_id: str = attrs.field(kw_only=True, default=None, metadata={
2053
+ '_aapi_repr_': 'Pipeline Unique ID'})
2054
+ parameters: str = attrs.field(kw_only=True, default=None, metadata={
2055
+ '_aapi_repr_': 'Parameters'})
2056
+ trigger_created_pipeline: str = attrs.field(kw_only=True, default=None, metadata={
2057
+ '_aapi_repr_': 'Trigger Created Pipeline'})
2058
+ status_polling_frequency: str = attrs.field(kw_only=True, default=None, metadata={
2059
+ '_aapi_repr_': 'Status Polling Frequency'})
2060
+ failure_tolerance: str = attrs.field(kw_only=True, default=None, metadata={
2061
+ '_aapi_repr_': 'Failure Tolerance'})
2062
+
2063
+
2064
2064
  @attrs.define
2065
2065
  class JobMicroFocusWindows(Job):
2066
2066
 
@@ -3413,6 +3413,112 @@ class RunApi(object):
3413
3413
  collection_formats=collection_formats,
3414
3414
  )
3415
3415
 
3416
+ def run_on_demand(self, definitions_file, annotation=None, **kwargs): # noqa: E501
3417
+ """Run a job on demand # noqa: E501
3418
+
3419
+ Run a job on demand # noqa: E501
3420
+ This method makes a synchronous HTTP request by default. To make an
3421
+ asynchronous HTTP request, please pass async_req=True
3422
+ >>> thread = api.run_on_demand(definitions_file, async_req=True)
3423
+ >>> result = thread.get()
3424
+
3425
+ :param async_req bool
3426
+ :param file definitions_file: A file that contains jobs definitions to be run on demand (required)
3427
+ :param file deploy_descriptor_file: Deploy Descriptor JSON file.
3428
+ :param annotation - user annotation
3429
+ :return: RunResult
3430
+ If the method is called asynchronously,
3431
+ returns the request thread.
3432
+ """
3433
+ kwargs['_return_http_data_only'] = True
3434
+ if kwargs.get('async_req'):
3435
+ return self.run_on_demand_with_http_info(definitions_file, annotation, **kwargs) # noqa: E501
3436
+ else:
3437
+ (data) = self.run_on_demand_with_http_info(definitions_file, annotation, **kwargs) # noqa: E501
3438
+ return data
3439
+
3440
+
3441
+ def run_on_demand_with_http_info(self, definitions_file, annotation, **kwargs): # noqa: E501
3442
+ """Run a job on demand # noqa: E501
3443
+
3444
+ Run a job on demand # noqa: E501
3445
+ This method makes a synchronous HTTP request by default. To make an
3446
+ asynchronous HTTP request, please pass async_req=True
3447
+ >>> thread = api.run_on_demand_with_http_info(definitions_file, async_req=True)
3448
+ >>> result = thread.get()
3449
+
3450
+ :param async_req bool
3451
+ :param file definitions_file: A file that contains jobs definitions to be run on demand (required)
3452
+ :param file deploy_descriptor_file: Deploy Descriptor JSON file.
3453
+ :param annotation - user annotation
3454
+ :return: RunResult
3455
+ If the method is called asynchronously,
3456
+ returns the request thread.
3457
+ """
3458
+
3459
+ all_params = ['definitions_file', 'deploy_descriptor_file'] # noqa: E501
3460
+ all_params.append('async_req')
3461
+ all_params.append('_return_http_data_only')
3462
+ all_params.append('_preload_content')
3463
+ all_params.append('_request_timeout')
3464
+
3465
+ params = locals()
3466
+ for key, val in six.iteritems(params['kwargs']):
3467
+ if key not in all_params:
3468
+ raise TypeError(
3469
+ "Got an unexpected keyword argument '%s'"
3470
+ " to method run_on_demand" % key
3471
+ )
3472
+ params[key] = val
3473
+ del params['kwargs']
3474
+ # verify the required parameter 'definitions_file' is set
3475
+ if self.api_client.client_side_validation and ('definitions_file' not in params or
3476
+ params['definitions_file'] is None): # noqa: E501
3477
+ raise ValueError("Missing the required parameter `definitions_file` when calling `run_on_demand`") # noqa: E501
3478
+
3479
+ collection_formats = {}
3480
+
3481
+ path_params = {}
3482
+
3483
+ query_params = []
3484
+
3485
+ header_params = annotation.get_annotation() if annotation else {}
3486
+
3487
+ form_params = []
3488
+ local_var_files = {}
3489
+ if 'definitions_file' in params:
3490
+ local_var_files['definitionsFile'] = params['definitions_file'] # noqa: E501
3491
+ if 'deploy_descriptor_file' in params:
3492
+ local_var_files['deployDescriptorFile'] = params['deploy_descriptor_file'] # noqa: E501
3493
+
3494
+ body_params = None
3495
+ # HTTP header `Accept`
3496
+ header_params['Accept'] = self.api_client.select_header_accept(
3497
+ ['application/json']) # noqa: E501
3498
+
3499
+ # HTTP header `Content-Type`
3500
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
3501
+ ['multipart/form-data']) # noqa: E501
3502
+
3503
+ # Authentication setting
3504
+ auth_settings = ['ApiKeyAuth', 'Bearer'] # noqa: E501
3505
+
3506
+ return self.api_client.call_api(
3507
+ '/run/ondemand', 'POST',
3508
+ path_params,
3509
+ query_params,
3510
+ header_params,
3511
+ body=body_params,
3512
+ post_params=form_params,
3513
+ files=local_var_files,
3514
+ response_type='RunResult', # noqa: E501
3515
+ auth_settings=auth_settings,
3516
+ async_req=params.get('async_req'),
3517
+ _return_http_data_only=params.get('_return_http_data_only'),
3518
+ _preload_content=params.get('_preload_content', True),
3519
+ _request_timeout=params.get('_request_timeout'),
3520
+ collection_formats=collection_formats)
3521
+
3416
3522
  def run_now(self, job_id, **kwargs): # noqa: E501
3417
3523
  """Bypass scheduling cretirias and start the job # noqa: E501
3418
3524
 
@@ -2723,6 +2723,112 @@ class RunApi(object):
2723
2723
  _request_timeout=params.get('_request_timeout'),
2724
2724
  collection_formats=collection_formats)
2725
2725
 
2726
+ def run_on_demand(self, definitions_file, annotation=None, **kwargs): # noqa: E501
2727
+ """Run a job on demand # noqa: E501
2728
+
2729
+ Run a job on demand # noqa: E501
2730
+ This method makes a synchronous HTTP request by default. To make an
2731
+ asynchronous HTTP request, please pass async_req=True
2732
+ >>> thread = api.run_on_demand(definitions_file, async_req=True)
2733
+ >>> result = thread.get()
2734
+
2735
+ :param async_req bool
2736
+ :param file definitions_file: A file that contains jobs definitions to be run on demand (required)
2737
+ :param file deploy_descriptor_file: Deploy Descriptor JSON file.
2738
+ :param annotation - user annotation
2739
+ :return: RunResult
2740
+ If the method is called asynchronously,
2741
+ returns the request thread.
2742
+ """
2743
+ kwargs['_return_http_data_only'] = True
2744
+ if kwargs.get('async_req'):
2745
+ return self.run_on_demand_with_http_info(definitions_file, annotation, **kwargs) # noqa: E501
2746
+ else:
2747
+ (data) = self.run_on_demand_with_http_info(definitions_file, annotation, **kwargs) # noqa: E501
2748
+ return data
2749
+
2750
+
2751
+ def run_on_demand_with_http_info(self, definitions_file, annotation, **kwargs): # noqa: E501
2752
+ """Run a job on demand # noqa: E501
2753
+
2754
+ Run a job on demand # noqa: E501
2755
+ This method makes a synchronous HTTP request by default. To make an
2756
+ asynchronous HTTP request, please pass async_req=True
2757
+ >>> thread = api.run_on_demand_with_http_info(definitions_file, async_req=True)
2758
+ >>> result = thread.get()
2759
+
2760
+ :param async_req bool
2761
+ :param file definitions_file: A file that contains jobs definitions to be run on demand (required)
2762
+ :param file deploy_descriptor_file: Deploy Descriptor JSON file.
2763
+ :param annotation - user annotation
2764
+ :return: RunResult
2765
+ If the method is called asynchronously,
2766
+ returns the request thread.
2767
+ """
2768
+
2769
+ all_params = ['definitions_file', 'deploy_descriptor_file'] # noqa: E501
2770
+ all_params.append('async_req')
2771
+ all_params.append('_return_http_data_only')
2772
+ all_params.append('_preload_content')
2773
+ all_params.append('_request_timeout')
2774
+
2775
+ params = locals()
2776
+ for key, val in six.iteritems(params['kwargs']):
2777
+ if key not in all_params:
2778
+ raise TypeError(
2779
+ "Got an unexpected keyword argument '%s'"
2780
+ " to method run_on_demand" % key
2781
+ )
2782
+ params[key] = val
2783
+ del params['kwargs']
2784
+ # verify the required parameter 'definitions_file' is set
2785
+ if self.api_client.client_side_validation and ('definitions_file' not in params or
2786
+ params['definitions_file'] is None): # noqa: E501
2787
+ raise ValueError("Missing the required parameter `definitions_file` when calling `run_on_demand`") # noqa: E501
2788
+
2789
+ collection_formats = {}
2790
+
2791
+ path_params = {}
2792
+
2793
+ query_params = []
2794
+
2795
+ header_params = annotation.get_annotation() if annotation else {}
2796
+
2797
+ form_params = []
2798
+ local_var_files = {}
2799
+ if 'definitions_file' in params:
2800
+ local_var_files['definitionsFile'] = params['definitions_file'] # noqa: E501
2801
+ if 'deploy_descriptor_file' in params:
2802
+ local_var_files['deployDescriptorFile'] = params['deploy_descriptor_file'] # noqa: E501
2803
+
2804
+ body_params = None
2805
+ # HTTP header `Accept`
2806
+ header_params['Accept'] = self.api_client.select_header_accept(
2807
+ ['application/json']) # noqa: E501
2808
+
2809
+ # HTTP header `Content-Type`
2810
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
2811
+ ['multipart/form-data']) # noqa: E501
2812
+
2813
+ # Authentication setting
2814
+ auth_settings = ['ApiKeyAuth', 'Bearer'] # noqa: E501
2815
+
2816
+ return self.api_client.call_api(
2817
+ '/run/ondemand', 'POST',
2818
+ path_params,
2819
+ query_params,
2820
+ header_params,
2821
+ body=body_params,
2822
+ post_params=form_params,
2823
+ files=local_var_files,
2824
+ response_type='RunResult', # noqa: E501
2825
+ auth_settings=auth_settings,
2826
+ async_req=params.get('async_req'),
2827
+ _return_http_data_only=params.get('_return_http_data_only'),
2828
+ _preload_content=params.get('_preload_content', True),
2829
+ _request_timeout=params.get('_request_timeout'),
2830
+ collection_formats=collection_formats)
2831
+
2726
2832
  def run_now(self, job_id, **kwargs): # noqa: E501
2727
2833
  """Bypass scheduling cretirias and start the job # noqa: E501
2728
2834
 
@@ -1,2 +1,2 @@
1
- __version__ = '2.3.6'
1
+ __version__ = '2.4.0'
2
2
  __author__ = 'BMC Software'
@@ -67,8 +67,7 @@ class WorkflowDefaults:
67
67
  run_as: str = attrs.field(default=None, metadata={'applyon': [
68
68
  'Folder', 'SimpleFolder', 'SubFolder', 'Job']})
69
69
  host: str = attrs.field(default=None, metadata={'applyon': ['Job']})
70
- when: Job.When = attrs.field(default=None, metadata={
71
- 'applyon': ['Folder', 'Job']})
70
+ when: Job.When = attrs.field(default=None, metadata={'applyon': ['Folder', 'Job']})
72
71
  application: str = attrs.field(default=None, metadata={'applyon': [
73
72
  'Folder', 'SimpleFolder', 'SubFolder', 'Job']})
74
73
  sub_application: str = attrs.field(default=None, metadata={'applyon': [
@@ -113,6 +112,7 @@ class BaseWorkflow(AbstractWorkflow):
113
112
 
114
113
  def _apply_defaults_for_SubFolder(self, obj: SubFolder):
115
114
  self._apply_defaults_for_type(obj, 'SubFolder')
115
+ list(map(self._apply_defaults_for_job, obj.job_list))
116
116
 
117
117
  def add(self, obj: AAPIObject, inpath: str = None, allow_creation: bool = True):
118
118
  # apply defaults:
@@ -128,7 +128,7 @@ class BaseWorkflow(AbstractWorkflow):
128
128
  pass
129
129
 
130
130
  if inpath:
131
- if isinstance(obj, SubFolder) or isinstance(obj, Job):
131
+ if isinstance(obj, SubFolder) or isinstance(obj, Job) or isinstance(obj, AAPIJob):
132
132
  try:
133
133
  folder = self.get(inpath)
134
134
  except Exception as e:
@@ -137,7 +137,7 @@ class BaseWorkflow(AbstractWorkflow):
137
137
  else:
138
138
  raise e
139
139
  if folder:
140
- if isinstance(obj, Job):
140
+ if isinstance(obj, Job) or isinstance(obj, AAPIJob):
141
141
  folder.job_list.append(obj)
142
142
  else:
143
143
  folder.sub_folder_list.append(obj)
@@ -145,7 +145,7 @@ class BaseWorkflow(AbstractWorkflow):
145
145
  # Folder does not exist, create folder
146
146
  folder, parent_folder = self.create_folder_hierarchy(inpath)
147
147
  self._apply_defaults_for_folder(folder)
148
- if isinstance(obj, Job):
148
+ if isinstance(obj, Job) or isinstance(obj, AAPIJob):
149
149
  parent_folder.job_list.append(obj)
150
150
  else:
151
151
  parent_folder.sub_folder_list.append(obj)
@@ -407,13 +407,40 @@ class Workflow(BaseWorkflow):
407
407
 
408
408
  try:
409
409
  res = self.aapiclient.run_api.run_jobs(fpath.resolve())
410
- # return res
411
410
  run_ = RunMonitor(res.run_id, self.aapiclient, monitor_page_uri= res.monitor_page_uri)
412
- if open_in_browser:
411
+ if open_in_browser:
413
412
  run_.open_in_browser()
414
413
  return run_
415
414
  except Exception as e:
416
- raise e
415
+ errors = [err.get('message', '') + ' ' + err.get('item', '')
416
+ for err in json.loads(e.body)['errors']]
417
+ raise RuntimeError(f"AAPI request failed: {', '.join(errors)}")
418
+ finally:
419
+ if delete_afterwards:
420
+ fpath.unlink()
421
+
422
+ def run_on_demand(self, skip_login: bool = False, file_path: str = None, delete_afterwards: bool = True, open_in_browser=False) -> RunMonitor:
423
+ if not skip_login:
424
+ self.aapiclient.authenticate()
425
+
426
+ if not file_path:
427
+ file_path = f'{tempfile.gettempdir()}/temp_{random.randint(1000,9999)}.json'
428
+
429
+ fpath = pathlib.Path(file_path)
430
+
431
+ with open(fpath.resolve(), 'w') as f:
432
+ self.dump_json(f)
433
+
434
+ try:
435
+ res = self.aapiclient.run_api.run_on_demand(fpath.resolve())
436
+ run_ = RunMonitor(res.run_id, self.aapiclient, monitor_page_uri= res.monitor_page_uri)
437
+ if open_in_browser:
438
+ run_.open_in_browser()
439
+ return run_
440
+ except Exception as e:
441
+ errors = [err.get('message', '') + ' ' + err.get('item', '')
442
+ for err in json.loads(e.body)['errors']]
443
+ raise RuntimeError(f"AAPI request failed: {', '.join(errors)}")
417
444
  finally:
418
445
  if delete_afterwards:
419
446
  fpath.unlink()
@@ -8,7 +8,7 @@ urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
8
8
 
9
9
  __all__ = ['generate_ai_plugins_classes']
10
10
 
11
- IF_PLUGINS = ['ADF062021', 'GBA032023', 'AEM072022', 'ASF012023', 'DBX032022', 'SOP072023', 'GDR052023', 'ZRM082023', 'ODS052024', 'TDO042024', 'ABY122023', 'ASM0220223', 'AHD062022', 'ANS032024', 'ATR122022', 'TAB072023', 'ADB112022', 'KBN062023', 'AEC082022', 'MFL022023', 'TER102023', 'QLC092022', 'RST062023', 'ZFN032022', 'GDQ112023', 'ABK042023', 'GDP042022', 'JEN022024', 'SFI122022', 'GDU102023', 'GVM062022', 'ZML022023', 'ABA092022', 'GDF032022', 'GBQ102022', 'ZVM062022', 'DBT042023', 'ADY122023', 'ZDX112021', 'AAR072022', 'ADP122022', 'BOO032022', 'ZLA112022', 'MFW022023', 'ALM012024', 'GCC052024', 'OVM012024', 'ODI032024', 'UIP072021', 'GFU012023', 'ICS032022', 'GWF092023', 'GDM082023', 'ODF0420241', 'NFI042024', 'CMR022024', 'ACF082023', 'COM032023', 'BAK092023', 'AQS012023', 'ACS042023', 'ZBA042022', 'SNF092022', 'GLU062021', 'AMM082023', 'AAT052023', 'ZSY062022', 'TDM052022', 'ASQ032024', 'MBI042022', 'ADO112023']
11
+ IF_PLUGINS = ['ZFN032022', 'ANS032024', 'OVM012024', 'ASM0220223', 'TAB072023', 'ADY122023', 'ABY122023', 'ODF0420241', 'NFI042024', 'AQS012023', 'SFI122022', 'KBN062023', 'ADO112023', 'ABA092022', 'AMM082023', 'GCC052024', 'AEC082022', 'ASF012023', 'TDM052022', 'BOO032022', 'ICS032022', 'GBQ102022', 'ZSY062022', 'MFW022023', 'GFU012023', 'AAR072022', 'RST062023', 'ALM012024', 'ASQ032024', 'TER102023', 'ZBA042022', 'ZRM082023', 'AHD062022', 'GVM062022', 'CMR022024', 'COM032023', 'GBA032023', 'DBX032022', 'SOP072023', 'SNF092022', 'ADB112022', 'ACF082023', 'ZVM062022', 'GDM082023', 'TDO042024', 'GDU102023', 'JEN022024', 'GLU062021', 'AAT052023', 'UIP072021', 'ATR122022', 'ZML022023', 'ZLA112022', 'GDR052023', 'QLC092022', 'BAK092023', 'ACS042023', 'ABK042023', 'ODI032024', 'MBI042022', 'ADF062021', 'DBT042023', 'ODS052024', 'ADP122022', 'MFL022023', 'ZDX112021', 'GDP042022', 'GDQ112023', 'GWF092023', 'AEM072022', 'GDF032022']
12
12
 
13
13
 
14
14
  imports_str = '''from aapi import *
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ctm-python-client
3
- Version: 2.3.6
3
+ Version: 2.4.0
4
4
  Summary: Python Workflows for Control-M
5
5
  Author: BMC Software
6
6
  License: BSD 3-Clause
@@ -3,7 +3,7 @@ aapi/action.py,sha256=te1lr64tU7854Oy4lUjQgh1EIlZzO82ulA-NnfiK9ko,1622
3
3
  aapi/addevents.py,sha256=maZH3TpP1C1usvM2qee4DNl1PUA6IpnAWUKki1WGUlg,793
4
4
  aapi/ai.py,sha256=3mZu6I8PSbnr0v6AKxZ3-OA8RbdHlI55qCeaqlF3iXA,2094
5
5
  aapi/basefolder.py,sha256=l6wHCwCr-RkJIaDQGzV22bbHk6DQWiNpKHKmOe0x-I4,14191
6
- aapi/bases.py,sha256=isZW33dtSWJ2A7fdUQNumUB0_lXk8VtDYLHZb1cA_jw,1952
6
+ aapi/bases.py,sha256=D-U9pJgOSSe_w2gy2rusNwYhUY4PyBwdY7qk94ry23s,4053
7
7
  aapi/businessfield.py,sha256=T11iWMIp8BtQCCrkR3glp0E7dKOLI00qO3lKT6_Ngdw,373
8
8
  aapi/businessparameter.py,sha256=Ee8NBDM4TDA2wx7T2lsj1yaNRJ-Pt5FADPCwx8qa4JU,3372
9
9
  aapi/calendar.py,sha256=C6mAQhypnSs2IG1CKRbjTekLdo87AHJ5GM_a3HofF3c,9322
@@ -73,8 +73,8 @@ aapi/workloadpolicy.py,sha256=OHd5izGSYP0sjAiehgQpUbos54_jv8Jw6PC1jX8Jm2w,2086
73
73
  aapi/wpperiod.py,sha256=B8A_ImAvLJItyVhbEde9XDcPvrihM2O5koom2-O0TTw,358
74
74
  aapi/year.py,sha256=3zEIDuQH2-9TJ15S4fRgo5RJQ6F-zhqiYZv5jb-5tN0,1924
75
75
  aapi/integration_factory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
- aapi/integration_factory/connection_profiles.py,sha256=wI1cMH3yEr6i_1eYs6uNz7ZePmvkvBoU4wz7-kbvUoU,95038
77
- aapi/integration_factory/jobs.py,sha256=v4oqVKdrtSZefCAHU1nXUXmerrvR_hu9981nMZs2soI,138240
76
+ aapi/integration_factory/connection_profiles.py,sha256=_jT4g36fzR9aXZCD9f7eW-N2Bneg3h-q_9sqnBH43Y0,95038
77
+ aapi/integration_factory/jobs.py,sha256=kpbDrwzNnsev1wSqc2QxvwvEU5AQ7HXOkTJx3cz23L8,138240
78
78
  clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
79
  clients/ctm_api_client/__init__.py,sha256=zZDuItj3k1t8br8ShcMb7VLIdZRo1hybQKw9j0lcuL4,26932
80
80
  clients/ctm_api_client/api_client.py,sha256=39yD7p3TBkwNnXVarGs8g1Qk0hLIWcpgl7ZUWBSIEpk,24473
@@ -87,7 +87,7 @@ clients/ctm_api_client/api/config_api.py,sha256=uoWYF7hS_vHUMAWZWpncbwhZw4a3ehUO
87
87
  clients/ctm_api_client/api/deploy_api.py,sha256=SfOADZT87KtgWKnxqo6C8XrL_QjGdy6rf-iFwyvC0rU,100862
88
88
  clients/ctm_api_client/api/provision_api.py,sha256=vSKrVGMpwP5_Tn8JtEWdLcyfWJs2bNnywBSiin0r6k8,45868
89
89
  clients/ctm_api_client/api/reporting_api.py,sha256=PN0lhmNLuTMV73EvQo1MNHdAq2ka9FaJKA2yuMGcok4,16864
90
- clients/ctm_api_client/api/run_api.py,sha256=7xV6H0abzdM4vBE3PvoTpROAe7q0UUn8-DjFpPyeVTM,153524
90
+ clients/ctm_api_client/api/run_api.py,sha256=KcogHTqwlHkqgs0Zznom_qS-UuRD16m5VjMkk4vmPb4,158136
91
91
  clients/ctm_api_client/api/session_api.py,sha256=lM1O-r-zFjV687Y7OjItK5-XLVFTzCmN18N0_cZTEyU,12005
92
92
  clients/ctm_api_client/models/__init__.py,sha256=VP4dbGWWe6V45cEhxBtVV-6SUOdDTCt-S0NXdiuCdhs,26274
93
93
  clients/ctm_api_client/models/actions_auth_record.py,sha256=GNFj9AGdNHfiZhKimjv2_C_CvA_SL0qx1oQs8tNxKXQ,24898
@@ -409,7 +409,7 @@ clients/ctm_saas_client/api/config_api.py,sha256=JaWStV4EOptbZfSXLsvrVxYOgGJ6JcH
409
409
  clients/ctm_saas_client/api/deploy_api.py,sha256=WRZ-JJLSgn6sQRKGCnkSTCVStJcF2NJLHzwG9pYgwOE,90990
410
410
  clients/ctm_saas_client/api/provision_api.py,sha256=CZpb84Nr43fccJiAfJQaIdULz8jGG57d88eOvrz2q0U,4826
411
411
  clients/ctm_saas_client/api/reporting_api.py,sha256=uQZ1uDxmkeH1nLYuTFUf-S9C9mgiL2moqRTMJpbwqE0,12476
412
- clients/ctm_saas_client/api/run_api.py,sha256=QH2bQllLlc2Cude8puPZXqR-VTgw0Btd5-TwK0dtCdk,131542
412
+ clients/ctm_saas_client/api/run_api.py,sha256=Xi2GyfXhmdfAeWHjzJNwvfT_uI8zix3Rv2b3V3c3bew,136154
413
413
  clients/ctm_saas_client/api/usage_api.py,sha256=4KnU1HSn4Zx61Qqd8niCSXFPVnfPAkv_rOaAkHUEdGA,4173
414
414
  clients/ctm_saas_client/models/__init__.py,sha256=s0u_kaVbJMgHUifVoA6Fv2JZ1QheYS_yINoXwY_0tDY,26099
415
415
  clients/ctm_saas_client/models/actions_auth_record.py,sha256=4sj40sUgg51abuO_1-6dKRnb0Ze3dc_kZmAwDwrxa-4,21362
@@ -728,18 +728,18 @@ clients/ctm_saas_client/models/workspace_folder.py,sha256=Uxn61e8LzGzceVV6TBofuy
728
728
  clients/ctm_saas_client/models/workspace_folders.py,sha256=rpVIXVw8Fh_9W-mfuDEDClC0vYTStKQo_8zgGcGaZu8,3455
729
729
  clients/ctm_saas_client/models/zoo_keeper.py,sha256=qYqn4P4CaKqLAKSxBoJvwxm1OGUcS8cmy9BW8Ul7maI,8790
730
730
  clients/ctm_saas_client/models/zos_template_data.py,sha256=RF7S-oR4rmbwc_WJDebk2SLvkAku4uxd_a59Cq_DzVM,18096
731
- ctm_python_client/__init__.py,sha256=RGtrlikCae0n2p8Ujd3litp75QF-uMPM6glySXe05qk,49
731
+ ctm_python_client/__init__.py,sha256=_V6aCUYLW1K7XSSg3wcOLFlB_QjeIMUpBFyaXzpdYYI,49
732
732
  ctm_python_client/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
733
733
  ctm_python_client/core/comm.py,sha256=33NSUm-dI9jo7jwQft76KSxridmQsjuX-0eNbQSH5Fo,6726
734
734
  ctm_python_client/core/credential.py,sha256=UDN1Q8IYf-ufiXUr-aHm1MDu9bVX8J0Hk8BhvlmYfKk,1009
735
735
  ctm_python_client/core/monitoring.py,sha256=62fbSTEGFpHcBrXK8R8cWejq6DlrmdaNumXbOaDa3HY,12043
736
- ctm_python_client/core/workflow.py,sha256=Vkc0dtyMYuk20ipWzJCjXdPNnRj4oG7X7R1QXrrSYBk,14956
736
+ ctm_python_client/core/workflow.py,sha256=eA4gqbPEF9PqoYr3FXrcsbYuXRd8PbFkBzjNA0VOXes,16283
737
737
  ctm_python_client/ext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
738
- ctm_python_client/ext/autogen.py,sha256=ezg6kB5uX2a49rrwFw14CYfu3TzAj3yelNxRuK7fwbU,6671
738
+ ctm_python_client/ext/autogen.py,sha256=Oo5UZ2HKIuMh98e2FDb9GN9dChVe1mt3kcaaOaqBNPk,6671
739
739
  ctm_python_client/ext/credential.py,sha256=2AdNAPtquq9ApH41pWi8Zt8mhlh9VNWVFXeLCNrxOfA,469
740
740
  ctm_python_client/ext/viz.py,sha256=oVY7DYP0H-nCGRQIb1nZgspc8DQdsS8yWUCAl5x_dwg,1672
741
- ctm_python_client-2.3.6.dist-info/LICENSE,sha256=L9eFhIgJK0TNYFm9I7tDUR1CDI8muWkBJvzpbkGCVh8,1525
742
- ctm_python_client-2.3.6.dist-info/METADATA,sha256=Fvno-hTfaqvtgYRI7GuS-wNVILBYagqvMdtbPCp3HOM,2921
743
- ctm_python_client-2.3.6.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
744
- ctm_python_client-2.3.6.dist-info/top_level.txt,sha256=Dz3aBWbGmLA3lZcNMUAWX_Yhdw0FdplhI52YBid8Oe0,31
745
- ctm_python_client-2.3.6.dist-info/RECORD,,
741
+ ctm_python_client-2.4.0.dist-info/LICENSE,sha256=L9eFhIgJK0TNYFm9I7tDUR1CDI8muWkBJvzpbkGCVh8,1525
742
+ ctm_python_client-2.4.0.dist-info/METADATA,sha256=RQdSpI7wkf_Jrz0YRZyLpzRZB559yeHOGCtkr2HP8g0,2921
743
+ ctm_python_client-2.4.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
744
+ ctm_python_client-2.4.0.dist-info/top_level.txt,sha256=Dz3aBWbGmLA3lZcNMUAWX_Yhdw0FdplhI52YBid8Oe0,31
745
+ ctm_python_client-2.4.0.dist-info/RECORD,,