cisco-Nexus-3000-Series-Lav-Latency-Switches-logo

cisco Opprette egendefinerte arbeidsflytoppgaver

cisco-Creating-Custom-Workflow-Tasks-PRODUCT-IMAGE

Om tilpassede arbeidsflytinnganger

Cisco UCS Director Orchestrator tilbyr en liste over veldefinerte inputtyper for tilpassede oppgaver. Cisco UCS Director lar deg også lage en tilpasset arbeidsflytinngang for en tilpasset arbeidsflytoppgave. Du kan opprette en ny inndatatype ved å klone og endre en eksisterende inndatatype.

Forutsetninger

Før du skriver tilpassede oppgaver, må du oppfylle følgende forutsetninger:

  • Cisco UCS Director er installert og kjører på systemet ditt. For mer informasjon om hvordan du installerer Cisco UCS Director, se Cisco UCS Director Installation and Configuration Guide.
  • Du har en pålogging med administratorrettigheter. Du må bruke denne påloggingen når du oppretter og endrer egendefinerte oppgaver.
  • Du må ha skrive CloupiaScript-tillatelse for å skrive en egendefinert oppgave med CloupiaScript.
  • Du må ha tillatelse til å utføre CloupiaScript for å utføre en tilpasset oppgave opprettet med CloupiaScript.

Opprette en egendefinert arbeidsflytinngang

Du kan opprette en egendefinert inndata for en egendefinert arbeidsflytoppgave. Inndataene vises i listen over inndatatyper som du kan tilordne til egendefinerte oppgaveinndata når du oppretter en egendefinert arbeidsflytoppgave.

  • Skritt 1 Velg Orkestrering.
  • Skritt 2 Klikk på Egendefinerte arbeidsflytinnganger.
  • Skritt 3 Klikk på Legg til.
  • Skritt 4 På skjermbildet Add CustomWorkflow Input fyller du ut følgende felt:
    • Custom Input Type Name – Et unikt navn for den tilpassede inndatatypen.
    • Inndatatype – Kontroller en type inndata og klikk på Velg. Basert på den valgte inngangen, vises andre felt. For eksample, når du velger e-postadresse som inndatatype, vises en liste med verdier (LOV). Bruk de nye feltene for å begrense verdiene for den egendefinerte inndata.
  • Trinn 5 Klikk på Send.
  • Den tilpassede arbeidsflytinngangen legges til Cisco UCS Director og er tilgjengelig i listen over inndatatyper.
Validering av egendefinert inndata

Kunder må kanskje validere arbeidsflytinndata ved å bruke eksterne ressurser. Ut av esken kan ikke Cisco UCS Director møte alle kunders valideringsbehov. For å fylle dette gapet tilbyr Cisco UCS Director et alternativ for å validere alle inndata under kjøring ved hjelp av et kundelevert skript. Skriptet kan flagge feil i inndata og kan kreve gyldig inndata før du kjører en tjenesteforespørsel. Skriptet kan skrives på et hvilket som helst språk, har tilgang til enhver ekstern ressurs, og har tilgang til alle arbeidsflytinndataverdiene.
Du kan skrive tilpassede valideringsskript ved å bruke JavaScript, Python, et bash-shell-skript eller et hvilket som helst annet skriptspråk.

Følgende eksampDu finner valideringsskriptene i Cisco UCS Director i Orchestration > Custom Workflow Inputs:

  • Example-bash-script-validator
  • Example-javascript-validator
  • Example-python-validator

Du kan kopiere eller klone eksenample skriptede arbeidsflytinndata for å lage en ny validert inngang. Du kan også bruke eksample skriptede arbeidsflytinndata som en guide for å utvikle dine egne skript.

Uavhengig av skriptspråket, gjelder følgende funksjoner og regler for skriptet tilpasset inndatavalidering:

  • All skriptvalidering kjøres i en egen prosess, slik at en mislykket valideringsprosess ikke påvirker Cisco UCS Director-prosessen.
  • Bare generiske tekstinndata kan valideres ved hjelp av skript.
  • Valideringsskript kjøres ett om gangen, i rekkefølge, i samme rekkefølge som inngangene vises på siden for arbeidsflytinndata. En egen prosess lanseres for hver validerte inngang.
  • En returverdi som ikke er null fra skriptet indikerer en mislykket validering. Eventuelt kan du sende en feilmelding tilbake til arbeidsflytinndataskjemaet.
  • Alle arbeidsflytinndata sendes til valideringsskriptet på to måter:
    • Som argumenter til skriptet i formen "nøkkel" = "verdi".
    • Som miljøvariabler til skriptprosessen. Variabelnavnene er inndataetikettene.
      For eksample, hvis arbeidsflyten har en inngang merket som Product-Code og inngangsverdien er AbC123, sendes variabelen til validatorskriptet som "Product-Code"="AbC123".
      Disse inngangsvariablene kan brukes av skriptet om nødvendig for å implementere valideringen. Unntak: Tabellverdier inneholder kun radnummeret til tabellutvalget, og er derfor sannsynligvis ubrukelige.
  • Siden Rediger tilpasset arbeidsflytinndata gjør skriptet tilgjengelig i redigeringsprogrammet for tilpasset oppgave. Syntaks er uthevet for alle språk. Syntaksfeil kontrolleres kun for JavaScript-validatorer.
Kloning av en egendefinert arbeidsflytinngang

Du kan bruke en eksisterende egendefinert arbeidsflytinngang i Cisco UCS Director for å lage en egendefinert arbeidsflytinngang.

