Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions docs/_sources/notebooks/jobproperties.ipynb.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1015,9 +1015,9 @@
"metadata": {},
"outputs": [],
"source": [
"waitForEventList = WaitForEvents(\"WaitForEvent\", events=[Condition(event=\"e1\"),Condition(event=\"e2\"), Condition(event=\"e3\", date=Event.Date.AnyDate)])\n",
"waitForEventList = WaitForEvents([Event(event=\"e1\"), Event(event=\"e2\"), Event(event=\"e3\", date=Event.Date.AnyDate)])\n",
"job = JobCommand('Job1', command='echo Hello')\n",
"job.wait_for_events_list.insert(0, waitForEventList)"
"job.event_list.append(waitForEventList)"
]
},
{
Expand All @@ -1035,9 +1035,9 @@
"metadata": {},
"outputs": [],
"source": [
"addEventListObject = AddEvents('eventsToAdd', events=[ConditionOutAdd(event=\"e4\",date=Event.Date.NoDate)])\n",
"addEventListObject = AddEvents([EventOutAdd(event=\"e4\",date=Event.Date.NoDate)])\n",
"job = JobCommand('Job1', command='echo Hello')\n",
"job.add_events_list.insert(0, waitForEventList)"
"job.event_list.append(addEventListObject)"
]
},
{
Expand All @@ -1055,9 +1055,9 @@
"metadata": {},
"outputs": [],
"source": [
"deleteEventListObject = DeleteEvents('eventsToDelete', events=[ConditionOutDelete(event=\"e5\",date=Event.Date.NextOrderDate)])\n",
"deleteEventListObject = DeleteEvents([EventOutDelete(event=\"e5\",date=Event.Date.NextOrderDate)])\n",
"job = JobCommand('Job1', command='echo Hello')\n",
"job.delete_events_list.insert(0, deleteEventListObject)"
"job.event_list.append(deleteEventListObject)"
]
}
],
Expand Down
457 changes: 327 additions & 130 deletions docs/aapi.html

Large diffs are not rendered by default.

714 changes: 651 additions & 63 deletions docs/aapi.integration_factory.html

Large diffs are not rendered by default.

