ciocore 8.0.0b27__py2.py3-none-any.whl → 8.0.0b29__py2.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.

Potentially problematic release.


This version of ciocore might be problematic. Click here for more details.

ciocore/VERSION CHANGED
@@ -1 +1 @@
1
- 8.0.0-beta.27
1
+ 8.0.0-beta.29
ciocore/api_client.py CHANGED
@@ -572,6 +572,38 @@ def request_software_packages():
572
572
  software = [sw for sw in software if not ("3dsmax" in sw["product"] and sw["platform"] == "linux")]
573
573
  return software
574
574
 
575
+ def request_extra_environment():
576
+ """
577
+ Query Conductor for extra environment.
578
+ """
579
+ api = ApiClient()
580
+
581
+ uri = "api/v1/integrations/env-vars-configs"
582
+ response, response_code = api.make_request(
583
+ uri_path=uri, verb="GET", raise_on_error=False, use_api_key=True
584
+ )
585
+
586
+ if response_code not in [200]:
587
+ msg = "Failed to get extra environment"
588
+ msg += "\nError %s ...\n%s" % (response_code, response)
589
+ raise Exception(msg)
590
+
591
+ all_accounts = json.loads(response).get("data", [])
592
+
593
+ token = read_conductor_credentials(True)
594
+ if not token:
595
+ raise Exception("Error: Could not get conductor credentials!")
596
+ account_id = str(account_id_from_jwt(token))
597
+
598
+ if not account_id:
599
+ raise Exception("Error: Could not get account id from jwt!")
600
+ account_env = next((account for account in all_accounts if account["account_id"] == account_id), None)
601
+ if not account_env:
602
+ raise Exception("Error: Could not get account environment!")
603
+ return account_env.get("env", [])
604
+
605
+
606
+
575
607
 
576
608
  def get_jobs(first_jid, last_jid=None):