Før du begynner
En egendefinert arbeidsflytinngang må være tilgjengelig i Cisco UCS Director.

  • Skritt 1 Velg Orkestrering.
  • Skritt 2 Klikk på Egendefinerte arbeidsflytinnganger.
  • Skritt 3 Klikk på raden med den egendefinerte arbeidsflytinngangen som skal klones.
    Kloneikonet vises øverst i tabellen for egendefinerte arbeidsflytinndata.
  • Skritt 4 Klikk Klon.
  • Skritt 5 Skriv inn navnet på den egendefinerte inndatatypen.
  • Skritt 6 Bruk de andre kontrollene i skjermbildet Clone Custom Workflow Input for å tilpasse den nye inngangen.
  • Skritt 7 Klikk på Send.
    Den egendefinerte arbeidsflytoppgaven klones etter bekreftelse og er tilgjengelig for bruk i den egendefinerte arbeidsflytoppgaven.
Opprette en tilpasset oppgave

For å opprette en egendefinert oppgave, gjør følgende:

  • Skritt 1 Velg Orkestrering.
  • Skritt 2 Klikk på Egendefinerte arbeidsflytoppgaver.
  • Skritt 3 Klikk på Legg til.
  • Skritt 4 På skjermbildet Legg til egendefinert arbeidsflytoppgave fyller du ut følgende felt:
    • Oppgavenavn-feltet – Et unikt navn for den egendefinerte arbeidsflytoppgaven.
    • Oppgaveetikettfelt – En etikett for å identifisere den egendefinerte arbeidsflytoppgaven.
    • Feltet Registrer under kategori – arbeidsflytkategorien som den tilpassede arbeidsflytoppgaven må registreres under.
    • Avmerkingsboksen Aktiver oppgave—Hvis det er merket av, blir den tilpassede arbeidsflytoppgaven registrert med Orchestrator og kan umiddelbart brukes i arbeidsflyter.
    • Feltet Kort beskrivelse – En beskrivelse av den tilpassede arbeidsflytoppgaven.
    • Feltet Detaljert beskrivelse – En detaljert beskrivelse av den tilpassede arbeidsflytoppgaven.
  • Skritt 5 Klikk på Neste.
    Skjermbildet Custom Task Inputs vises.
  • Skritt 6 Klikk på Legg til.
  • Skritt 7 På skjermbildet Add Entry to Inputs fyller du ut følgende felt:
    • Felt for inndatafeltnavn – Et unikt navn for feltet. Navnet må begynne med analfabetisk tegn og må ikke inneholde mellomrom eller spesialtegn.
    • Inndatafeltetikettfelt – En etikett for å identifisere inndatafeltet.
    • Rullegardinliste for inndatafelttype—Velg datatypen for inndataparameteren.
    • Map to Input Type (No Mapping)-felt – Velg en type input som dette feltet kan tilordnes til, hvis dette feltet kan tilordnes fra en annen oppgaveutgang eller global arbeidsflytinngang.
    • Obligatorisk avmerkingsboks—Hvis det er merket av, må brukeren oppgi en verdi for dette feltet.
    • RBID-felt – Angi RBID-strengen for feltet.
    • Rullegardinliste for inndatafeltstørrelse – velg feltstørrelsen for tekst og tabeller.
    • Hjelpefelt for inndatafelt—(Valgfritt) En beskrivelse som vises når du holder musepekeren over feltet.
    • Inndatafelt Merknadsfelt – (Valgfritt) Hinttekst for inndatafeltet.
    • Feltgruppenavn – Hvis det er spesifisert, blir alle feltene med samsvarende gruppenavn lagt inn i feltgruppen.
    • TEKSTFELT-ATRIBUTTER-området – Fyll ut følgende felt når inndatafelttypen er tekst.
    • Avmerkingsboks for flere inndata – Hvis det er merket av, godtar inndatafeltet flere verdier basert på inndatafelttypen:
    • For en LOV – Inndatafeltet godtar flere inngangsverdier.
    • For et tekstfelt – Inndatafeltet blir flerlinjers tekstfelt.
    • Maksimal lengde på inndatafelt – Angi maksimalt antall tegn du kan skrive inn i inndatafeltet.
    • LOV ATTRIBUTES-området – Fyll ut følgende felt når inndatatypen er List of Values ​​(LOV) eller LOV med radioknapper.
    • List of Values-feltet – En kommadelt liste over verdier for innebygde LOV-er.
      LOV-leverandørnavn-feltet – navnet på LOV-leverandøren for ikke-innebygde LOV-er.
    • TABELL-ATRIBUTTER-området – Fyll ut følgende felt når inndatafelttypen er Tabell, Popup-tabell eller Tabell med valg avmerkingsboksen.
    • Tabellnavnfelt – Et navn på tabellrapporten for tabellfelttypene.
    • FELTINNGANGSVALIDERINGsområde – Ett eller flere av følgende felt vises avhengig av den valgte datatypen. Fyll ut feltene for å spesifisere hvordan inndatafeltene skal valideres.
    • Input Validator rullegardinliste – Velg en validator for brukerinndata.
    • Felt for regulært uttrykk – Et regulært uttrykksmønster å matche inndataverdien mot.
    • Meldingsfelt for regulære uttrykk – En melding som vises når valideringen av regulære uttrykk mislykkes.
    • Minimumsverdifelt – En numerisk minimumsverdi.
    • Maksimal verdi-feltet – En maksimal numerisk verdi.
    • SKJUL PÅ FELT TILSTAND-området – Fyll ut følgende felt for å angi betingelsen for å skjule feltet i et skjema.
    • Skjul på feltnavn-feltet – Et internt navn til feltet slik at programmet som håndterer skjemaet kan identifisere feltet.
    • Skjul på feltverdifelt – verdien som må sendes når skjemaet er sendt.
    • Skjul på felttilstand rullegardinliste—Velg en tilstand der feltet må skjules.
    • HTML-hjelpefelt – hjelpeinstruksjonene for det skjulte feltet.
  • Skritt 8 Klikk på Send.
    Inndataoppføringen legges til i tabellen.
  • Skritt 9 Klikk på Legg til for å legge til flere oppføringer.
  • Skritt 10 Når du er ferdig med å legge til innganger, klikker du på Neste.
    Skjermbildet Utdata for egendefinerte arbeidsflytoppgaver vises.
  • Skritt 11 Klikk på Legg til.
  • Skritt 12 På skjermbildet Add Entry to Outputs fyller du ut følgende felt:
    • Felt for navn på utdatafelt – Et unikt navn for utdatafeltet. Den må starte med et alfabetisk tegn og må ikke inneholde mellomrom eller spesialtegn.
    • Felt for beskrivelse av utdatafelt — En beskrivelse av utdatafeltet.
    • Felt for utdatafelttype – Kontroller en type utdata. Denne typen bestemmer hvordan utdataene kan tilordnes til andre oppgaveinndata.
  • Skritt 13 Klikk på Send.
    Utdataoppføringen legges til i tabellen.
  • Skritt 14 Klikk på Legg til for å legge til flere oppføringer i utganger.
  • Skritt 15 Klikk på Neste
    Kontroller-skjermen vises
  • Skritt 16 (Valgfritt) Klikk på Legg til for å legge til en kontroller.
  • Skritt 17 På skjermbildet Add Entry to Controller fyller du ut følgende felt:
    • Metode-rullegardinliste – Velg enten en rangerings- eller unmarshalling-metode for å tilpasse inngangene og/eller utgangene for den tilpassede arbeidsflytoppgaven. Metoden kan være en av følgende:
    • Før Marshall—Bruk denne metoden til å legge til eller angi et inndatafelt og dynamisk opprette og angi LOV på en side (skjema).
    • Etter Marshall—Bruk denne metoden for å skjule eller vise et inndatafelt.
    • Før Unmarshall – Bruk denne metoden til å konvertere en inngangsverdi fra ett skjema til et annet skjema – for eksempelample, når du vil kryptere et passord før du sender det til databasen.
    • Etter Unmarshall—Bruk denne metoden til å validere en brukerinndata og angi feilmeldingen på siden.
      Se eksampde: Bruke kontrollere, på side 14.
    • Skripttekstområde – For metoden du valgte fra rullegardinlisten Metode, legg til koden for GUI-tilpasningsskriptet.
      Note Klikk på Legg til hvis du vil legge til kode for flere metoder.
      Hvis det er noen valideringer av de angitte passordene, sørg for å endre kontrollervalideringen for passordene slik at du kan redigere de egendefinerte oppgavene i arbeidsflyter.
      Note
  • Skritt 18 Klikk på Send.
    Kontrolleren legges til tabellen.
  • Skritt 19 Klikk på Neste.
    Skript-skjermen vises.
  • Skritt 20 Velg et språk fra rullegardinlisten Execution Language.
  • Skritt 21 I Skript-feltet skriver du inn CloupiaScript-koden for den tilpassede arbeidsflytoppgaven.
    Cloupia Script-koden valideres når du taster inn koden. Hvis det er feil i koden, vises et feilikon (rødt kryss) ved siden av linjenummeret. Hold musen over feilikonet til view feilmeldingen og løsningen
  • Skritt 22 Klikk Lagre skript.
  • Skritt 23 Klikk på Send.
    Den egendefinerte arbeidsflytoppgaven opprettes og er tilgjengelig for bruk i arbeidsflyten