292 changes: 264 additions & 28 deletions docs/genindex.html

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions docs/notebooks/jobproperties.html
Original file line number Diff line number Diff line change
Expand Up @@ -958,9 +958,9 @@ <h3>WaitForEvents<a class="headerlink" href="#WaitForEvents" title="Permalink to
<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[32]:
</pre></div>
</div>
<div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">waitForEventList</span> <span class="o">=</span> <span class="n">WaitForEvents</span><span class="p">(</span><span class="s2">&quot;WaitForEvent&quot;</span><span class="p">,</span> <span class="n">events</span><span class="o">=</span><span class="p">[</span><span class="n">Condition</span><span class="p">(</span><span class="n">event</span><span class="o">=</span><span class="s2">&quot;e1&quot;</span><span class="p">),</span><span class="n">Condition</span><span class="p">(</span><span class="n">event</span><span class="o">=</span><span class="s2">&quot;e2&quot;</span><span class="p">),</span> <span class="n">Condition</span><span class="p">(</span><span class="n">event</span><span class="o">=</span><span class="s2">&quot;e3&quot;</span><span class="p">,</span> <span class="n">date</span><span class="o">=</span><span class="n">Event</span><span class="o">.</span><span class="n">Date</span><span class="o">.</span><span class="n">AnyDate</span><span class="p">)])</span>
<div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">waitForEventList</span> <span class="o">=</span> <span class="n">WaitForEvents</span><span class="p">([</span><span class="n">Event</span><span class="p">(</span><span class="n">event</span><span class="o">=</span><span class="s2">&quot;e1&quot;</span><span class="p">),</span> <span class="n">Event</span><span class="p">(</span><span class="n">event</span><span class="o">=</span><span class="s2">&quot;e2&quot;</span><span class="p">),</span> <span class="n">Event</span><span class="p">(</span><span class="n">event</span><span class="o">=</span><span class="s2">&quot;e3&quot;</span><span class="p">,</span> <span class="n">date</span><span class="o">=</span><span class="n">Event</span><span class="o">.</span><span class="n">Date</span><span class="o">.</span><span class="n">AnyDate</span><span class="p">)])</span>
<span class="n">job</span> <span class="o">=</span> <span class="n">JobCommand</span><span class="p">(</span><span class="s1">&#39;Job1&#39;</span><span class="p">,</span> <span class="n">command</span><span class="o">=</span><span class="s1">&#39;echo Hello&#39;</span><span class="p">)</span>
<span class="n">job</span><span class="o">.</span><span class="n">wait_for_events_list</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">waitForEventList</span><span class="p">)</span>
<span class="n">job</span><span class="o">.</span><span class="n">event_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">waitForEventList</span><span class="p">)</span>
</pre></div>
</div>
</div>
Expand All @@ -972,9 +972,9 @@ <h3>AddEvents<a class="headerlink" href="#AddEvents" title="Permalink to this he
<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[33]:
</pre></div>
</div>
<div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">addEventListObject</span> <span class="o">=</span> <span class="n">AddEvents</span><span class="p">(</span><span class="s1">&#39;eventsToAdd&#39;</span><span class="p">,</span> <span class="n">events</span><span class="o">=</span><span class="p">[</span><span class="n">ConditionOutAdd</span><span class="p">(</span><span class="n">event</span><span class="o">=</span><span class="s2">&quot;e4&quot;</span><span class="p">,</span><span class="n">date</span><span class="o">=</span><span class="n">Event</span><span class="o">.</span><span class="n">Date</span><span class="o">.</span><span class="n">NoDate</span><span class="p">)])</span>
<div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">addEventListObject</span> <span class="o">=</span> <span class="n">AddEvents</span><span class="p">([</span><span class="n">EventOutAdd</span><span class="p">(</span><span class="n">event</span><span class="o">=</span><span class="s2">&quot;e4&quot;</span><span class="p">,</span><span class="n">date</span><span class="o">=</span><span class="n">Event</span><span class="o">.</span><span class="n">Date</span><span class="o">.</span><span class="n">NoDate</span><span class="p">)])</span>
<span class="n">job</span> <span class="o">=</span> <span class="n">JobCommand</span><span class="p">(</span><span class="s1">&#39;Job1&#39;</span><span class="p">,</span> <span class="n">command</span><span class="o">=</span><span class="s1">&#39;echo Hello&#39;</span><span class="p">)</span>
<span class="n">job</span><span class="o">.</span><span class="n">add_events_list</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">waitForEventList</span><span class="p">)</span>
<span class="n">job</span><span class="o">.</span><span class="n">event_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">addEventListObject</span><span class="p">)</span>
</pre></div>
</div>
</div>
Expand All @@ -986,9 +986,9 @@ <h3>DeleteEvents<a class="headerlink" href="#DeleteEvents" title="Permalink to t
<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[34]:
</pre></div>
</div>
<div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">deleteEventListObject</span> <span class="o">=</span> <span class="n">DeleteEvents</span><span class="p">(</span><span class="s1">&#39;eventsToDelete&#39;</span><span class="p">,</span> <span class="n">events</span><span class="o">=</span><span class="p">[</span><span class="n">ConditionOutDelete</span><span class="p">(</span><span class="n">event</span><span class="o">=</span><span class="s2">&quot;e5&quot;</span><span class="p">,</span><span class="n">date</span><span class="o">=</span><span class="n">Event</span><span class="o">.</span><span class="n">Date</span><span class="o">.</span><span class="n">NextOrderDate</span><span class="p">)])</span>
<div class="input_area highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">deleteEventListObject</span> <span class="o">=</span> <span class="n">DeleteEvents</span><span class="p">([</span><span class="n">EventOutDelete</span><span class="p">(</span><span class="n">event</span><span class="o">=</span><span class="s2">&quot;e5&quot;</span><span class="p">,</span><span class="n">date</span><span class="o">=</span><span class="n">Event</span><span class="o">.</span><span class="n">Date</span><span class="o">.</span><span class="n">NextOrderDate</span><span class="p">)])</span>
<span class="n">job</span> <span class="o">=</span> <span class="n">JobCommand</span><span class="p">(</span><span class="s1">&#39;Job1&#39;</span><span class="p">,</span> <span class="n">command</span><span class="o">=</span><span class="s1">&#39;echo Hello&#39;</span><span class="p">)</span>
<span class="n">job</span><span class="o">.</span><span class="n">delete_events_list</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">deleteEventListObject</span><span class="p">)</span>
<span class="n">job</span><span class="o">.</span><span class="n">event_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">deleteEventListObject</span><span class="p">)</span>
</pre></div>
</div>
</div>
Expand Down
12 changes: 6 additions & 6 deletions docs/notebooks/jobproperties.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -1015,9 +1015,9 @@
"metadata": {},
"outputs": [],
"source": [
"waitForEventList = WaitForEvents(\"WaitForEvent\", events=[Condition(event=\"e1\"),Condition(event=\"e2\"), Condition(event=\"e3\", date=Event.Date.AnyDate)])\n",
"waitForEventList = WaitForEvents([Event(event=\"e1\"), Event(event=\"e2\"), Event(event=\"e3\", date=Event.Date.AnyDate)])\n",
"job = JobCommand('Job1', command='echo Hello')\n",
"job.wait_for_events_list.insert(0, waitForEventList)"
"job.event_list.append(waitForEventList)"
]
},
{
Expand All @@ -1035,9 +1035,9 @@
"metadata": {},
"outputs": [],
"source": [
"addEventListObject = AddEvents('eventsToAdd', events=[ConditionOutAdd(event=\"e4\",date=Event.Date.NoDate)])\n",
"addEventListObject = AddEvents([EventOutAdd(event=\"e4\",date=Event.Date.NoDate)])\n",
"job = JobCommand('Job1', command='echo Hello')\n",
"job.add_events_list.insert(0, waitForEventList)"
"job.event_list.append(addEventListObject)"
]
},
{
Expand All @@ -1055,9 +1055,9 @@
"metadata": {},
"outputs": [],
"source": [
"deleteEventListObject = DeleteEvents('eventsToDelete', events=[ConditionOutDelete(event=\"e5\",date=Event.Date.NextOrderDate)])\n",
"deleteEventListObject = DeleteEvents([EventOutDelete(event=\"e5\",date=Event.Date.NextOrderDate)])\n",
"job = JobCommand('Job1', command='echo Hello')\n",
"job.delete_events_list.insert(0, deleteEventListObject)"
"job.event_list.append(deleteEventListObject)"
]
}
],
Expand Down
Binary file modified docs/objects.inv
Binary file not shown.
2 changes: 1 addition & 1 deletion docs/searchindex.js

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions docs_source/source/notebooks/jobproperties.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -1015,9 +1015,9 @@
"metadata": {},
"outputs": [],
"source": [
"waitForEventList = WaitForEvents(\"WaitForEvent\", events=[Condition(event=\"e1\"),Condition(event=\"e2\"), Condition(event=\"e3\", date=Event.Date.AnyDate)])\n",
"waitForEventList = WaitForEvents([Event(event=\"e1\"), Event(event=\"e2\"), Event(event=\"e3\", date=Event.Date.AnyDate)])\n",
"job = JobCommand('Job1', command='echo Hello')\n",
"job.wait_for_events_list.insert(0, waitForEventList)"
"job.event_list.append(waitForEventList)"
]
},
{
Expand All @@ -1035,9 +1035,9 @@
"metadata": {},
"outputs": [],
"source": [
"addEventListObject = AddEvents('eventsToAdd', events=[ConditionOutAdd(event=\"e4\",date=Event.Date.NoDate)])\n",
"addEventListObject = AddEvents([EventOutAdd(event=\"e4\",date=Event.Date.NoDate)])\n",
"job = JobCommand('Job1', command='echo Hello')\n",
"job.add_events_list.insert(0, waitForEventList)"
"job.event_list.append(addEventListObject)"
]
},
{
Expand All @@ -1055,9 +1055,9 @@
"metadata": {},
"outputs": [],
"source": [
"deleteEventListObject = DeleteEvents('eventsToDelete', events=[ConditionOutDelete(event=\"e5\",date=Event.Date.NextOrderDate)])\n",
"deleteEventListObject = DeleteEvents([EventOutDelete(event=\"e5\",date=Event.Date.NextOrderDate)])\n",
"job = JobCommand('Job1', command='echo Hello')\n",
"job.delete_events_list.insert(0, deleteEventListObject)"
"job.event_list.append(deleteEventListObject)"
]
}
],
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
name="ctm-python-client",
packages=find_packages(where="src"),
package_dir={"": "src"},
version="2.1.6",
version="2.2.0",
description="Python Workflows for Control-M",
long_description=long_description,
long_description_content_type='text/markdown',
Expand Down
2 changes: 1 addition & 1 deletion src/aapi/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from aapi.connectionprofile import ConnectionProfile, ConnectionProfileAirflow, ConnectionProfileAirflowGoogleComposer, ConnectionProfileAirflowStandalone, ConnectionProfileAWS, ConnectionProfileAzure, ConnectionProfileDatabase, ConnectionProfileDatabasePostgreSql, ConnectionProfileDatabaseMSSql, ConnectionProfileDatabaseMSSqlSSIS, ConnectionProfileDatabaseDB2, ConnectionProfileDatabaseSybase, ConnectionProfileDatabaseOracle, ConnectionProfileDatabaseOracleSID, ConnectionProfileDatabaseOracleServiceName, ConnectionProfileDatabaseOracleConnectionString, ConnectionProfileDatabaseJDBC, ConnectionProfileFileTransferDualEndPoint, ConnectionProfileFileTransferGroup, ConnectionProfileFileTransfer, ConnectionProfileFileTransferLocal, ConnectionProfileFileTransferFTP, ConnectionProfileFileTransferFTPS, ConnectionProfileFileTransferSFTP, ConnectionProfileFileTransferS3, ConnectionProfileFileTransferS3Amazon, ConnectionProfileFileTransferS3Compatible, ConnectionProfileFileTransferGcs, ConnectionProfileFileTransferAzure, ConnectionProfileFileTransferAzureSharedKey, ConnectionProfileFileTransferAzureConnectionString, ConnectionProfileFileTransferAzureAdUserPass, ConnectionProfileFileTransferAzureAdClientSecret, ConnectionProfileFileTransferAzureAdCertificate, ConnectionProfileFileTransferAzureSharedAccessSignature, ConnectionProfileFileTransferAzureManagedIdentity, ConnectionProfileFileTransferAS2, ConnectionProfileHadoop, ConnectionProfileInformatica, ConnectionProfilePeopleSoft, ConnectionProfileSAP, ConnectionProfileWebServices, ConnectionProfileWSCONFIG
from aapi.deleteevents import DeleteEvents
from aapi.do import Do
from aapi.event import Event, EventAdd, EventDelete
from aapi.event import Event, EventAdd, EventDelete, EventIn, EventOut, EventOutAdd, EventOutDelete
from aapi.flow_ import Flow_
from aapi.basefolder import SimpleFolder, Folder
from aapi.folderclientdata import FolderClientData
Expand Down
13 changes: 10 additions & 3 deletions src/aapi/addevents.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,21 @@
import attrs
import typing
import enum
import random
import string
from aapi import *