577
609
  """
ciocore/cli.py CHANGED
@@ -213,7 +213,7 @@ def upload(
213
213
  type=click.Choice(choices=PACKAGES_FORMAT_OPTIONS, case_sensitive=False),
214
214
  )
215
215
  def packages(fmt):
216
- """List the softweare packages available on the render nodes in the cloud."""
216
+ """List the software packages available on the render nodes in the cloud."""
217
217
  package_query.pq(format=fmt)
218
218
 
219
219
 
ciocore/data.py CHANGED
@@ -122,6 +122,14 @@ def data(force=False):
122
122
  # SOFTWARE
123
123
  software = api_client.request_software_packages()
124
124
 
125
+ # EXTRA ENV VARS
126
+ extra_env_vars = []
127
+ try:
128
+ extra_env_vars = api_client.request_extra_environment()
129
+ except Exception:
130
+ pass
131
+ __data__["extra_environment"] = extra_env_vars
132
+
125
133
  # PLATFORMS
126
134
  it_platforms = set([it["operating_system"] for it in instance_types])
127
135
  valid_platforms = it_platforms.intersection(__platforms__)
@@ -674,6 +674,13 @@
674
674
  request_software_packages()
675
675
  </a>
676
676
 
677
+ </li>
678
+
679
+ <li class="md-nav__item">
680
+ <a href="#ciocore.api_client.request_extra_environment" class="md-nav__link">
681
+ request_extra_environment()
682
+ </a>
683
+
677
684
  </li>
678
685
 
679
686
  <li class="md-nav__item">
@@ -981,6 +988,13 @@
981
988
  request_software_packages()
982
989
  </a>
983
990
 
991
+ </li>
992
+
993
+ <li class="md-nav__item">
994
+ <a href="#ciocore.api_client.request_extra_environment" class="md-nav__link">
995
+ request_extra_environment()
996
+ </a>
997
+
984
998
  </li>
985
999
 
986
1000
  <li class="md-nav__item">
@@ -2586,6 +2600,59 @@ prompt the user to log in. </p>
2586
2600
 
2587
2601
 
2588
2602
 
2603
+ <h2 id="ciocore.api_client.request_extra_environment" class="doc doc-heading">
2604
+ <code class="highlight language-python"><span class="n">request_extra_environment</span><span class="p">()</span></code>
2605
+
2606
+
2607
+ </h2>
2608
+
2609
+ <div class="doc doc-contents ">
2610
+
2611
+ <p>Query Conductor for extra environment.</p>
2612
+
2613
+ <details class="quote">
2614
+ <summary>Source code in <code>ciocore/api_client.py</code></summary>
2615
+ <div class="highlight"><pre><span></span><code><span class="k">def</span> <span class="nf">request_extra_environment</span><span class="p">():</span>
2616
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
2617
+ <span class="sd"> Query Conductor for extra environment.</span>
2618
+ <span class="sd"> &quot;&quot;&quot;</span>
2619
+ <span class="n">api</span> <span class="o">=</span> <span class="n">ApiClient</span><span class="p">()</span>
2620
+
2621
+ <span class="n">uri</span> <span class="o">=</span> <span class="s2">&quot;api/v1/integrations/env-vars-configs&quot;</span>
2622
+ <span class="n">response</span><span class="p">,</span> <span class="n">response_code</span> <span class="o">=</span> <span class="n">api</span><span class="o">.</span><span class="n">make_request</span><span class="p">(</span>
2623
+ <span class="n">uri_path</span><span class="o">=</span><span class="n">uri</span><span class="p">,</span> <span class="n">verb</span><span class="o">=</span><span class="s2">&quot;GET&quot;</span><span class="p">,</span> <span class="n">raise_on_error</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">use_api_key</span><span class="o">=</span><span class="kc">True</span>
2624
+ <span class="p">)</span>
2625
+
2626
+ <span class="k">if</span> <span class="n">response_code</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">200</span><span class="p">]:</span>
2627
+ <span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;Failed to get extra environment&quot;</span>
2628
+ <span class="n">msg</span> <span class="o">+=</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">Error </span><span class="si">%s</span><span class="s2"> ...</span><span class="se">\n</span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">response_code</span><span class="p">,</span> <span class="n">response</span><span class="p">)</span>
2629
+ <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
2630
+
2631
+ <span class="n">all_accounts</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">response</span><span class="p">)</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;data&quot;</span><span class="p">,</span> <span class="p">[])</span>
2632
+
2633
+ <span class="n">token</span> <span class="o">=</span> <span class="n">read_conductor_credentials</span><span class="p">(</span><span class="kc">True</span><span class="p">)</span>
2634
+ <span class="k">if</span> <span class="ow">not</span> <span class="n">token</span><span class="p">:</span>
2635
+ <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Error: Could not get conductor credentials!&quot;</span><span class="p">)</span>
2636
+ <span class="n">account_id</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">account_id_from_jwt</span><span class="p">(</span><span class="n">token</span><span class="p">))</span>
2637
+
2638
+ <span class="k">if</span> <span class="ow">not</span> <span class="n">account_id</span><span class="p">:</span>
2639
+ <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Error: Could not get account id from jwt!&quot;</span><span class="p">)</span>
2640
+ <span class="n">account_env</span> <span class="o">=</span> <span class="nb">next</span><span class="p">((</span><span class="n">account</span> <span class="k">for</span> <span class="n">account</span> <span class="ow">in</span> <span class="n">all_accounts</span> <span class="k">if</span> <span class="n">account</span><span class="p">[</span><span class="s2">&quot;account_id&quot;</span><span class="p">]</span> <span class="o">==</span> <span class="n">account_id</span><span class="p">),</span> <span class="kc">None</span><span class="p">)</span>
2641
+ <span class="k">if</span> <span class="ow">not</span> <span class="n">account_env</span><span class="p">:</span>
2642
+ <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Error: Could not get account environment!&quot;</span><span class="p">)</span>
2643
+ <span class="k">return</span> <span class="n">account_env</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;env&quot;</span><span class="p">,</span> <span class="p">[])</span>
2644
+ </code></pre></div>
2645
+ </details>
2646
+ </div>
2647
+
2648
+ </div>
2649
+
2650
+
2651
+
2652
+ <div class="doc doc-object doc-function">
2653
+
2654
+
2655
+
2589
2656
  <h2 id="ciocore.api_client.get_jobs" class="doc doc-heading">
2590
2657
  <code class="highlight language-python"><span class="n">get_jobs</span><span class="p">(</span><span class="n">first_jid</span><span class="p">,</span> <span class="n">last_jid</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span></code>
2591
2658
 
@@ -1150,6 +1150,14 @@ the software available at Conductor, or a subset based on specified products.</p
1150
1150
  <span class="c1"># SOFTWARE</span>
1151
1151
  <span class="n">software</span> <span class="o">=</span> <span class="n">api_client</span><span class="o">.</span><span class="n">request_software_packages</span><span class="p">()</span>
1152
1152
 
1153
+ <span class="c1"># EXTRA ENV VARS</span>
1154
+ <span class="n">extra_env_vars</span> <span class="o">=</span> <span class="p">[]</span>
1155
+ <span class="k">try</span><span class="p">:</span>
1156
+ <span class="n">extra_env_vars</span> <span class="o">=</span> <span class="n">api_client</span><span class="o">.</span><span class="n">request_extra_environment</span><span class="p">()</span>
1157
+ <span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
1158
+ <span class="k">pass</span>
1159
+ <span class="n">__data__</span><span class="p">[</span><span class="s2">&quot;extra_environment&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">extra_env_vars</span>
1160
+
1153
1161
  <span class="c1"># PLATFORMS</span>
1154
1162
  <span class="n">it_platforms</span> <span class="o">=</span> <span class="nb">set</span><span class="p">([</span><span class="n">it</span><span class="p">[</span><span class="s2">&quot;operating_system&quot;</span><span class="p">]</span> <span class="k">for</span> <span class="n">it</span> <span class="ow">in</span> <span class="n">instance_types</span><span class="p">])</span>
1155
1163
  <span class="n">valid_platforms</span> <span class="o">=</span> <span class="n">it_platforms</span><span class="o">.</span><span class="n">intersection</span><span class="p">(</span><span class="n">__platforms__</span><span class="p">)</span>
Binary file