Egendefinerte oppgaver og arkiver

Når du oppretter en egendefinert oppgave, i stedet for å skrive inn den egendefinerte oppgavekoden i skriptvinduet eller klippe ut og lime inn kode fra et tekstredigeringsprogram, kan du importere koden fra en file lagret i et GitHub- eller BitBucket-depot. For å gjøre dette:

  1. Lag en eller flere tekster files i et GitHub- eller BitBucket-depot, enten i github.com eller et privat GitHub-depot.
    Merk Cisco UCS Director støtter bare GitHub (github.com eller en Enterprise GitHub-forekomst) og eller BitBucket. Den støtter ikke andre Git-vertstjenester inkludert GitLab, Perforce eller Codebase.
  2. Registrer depotet i Cisco UCS Director. Se Legge til et GitHub- eller BitBucket-lager i Cisco UCS Director, på side 7.
  3. Velg depotet og spesifiser teksten file som inneholder det egendefinerte oppgaveskriptet. Se Laste ned tilpasset oppgaveskriptkode fra et GitHub- eller BitBucket-lager, på side 8.

Legge til en GitHub eller BitBucket Repository i Cisco UCS Director
For å registrere en GitHub eller et BitBucket-depot i Cisco UCS Director, gjør følgende:

Før du begynner
Opprett et GitHub- eller BitBucket-depot. Depotet kan være på en hvilken som helst GitHub- eller BitBucket-server, offentlig eller privat som er tilgjengelig fra Cisco UCS Director.
Sjekk inn en eller flere files som inneholder JavaScript-kode for de tilpassede oppgavene dine i depotet ditt.

  • Skritt 1 Velg Administrasjon > Integrasjon.
  • Skritt 2 På Integration-siden klikker du på Manage Repositories.
  • Skritt 3 Klikk på Legg til.
  • Skritt 4 På siden Legg til arkiv fyller du ut de obligatoriske feltene, inkludert følgende:
    • I feltet Kallenavn for depot skriver du inn et navn for å identifisere depotet i Cisco UCS Director.
    • I depotet URL feltet, skriv inn URL av GitHub- eller BitBucket-depotet.
    • I feltet Branch Name skriver du inn navnet på depotgrenen du vil bruke. Standardnavnet er hovedgren.
    • I feltet Repository User skriver du inn brukernavnet for GitHub- eller BitBucket-kontoen din.
    • For å legge til GitHub-depotet, i Passord/API-token-feltet, skriv inn det genererte API-tokenet for GitHub-en din.
      For å generere API-tokenet ved hjelp av GitHub, klikk Innstillinger og naviger til Utviklerinnstilling > Personlige tilgangstokener, og klikk Generer nytt token.
      For å legge til BitBucket-depotet, i Passord/API-token-feltet, skriv inn passordet for BitBucket.
    • For å bruke dette depotet som standard når du oppretter en ny tilpasset oppgave, merk av for Gjør dette til mitt standarddepot.
    • For å teste om Cisco UCS Director har tilgang til depotet, klikk Test Connectivity.
      Tilkoblingstilstanden til depotet vises i et banner øverst på siden.
      Hvis du ikke kan koble til og kommunisere med GitHub- eller BitBucket-depotet fra Cisco UCS
      Direktør, oppdater Cisco UCS Director for å få tilgang til Internett via en proxy-server. Se Cisco UCS Director Administration Guide.
      Note
  • Skritt 5 Når du er fornøyd med at depotinformasjonen er korrekt, klikker du på Send.