@attrs.define
class AddEvents(AAPIObject):

_type: str = attrs.field(init=False, default='AddEvents', metadata={
'_aapi_repr_': 'Type', '_type_aapi_': 'AddEvents'})
object_name: str = attrs.field(metadata={'_aapi_name_': True})
events: typing.List[ConditionOutAdd] = attrs.field(
'_aapi_repr_': 'Type', '_type_aapi_': 'AddEvents'})
object_name: str = attrs.field(init=False, default='eventsToAdd', metadata={
'_aapi_name_': True})
events: typing.List[EventOutAdd] = attrs.field(
metadata={'_aapi_repr_': 'Events'})

def __attrs_post_init__(self):
if self.object_name == attrs.fields_dict(self.__class__)['object_name'].default:
self.object_name = f'{self.object_name}_{random.choices(string.ascii_letters + string.digits, k=8)}'
15 changes: 12 additions & 3 deletions src/aapi/basefolder.py
Original file line number Diff line number Diff line change
Expand Up @@ -274,15 +274,24 @@ class AdjustEvents(enum.Enum):
metadata={'_aapi_repr_': 'When'})
if_list: typing.List[IfBase] = attrs.field(
kw_only=True, factory=list, metadata={'_abstract_aapi_container_': True})
wait_for_events_list: typing.List[WaitForEvents] = attrs.field(
wait_for_events: typing.List[WaitForEvents] = attrs.field(
kw_only=True, factory=list, metadata={'_abstract_aapi_container_': True})
add_events_list: typing.List[AddEvents] = attrs.field(
events_to_add: typing.List[AddEvents] = attrs.field(
kw_only=True, factory=list, metadata={'_abstract_aapi_container_': True})
delete_events_list: typing.List[DeleteEvents] = attrs.field(
events_to_delete: typing.List[DeleteEvents] = attrs.field(
kw_only=True, factory=list, metadata={'_abstract_aapi_container_': True})
notify_list: typing.List[Notify] = attrs.field(
kw_only=True, factory=list, metadata={'_abstract_aapi_container_': True})
resource_lock_list: typing.List[ResourceLock] = attrs.field(
kw_only=True, factory=list, metadata={'_abstract_aapi_container_': True})
sub_folder_list: typing.List[SubFolder] = attrs.field(
kw_only=True, factory=list, metadata={'_abstract_aapi_container_': True})

# support backward compatibility
wait_for_events_list: typing.List[WaitForEvents] = attrs.field(
kw_only=True, factory=list, metadata={'_abstract_aapi_container_': True})
add_events_list: typing.List[AddEvents] = attrs.field(
kw_only=True, factory=list, metadata={'_abstract_aapi_container_': True})
delete_events_list: typing.List[DeleteEvents] = attrs.field(
kw_only=True, factory=list, metadata={'_abstract_aapi_container_': True})

2 changes: 2 additions & 0 deletions src/aapi/bases.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ def as_aapi_dict(self):
if '_type' in attrs.fields_dict(self.__class__):
if not self._type.startswith('Condition'):
res['Type'] = self._type
if not self._type.startswith('Event'):
res['Type'] = self._type

if attrs.has(self):
for field in attrs.fields(self.__class__):
Expand Down
13 changes: 10 additions & 3 deletions src/aapi/deleteevents.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,21 @@
import attrs
import typing
import enum
import random
import string
from aapi import *


@attrs.define
class DeleteEvents(AAPIObject):

_type: str = attrs.field(init=False, default='DeleteEvents', metadata={
'_aapi_repr_': 'Type', '_type_aapi_': 'DeleteEvents'})
object_name: str = attrs.field(metadata={'_aapi_name_': True})
events: typing.List[ConditionOutDelete] = attrs.field(
'_aapi_repr_': 'Type', '_type_aapi_': 'DeleteEvents'})
object_name: str = attrs.field(init=False, default='eventsToDelete', metadata={
'_aapi_name_': True})
events: typing.List[EventOutDelete] = attrs.field(
metadata={'_aapi_repr_': 'Events'})

def __attrs_post_init__(self):
if self.object_name == attrs.fields_dict(self.__class__)['object_name'].default:
self.object_name = f'{self.object_name}_{random.choices(string.ascii_letters + string.digits, k=8)}'
Loading