Laster ned tilpasset oppgaveskriptkode fra et GitHub- eller BitBucket-depot

For å opprette en ny tilpasset oppgave ved å importere tekst fra et GitHub- eller BitBucket-depot, gjør du følgende:

Før du begynner
Opprett et GitHub- eller BitBucket-depot og sjekk inn én eller flere tekster files som inneholder JavaScript-koden for de tilpassede oppgavene dine i depotet ditt.

Legg til GitHub-depotet til Cisco UCS Director. Se Legge til et GitHub- eller BitBucket-lager i Cisco UCS Director, på side

  • Skritt 1 Klikk på Tilpassede arbeidsflytoppgaver på Orkestrering-siden.
  • Skritt 2 Klikk på Legg til.
  • Skritt 3 Fyll ut de obligatoriske feltene på siden Tilpasset oppgaveinformasjon. Se Opprette en egendefinert oppgave, på side 3.
  • Skritt 4 Fyll ut de obligatoriske feltene på siden for egendefinerte oppgaveinndata. Se Opprette en egendefinert oppgave, på side 3.
  • Skritt 5 Fyll ut de obligatoriske feltene på siden Egendefinerte oppgaveutganger. Se Opprette en egendefinert oppgave, på side 3.
  • Skritt 6 Fyll ut de obligatoriske feltene på Kontroller-siden. Se Opprette en egendefinert oppgave, på side 3.
  • Skritt 7 Fyll ut de obligatoriske feltene på skriptsiden:
    • Fra rullegardinlisten Utførelsesspråk velger du JavaScript.
    • Merk av for Use Repository for Scripts for å aktivere den egendefinerte oppgaven til å bruke et skript file fra et depot. Dette lar deg velge depotet og spesifisere skriptet file å bruke.
    • Fra rullegardinlisten Select Repository velger du GitHub- eller BitBucket-depotet som inneholder skriptet files. For detaljer om hvordan du legger til depoter, se Legge til et GitHub- eller BitBucket-lager i Cisco UCS Director, på side 7.
    • Skriv inn hele banen til skriptet file i manuset filenavn tekstfelt.
    • For å laste ned skriptet, klikk på Last skript.
      Teksten fra file kopieres i tekstredigeringsområdet for skript.
    • Du kan eventuelt gjøre endringer i det nedlastede skriptet i tekstredigeringsområdet for skript.
    • For å lagre skriptet slik det vises i tekstredigeringsområdet for skript, klikk på Lagre skript.
      Når du trykker på Lagre skript, lagres skriptet i din nåværende arbeidsøkt. Du må klikke på Send for å lagre skriptet til den egendefinerte oppgaven du redigerer.
      Note
  • Skritt 8 For å lagre den egendefinerte oppgaven, klikk på Send.
    Hvis du gjorde endringer i det nedlastede skriptet i tekstredigeringsområdet for skript, lagres endringene i den egendefinerte oppgaven. Ingen endringer lagres i GitHub- eller BitBucket-depotet. Hvis du vil forkaste det innlastede skriptet og skrive inn ditt eget skript, klikker du på Forkast skript for å tømme skriptvinduet.

Hva du skal gjøre videre
Du kan bruke den nye egendefinerte oppgaven i en arbeidsflyt.

Importere arbeidsflyter, egendefinerte oppgaver, skriptmoduler og aktiviteter

For å importere artefakter til Cisco UCS Director, gjør følgende:

Note Globale variabler knyttet til en arbeidsflyt vil bli importert under import av en arbeidsflyt hvis den globale variabelen ikke er tilgjengelig i enheten.

  • Skritt 1 Velg Orkestrering.
  • Skritt 2 På Orkestrering-siden klikker du på Arbeidsflyter.
  • Skritt 3 Klikk på Importer.
  • Skritt 4 På importskjermen klikker du på Velg a File.
  • Skritt 5 På Velg File for å laste opp skjermen, velg file som skal importeres. Cisco UCS Director import og eksport files har en .wfdx file utvidelse.
  • Skritt 6 Klikk på Åpne.
    Når file er lastet opp, den File Opplastings-/valideringsskjermen vises File klar til bruk og nøkkel.
  • Skritt 7 Skriv inn nøkkelen som ble angitt da du eksporterte file.
  • Skritt 8 Klikk på Neste.
    Skjermbildet Importpolicyer viser en liste over Cisco UCS Director-objekter i det opplastede file.
  • Skritt 9 (Valgfritt) På skjermbildet Importpolicyer angir du hvordan objekter skal håndteres hvis de dupliserer navn som allerede er i arbeidsflytmappen. Fyll ut følgende felt på importskjermen
Navn Beskrivelse
Arbeidsflyter Velg blant følgende alternativer for å spesifisere hvordan identisk navngitte arbeidsflyter skal håndteres:
  • Bytt ut— Erstatt den eksisterende arbeidsflyten med den importerte arbeidsflyten.
  • Behold begge—Importer arbeidsflyten som en ny versjon.
  • Hopp over—Ikke importer arbeidsflyten.
Egendefinerte oppgaver Velg blant følgende alternativer for å spesifisere hvordan identisk navngitte egendefinerte oppgaver skal håndteres:
  • Bytt ut
  • Behold begge
  • Hopp over
Navn Beskrivelse
Skriptmoduler Velg blant følgende alternativer for å spesifisere hvordan identisk navngitte skriptmoduler skal håndteres:
  • Bytt ut
  • Behold begge
  • Hopp over
Aktiviteter Velg blant følgende alternativer for å spesifisere hvordan identisk navngitte aktiviteter skal håndteres:
  • Bytt ut
  • Behold begge
  • Hopp over
Importer arbeidsflyter til mappe ChVelg Importer arbeidsflyter til mappe for å importere arbeidsflytene. Hvis du ikke merker av for Importer arbeidsflyter til mappe og hvis ingen eksisterende versjon av en arbeidsflytw eksisterer, er den arbeidsflyten ikke importert.
Velg Mappe Velg en mappe du vil importere arbeidsflytene til. Hvis du velger [Ny Mappe..]

i rullegardinlisten Ny mappe feltet vises.

Ny mappe Skriv inn navnet på den nye mappen du vil opprette som importmappen.
  • Skritt 10 Klikk på Importer.

Eksportere arbeidsflyter, egendefinerte oppgaver, skriptmoduler og aktiviteter

Gjør følgende for å eksportere artefakter fra Cisco UCS Director:

Merk Globale variabler knyttet til en arbeidsflyt vil automatisk eksporteres under eksport av en arbeidsflyt.

  • Skritt 1 Klikk på Eksporter.
  • Skritt 2 På skjermbildet Velg arbeidsflyt velger du arbeidsflytene du vil eksportere.
    Egendefinerte arbeidsflyter, oppgaver og skript opprettet i Cisco UCS Director før versjon 6.6 kan ikke importeres hvis de inneholder XML-data.
    Note
  • Skritt 3 Klikk på Neste.
  • Skritt 4 På skjermbildet Velg egendefinerte oppgaver velger du de egendefinerte oppgavene du vil vise
    Merk Den eksporterte egendefinerte oppgaven inneholder alle egendefinerte inndata som brukes av den egendefinerte oppgaven.
  • Skritt 5 Klikk på Neste.
  • Skritt 6 På skjermbildet Eksporter: Velg skriptmoduler velger du skriptmodulene du vil eksportere.
  • Skritt 7 Klikk på Neste.
  • Skritt 8 På skjermbildet Eksporter: Velg aktiviteter velger du aktivitetene du vil eksportere.
  • Skritt 9 Klikk på Neste.
  • Skritt 10 På skjermbildet Eksporter: Velg Åpne APIer velger du APIene du vil eksportere.
  • Skritt 11 På skjermbildet Eksport: Bekreftelse fyller du ut følgende felt:
Navn Beskrivelse
Eksportert av Ditt navn eller en merknad om hvem som er ansvarlig for eksporten.
Kommentarer Kommentarer om denne eksporten.
Krypter det eksporterte file Merk av for Krypter det eksporterte file avkrysningsboksen for å kryptere file som skal eksporteres. Som standard er avmerkingsboksen merket.
Nøkkel Skriv inn nøkkelen for å kryptere file.

Dette feltet vises bare når Krypter den eksporterte file avkrysningsboksen er merket.

Ta vare på nøkkelen når den er nødvendig mens du importerer arbeidsflyten for dekryptering.

Bekreft nøkkel Tast inn nøkkelen på nytt for å bekrefte.

Dette feltet vises bare når Krypter den eksporterte file avkrysningsboksen er merket.

Eksportert File Navn Navnet på file på ditt lokale system. Skriv bare basen fileNavn; de file typeutvidelse (.wfdx) legges til automatisk.
  • Skritt 12 Klikk på Eksporter.
    Du blir bedt om å lagre file.
Kloning av en egendefinert arbeidsflytoppgave fra oppgavebiblioteket

Du kan klone oppgaver i oppgavebiblioteket for å bruke til å lage egendefinerte oppgaver. Du kan også klone en egendefinert oppgave for å lage en egendefinert oppgave.

Den klonede oppgaven er et rammeverk med de samme oppgaveinndataene og -utgangene som den opprinnelige oppgaven. Imidlertid er den klonede oppgaven bare et rammeverk. Dette betyr at du må skrive all funksjonalitet for den nye oppgaven i CloupiaScript.

Merk også at utvalgsverdier for listeinndata, for eksempel rullegardinlister og verdilister, overføres til den klonede oppgaven bare hvis listeverdiene ikke er systemavhengige. Slike ting som navn og IP-adresser til eksisterende systemer er systemavhengige; slike ting som konfigurasjonsalternativer støttet av Cisco UCS Director er ikke det. For eksample, brukergrupper, skynavn og portgrupper er systemavhengige; brukerroller, skytyper og portgruppetyper er det ikke.

  • Skritt 1 Velg Orkestrering.
  • Skritt 2 Klikk på Egendefinerte arbeidsflytoppgaver.
  • Skritt 3 Klikk Klon fra oppgavebibliotek.
  • Skritt 4 På skjermbildet Klone fra oppgavebibliotek merker du av raden med oppgaven du vil klone.
  • Skritt 5 Klikk på Velg.
    En tilpasset arbeidsflytoppgave opprettes fra oppgavebiblioteket. Den nye egendefinerte oppgaven er den siste egendefinerte oppgaven i rapporten Egendefinerte arbeidsflytoppgaver. Den nye egendefinerte oppgaven er oppkalt etter den klonede oppgaven, med datoen vedlagt.
  • Skritt 6 Klikk på Send

Hva du skal gjøre videre
Rediger den tilpassede arbeidsflytoppgaven for å sikre at riktig navn og beskrivelse er på plass for den klonede oppgaven.

Kloning av en egendefinert arbeidsflytoppgave

Du kan bruke en eksisterende tilpasset arbeidsflytoppgave i Cisco UCS Director for å lage en tilpasset arbeidsflytoppgave.

Før du begynner
En tilpasset arbeidsflytoppgave må være tilgjengelig i Cisco UCS Director.

  • Skritt 1 Velg Orkestrering.
  • Skritt 2 Klikk på Egendefinerte arbeidsflytoppgaver.
  • Skritt 3 Klikk på raden med den egendefinerte arbeidsflytoppgaven du vil klone.
    Kloneikonet vises øverst i tabellen med egendefinerte arbeidsflytoppgaver.
  • Skritt 4 Klikk Klon.
  • Skritt 5 På skjermbildet Clone Custom Workflow Task oppdaterer du de nødvendige feltene.
  • Skritt 6 Klikk på Neste.
    Inndataene som er definert for de tilpassede arbeidsflytoppgavene vises.
  • Skritt 7 Klikk på raden med oppgaveinndataene du vil redigere, og klikk på Rediger for å redigere oppgaveinndataene.
  • Skritt 8 Klikk på Legg til for å legge til en oppgaveinnføring.
  • Skritt 9 Klikk på Neste.
    Rediger oppgaveutgangene.
  • Skritt 10 Klikk på Legg til for å legge til en ny utdataoppføring.
  • Skritt 11 Klikk på Neste.
  • Skritt 12 Rediger kontrollerskriptene. Se Kontrollere egendefinerte arbeidsflytoppgaveinndata, på side 13.
  • Skritt 13 Klikk på Neste.
  • Skritt 14 For å tilpasse den egendefinerte oppgaven, rediger oppgaveskriptet.
  • Skritt 15 Klikk på Send
Kontrollere egendefinerte arbeidsflytoppgaveinnganger

Bruke kontroller
Du kan endre utseendet og oppførselen til egendefinerte oppgaveinndata ved å bruke kontrollergrensesnittet som er tilgjengelig i Cisco UCS Director.

Når skal du bruke kontroller
Bruk kontrollere i følgende scenarier:

  • For å implementere kompleks vis og skjul GUI-atferd inkludert finere kontroll over verdilister, tabellformede verdilister og andre inndatakontroller som vises til brukeren.
  • For å implementere kompleks brukerinndatavalideringslogikk.

Med inngangskontrollere kan du gjøre følgende:

  • Vis eller skjul GUI-kontroller: Du kan dynamisk vise eller skjule forskjellige GUI-felt som avmerkingsbokser, tekstbokser, rullegardinlister og knapper, basert på forhold. For eksampHvis en bruker velger UCSM fra en rullegardinliste, kan du be om brukerlegitimasjon for Cisco UCS Manager eller endre listen over verdier (LOVs) i rullegardinlisten til å vise bare tilgjengelige porter på en server.
  • Skjemafeltvalidering: Du kan validere dataene som er angitt av en bruker når du oppretter eller redigerer arbeidsflyter i arbeidsflytdesigneren. For ugyldige data som er lagt inn av brukeren, kan feil vises. Inndataene fra brukeren kan endres før de blir bevart i databasen eller før de overføres til en enhet.
  • Hent dynamisk en liste over verdier: Du kan dynamisk hente en liste med verdier fra Cisco UCS Director-objekter og bruke dem til å fylle ut GUI-formobjekter.

Rangering og Unmarshalling GUI-formobjekter
Kontrollere er alltid knyttet til et skjema i arbeidsflytdesignerens oppgaveinndatagrensesnitt. Det er en en-til-en-tilordning mellom et skjema og en kontroller. Kontrollere fungerer i to sekundertages, rangering og unmarshalling. Begge stages har to substages, før og etter. For å bruke en kontroller må du sortere (kontrollere UI-skjemafelt) og/eller unmarshall (validere brukerinndata) de relaterte GUI-skjemaobjektene ved å bruke kontrollerens skript.

Følgende tabell oppsummerer disse stages.

Stage Sub-stage
Marshalling — Brukes til å skjule og vise skjemafelt og for avansert kontroll av LOV-er og tabellformede LOV-er. før Marshall — Brukes til å legge til eller angi et inndatafelt og dynamisk opprette og angi LOV på en side (skjema).

etter Marshall — Brukes til å skjule eller vise et inndatafelt.

Stage Sub-stage
Unmarshalling – Brukes for validering av skjemabrukerinndata. før Unmarshall — Brukes til å konvertere en inngangsverdi fra ett skjema til et annet skjema, for eksempelample, for å kryptere passordet før det sendes til databasen.

etter Unmarshall — Brukes til å validere en brukerinndata og angi feilmeldingen på siden.

Byggkontrollskripter
Kontrollere krever ingen ekstra pakker som skal importeres.
Du sender ikke parametere til kontrollermetodene. I stedet gjør Cisco UCS Director-rammeverket følgende parametere tilgjengelige for bruk i rangering og demontering:

Parameter Beskrivelse Example
Side Siden eller skjemaet som inneholder alle oppgaveinndataene. Du kan bruke denne parameteren til å gjøre følgende:
  • Få eller angi inngangsverdiene i et GUI-skjema.
  • Vis eller skjul inngangene i et GUI-skjema.
page.setHidden(id + ".portList", true); page.setValue(id + ".status", "Ingen port er oppe. Portlisten er skjult");
id Den unike identifikatoren til skjemainndatafeltet. En id genereres av rammeverket og kan brukes med skjemainndatafeltets navn. page.setValue(id + ".status", "Ingen port er oppe. Portlisten er skjult");// her er 'status' navnet på inndatafeltet.
Pojo POJO (vanlig gammelt Java-objekt) er en Java-bønne som representerer et inndataskjema. Hver GUI-side må ha en tilsvarende POJO som inneholder verdiene fra skjemaet. POJO brukes til å opprettholde verdiene til databasen eller for å sende verdiene til en ekstern enhet. pojo.setLunSize(asciiValue); //sett verdien av inndatafeltet 'lunSize'

Se eksampde: Bruke kontrollere, på side 14 for en arbeidskode sample som demonstrerer kontrollerens funksjonalitet.

Example: Bruke kontrollere

Følgende kode eksample demonstrerer hvordan du implementerer kontrollerfunksjonaliteten i tilpassede arbeidsflytoppgaver ved å bruke de forskjellige metodene — før Marshall, etter Marshall, før Unmarshall og etter Unmarshall.
/*

Metodebeskrivelser:
Før Marshall: Bruk denne metoden til å legge til eller angi et inndatafelt og dynamisk opprette og angi LOV på en side(skjema).
Etter Marshall: Bruk denne metoden for å skjule eller vise et inndatafelt.
Før UnMarshall: Bruk denne metoden til å konvertere en inngangsverdi fra ett skjema til et annet skjema,
for eksample, når du vil kryptere passordet før du sender det til databasen. Etter UnMarshall: Bruk denne metoden til å validere en brukerinndata og angi feilmeldingen på
side.
*/
//Før Marshall:
/*
Bruk beforeMarshall-metoden når det er en endring i inndatafeltet eller for å dynamisk lage LOV-er og sette det nye inndatafeltet på skjemaet før det blir lastet.
I eksamplen nedenfor legges et nytt inndatafelt 'portList' til på siden før skjemaet vises i en nettleser.
*/
importPackage(com.cloupia.model.cIM);
importPackage(java.util);
importPackage(java.lang);
var portList = new ArrayList();
var lovLabel = "eth0";
var lovValue = "eth0";
var portListLOV = new Array();
portListLOV[0] = new FormLOVPair(lovLabel, lovValue);//opprett inndatafeltet lov
//parameteren 'side' brukes til å angi inndatafeltet på skjemaet
page.setEmbeddedLOVs(id + “.portList”, portListLOV);// angi inndatafeltet på skjemaet ========================== ================================================== =================================
//Etter Marshall:
/*
Bruk denne metoden til å skjule eller vise et inndatafelt.
*/
page.setHidden(id + ".portList", true); //skjul inndatafeltet 'portList'.
page.setValue(id + ".status", "Ingen port er oppe. Portlisten er skjult");
page.setEditable(id + ".status", falsk);
================================================== ================================================== =========
//Før Unmarshall :
/*
Bruk beforeUnMarshall-metoden for å lese brukerinndata og konvertere den til en annen form før du setter den inn i databasen. For eksample, kan du lese passordet og lagre passordet i databasen etter å ha konvertert det til base64-koding, eller lese ansattnavnet og konvertere til ansatt-ID når ansattnavnet sendes til databasen.
I koden eksample under lun-størrelsen leses og konverteres til en ASCII-verdi.
*/
importPackage(org.apache.log4j);
importPackage(java.lang);
importPackage(java.util);
var size = page.getValue(id + ".lunSize");
var logger = Logger.getLogger(“min logger”);
if(størrelse != null){
logger.info(“Størrelsesverdi “+størrelse);
if((new java.lang.String(size)).matches(“\\d+”)){ var byteValue = size.getBytes(“US-ASCII”); //konverter lun-størrelsen og få ASCII-tegnarrayen

var asciiValueBuilder = new StringBuilder();
for (var i = 0; i < byteValue.length; i++) {
asciiValueBuilder.append(byteValue[i]);
}
var asciiValue = asciiValueBuilder.toString()+” – Ascii
verdi"
//id + ".lunSize" er identifikatoren til inndatafeltet
page.setValue(id + “.lunSize”,asciiValue); //parameteren
'side' brukes til å angi verdien i inntastingsfeltet .
pojo.setLunSize(asciiValue); //sett verdien på pojoen.
Denne pojoen vil bli sendt til DB eller ekstern enhet
}
================================================== ================================================== =========
// Etter unMarshall :
/*
Bruk denne metoden til å validere og angi en feilmelding.
*/
importPackage(org.apache.log4j);
importPackage(java.lang);
importPackage(java.util);
//var størrelse = pojo.getLunSize();
var size = page.get Value(id + ".lunSize");
var logger = Logger .get Logger(“min logger”);
logger.info(“Størrelsesverdi “+størrelse);
if (størrelse > 50) {//valider størrelsen
side. set Error(id+".lunSize", "LUN Size kan ikke være mer enn 50MB "); //sett
feilmeldingen på siden
side .set Sidemelding(“LUN-størrelse kan ikke være mer enn 50MB”);
//side. sett Sidestatus(2);
}

Bruke utdata fra en tidligere oppgave i en arbeidsflyt

Du kan bruke utdata fra en tidligere oppgave som input for en annen oppgave i en arbeidsflyt direkte fra skriptet til en egendefinert oppgave og en Execute Cloupia Script-oppgave i oppgavebiblioteket.
For å få tilgang til denne utgangen kan du bruke en av følgende måter:

  • Hent variabelen fra arbeidsflytkonteksten ved å bruke get Input()-metoden.
  • Se utdata ved å bruke systemvariabelnotasjon.

For å hente en utdata ved å bruke kontekst getInput()-metoden, bruk:
var name = ctxt.getInput(“ForrigeTaskName.outputFieldName”);

For eksampde:
var navn = ctxt.getInput(“custom_task1_1684.NAME”); // NAME er navnet på oppgave1-utdata
feltet du vil ha tilgang til
For å hente en utdata ved hjelp av systemvariabelnotasjon, bruk:
var name = “${Navn på forrige oppgave. utdatafeltnavn}";

For eksampde:
var name = "${custom_task1_1684.NAME}"; // NAME er navnet på oppgave1-utdatafeltet du vil ha tilgang til

Example: Opprette og kjøre en egendefinert oppgave

For å opprette en egendefinert oppgave, gjør følgende:

  • Skritt 1 Velg Orkestrering.
  • Skritt 2 Klikk på Egendefinerte arbeidsflytoppgaver.
  • Skritt 3 Klikk på Legg til og tast inn den tilpassede oppgaveinformasjonen.
  • Skritt 4 Klikk på Neste.
  • Skritt 5 Klikk på + og legg til inndatadetaljene.
  • Skritt 6 Klikk på Send.
  • Skritt 7 Klikk på Neste.
    Skjermbildet Custom Task Outputs vises.
  • Skritt 8 Klikk på + og legg til utdatadetaljene for den tilpassede oppgaven.
  • Skritt 9 Klikk på Neste.
    Kontroller-skjermen vises.
  • Skritt 10 Klikk på + og legg til kontrollerdetaljene for den tilpassede oppgaven.
  • Skritt 11 Klikk på Neste.
    Skript-skjermen vises.
  • Skritt 12 Velg JavaScript som utførelsesspråk og skriv inn følgende skript for å kjøre.
    logger.addInfo(“Hei verden!”);
    logger.addInfo(“Melding “+input.melding);
    hvor melding er navnet på inndatafeltet.
  • Skritt 13 Klikk Lagre skript.
  • Skritt 14 Klikk på Send.
    Den egendefinerte oppgaven er definert og lagt til i listen over egendefinerte oppgaver.
  • Skritt 15 På Orkestrering-siden klikker du på Arbeidsflyter.
  • Skritt 16 Klikk på Legg til for å definere en arbeidsflyt, og definere arbeidsflytinngangene og -utgangene.
    Når arbeidsflytinndataene og -utgangene er definert, bruker du arbeidsflytdesigneren til å legge til en arbeidsflytoppgave i arbeidsflyten.
  • Skritt 17 Dobbeltklikk på en arbeidsflyt for å åpne arbeidsflyten i Workflow Designer-skjermen.
  • Skritt 18 På venstre side av arbeidsflytdesigneren utvider du mappene og velger en egendefinert oppgave (f.eksample, 'Hello world custom task').
  • Skritt 19 Dra og slipp den valgte oppgaven til arbeidsflytdesigneren.
  • Skritt 20 Fyll ut feltene i Legg til oppgave ( ) skjermen.
  • Skritt 21 Koble oppgaven til arbeidsflyten. Se Cisco UCS Director Orchstration Guide.
  • Skritt 22 Klikk på Valider arbeidsflyt.
  • Skritt 23 Klikk på Utfør nå og klikk på Send.
  • Skritt 24 Se loggmeldingene i loggvinduet for tjenesteforespørsel.

Dokumenter / Ressurser

cisco Opprette egendefinerte arbeidsflytoppgaver [pdfBrukerhåndbok
Opprette egendefinerte arbeidsflytoppgaver, tilpassede arbeidsflytoppgaver, lage arbeidsflytoppgaver, arbeidsflytoppgaver, oppgaver

Referanser

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket *