From 7497b7a8db335349b8d5bbd15638b3b8dd87cd63 Mon Sep 17 00:00:00 2001 From: WWCoE CI admin Date: Fri, 29 Sep 2023 12:45:42 +0000 Subject: [PATCH] (release) v2.35.1 --- CHANGELOG.md | 4 +- .../Cheatsheets/abx-plugin-arguments.md | 2 +- .../Cheatsheets/actions-plugin-arguments.md | 2 +- .../Cheatsheets/bsc-plugin-arguments.md | 2 +- .../Cheatsheets/cs-plugin-arguments.md | 2 +- .../Cheatsheets/polyglot-plugin-arguments.md | 2 +- .../Cheatsheets/ssh-plugin-arguments.md | 2 +- .../typescript-plugin-arguments.md | 2 +- .../Cheatsheets/vcd-ng-plugin-arguments.md | 2 +- .../Cheatsheets/vra-ng-plugin-arguments.md | 2 +- .../Cheatsheets/vra-plugin-arguments.md | 2 +- .../Cheatsheets/vrealize-plugin-arguments.md | 2 +- .../Cheatsheets/vrli-plugin-arguments.md | 2 +- .../Cheatsheets/vrops-plugin-arguments.md | 2 +- .../Cheatsheets/xml-plugin-arguments.md | 2 +- docs/versions/latest/Release.md | 67 ++--- .../General/Goals/Vrealize Clean.md | 34 +++ .../Polyglot/General/New Project.md | 31 ++ .../Polyglot/General/Project Structure.md | 50 ++++ .../Polyglot/General/Troubleshooting.md | 1 + .../Archetypes/Polyglot/General/Usage.md | 11 + .../Components/Archetypes/Polyglot/README.md | 13 + .../typescript/Components/Actions.md | 91 ++++++ .../typescript/Components/Config.md | 148 ++++++++++ .../typescript/General/Core Concepts.md | 24 ++ .../typescript/General/Getting Started.md | 30 ++ .../General/Testing/Code Coverage.md | 122 ++++++++ .../Testing/Examples/Dependecy Injection.md | 86 ++++++ .../Testing/Examples/Global-Classes.md | 48 +++ .../Testing/Examples/Native-Actions.md | 29 ++ .../General/Testing/Examples/RestHost.md | 47 +++ .../General/Testing/Getting Started.md | 92 ++++++ .../General/Testing/Jasmine Spies.md | 48 +++ .../General/Testing/Test Helpers.md | 8 + .../typescript/Operations/Building.md | 24 ++ .../typescript/Operations/Pushing.md | 24 ++ .../Archetypes/typescript/README.md | 19 ++ .../vRA 8.x/Components/Blueprints.md | 61 ++++ .../vRA 8.x/Components/Custom Resources.md | 20 ++ .../vRA 8.x/Components/Storage Profiles.md | 41 +++ .../Archetypes/vRA 8.x/General/Content.md | 120 ++++++++ .../vRA 8.x/General/Core Concepts.md | 114 ++++++++ .../vRA 8.x/General/Getting Started.md | 125 ++++++++ .../vRA 8.x/General/Known Issues.md | 13 + .../Archetypes/vRA 8.x/Operations/Pulling.md | 15 + .../Archetypes/vRA 8.x/Operations/Pushing.md | 17 ++ .../Components/Archetypes/vRA 8.x/README.md | 32 ++ .../Components/vRA 8.x/README.md | 12 + .../Local/Common/Artifact Manager/README.md | 13 + .../Components/Local/Installer/.gitkeep | 0 .../Installer/Components/Install Workflow.md | 42 +++ .../Installer/Components/Install Workflow.md | 0 .../Local/Installer/General/Core Concepts.md | 13 + .../Components/Local/Installer/README.md | 9 + .../v2.35.1/Components/Local/Maven/.gitkeep | 0 .../Components/Local/Packages/.gitkeep | 0 .../v2.35.1/Components/Local/Types/.gitkeep | 0 .../Local/Typescript/polyglotpkg/.gitkeep | 0 .../Typescript/vro-scripting-api/.gitkeep | 0 .../Local/Typescript/vropkg/.gitkeep | 0 .../Local/Typescript/vropkg/README.md | 21 ++ .../vrotest/General/How Does It Work.md | 39 +++ .../Local/Typescript/vrotest/General/Usage.md | 72 +++++ .../Local/Typescript/vrotest/README.md | 10 + .../vrotsc/Components/Test Helpers.md | 42 +++ .../Local/Typescript/vrotsc/General/Usage.md | 50 ++++ .../Local/Typescript/vrotsc/README.md | 13 + docs/versions/v2.35.1/Components/README.md | 18 ++ .../v2.35.1/General/Cheatsheets/.gitkeep | 0 .../Cheatsheets/abx-plugin-arguments.md | 11 + .../Cheatsheets/actions-plugin-arguments.md | 11 + .../Cheatsheets/bsc-plugin-arguments.md | 11 + .../Cheatsheets/cs-plugin-arguments.md | 11 + .../Cheatsheets/polyglot-plugin-arguments.md | 11 + .../Cheatsheets/ssh-plugin-arguments.md | 11 + .../typescript-plugin-arguments.md | 11 + .../Cheatsheets/vcd-ng-plugin-arguments.md | 11 + .../Cheatsheets/vra-ng-plugin-arguments.md | 11 + .../Cheatsheets/vra-plugin-arguments.md | 11 + .../Cheatsheets/vrealize-plugin-arguments.md | 11 + .../Cheatsheets/vrli-plugin-arguments.md | 11 + .../Cheatsheets/vrops-plugin-arguments.md | 11 + .../Cheatsheets/xml-plugin-arguments.md | 11 + .../versions/v2.35.1/General/Core Concepts.md | 17 ++ .../v2.35.1/General/Examples/.gitkeep | 0 .../v2.35.1/General/Examples/README.md | 17 ++ docs/versions/v2.35.1/General/FAQ.md | 14 + .../v2.35.1/General/Getting Started.md | 15 + .../General/Getting Started/Prerequisites.md | 43 +++ .../Getting Started/Setting Up Artifactory.md | 86 ++++++ .../Setting Up Local Environment.md | 273 ++++++++++++++++++ docs/versions/v2.35.1/General/Guides/.gitkeep | 0 docs/versions/v2.35.1/General/Installation.md | 18 ++ .../v2.35.1/General/Known Issues/.gitkeep | 0 .../v2.35.1/General/Use Cases/.gitkeep | 0 docs/versions/v2.35.1/README.md | 19 ++ docs/versions/v2.35.1/Release.md | 47 +++ pom.xml | 2 +- typescript/npmconv/package-lock.json | 4 +- typescript/npmconv/package.json | 2 +- typescript/polyglotpkg/package-lock.json | 4 +- typescript/polyglotpkg/package.json | 2 +- .../vro-scripting-api/package-lock.json | 4 +- typescript/vro-scripting-api/package.json | 2 +- typescript/vropkg/package-lock.json | 4 +- typescript/vropkg/package.json | 2 +- typescript/vrotest/package-lock.json | 4 +- typescript/vrotest/package.json | 2 +- typescript/vrotsc/package-lock.json | 4 +- typescript/vrotsc/package.json | 2 +- vro-types/ecmascript/package.json | 2 +- vro-types/jasmine/package.json | 2 +- vro-types/node/package.json | 2 +- vro-types/o11n-core/package.json | 2 +- .../o11n-plugin-activedirectory/package.json | 2 +- vro-types/o11n-plugin-amqp/package.json | 2 +- vro-types/o11n-plugin-apic/package.json | 2 +- vro-types/o11n-plugin-azure/package.json | 2 +- .../o11n-plugin-dynamictypes/package.json | 2 +- vro-types/o11n-plugin-mail/package.json | 2 +- vro-types/o11n-plugin-mqtt/package.json | 2 +- vro-types/o11n-plugin-net/package.json | 2 +- vro-types/o11n-plugin-nsx/package.json | 2 +- vro-types/o11n-plugin-powershell/package.json | 2 +- vro-types/o11n-plugin-rest/package.json | 2 +- vro-types/o11n-plugin-snmp/package.json | 2 +- vro-types/o11n-plugin-soap/package.json | 2 +- vro-types/o11n-plugin-sql/package.json | 2 +- vro-types/o11n-plugin-ssh/package.json | 2 +- vro-types/o11n-plugin-vapi/package.json | 2 +- vro-types/o11n-plugin-vc/package.json | 2 +- vro-types/o11n-plugin-vcac/package.json | 2 +- vro-types/o11n-plugin-vcaccafe/package.json | 2 +- vro-types/o11n-plugin-vcloud/package.json | 2 +- vro-types/o11n-plugin-vco/package.json | 2 +- vro-types/o11n-plugin-xml/package.json | 2 +- vro-types/tslib/package.json | 2 +- vro-types/vrotsc-annotations/package.json | 2 +- 138 files changed, 2693 insertions(+), 95 deletions(-) create mode 100644 docs/versions/v2.35.1/Components/Archetypes/General/Goals/Vrealize Clean.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/Polyglot/General/New Project.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/Polyglot/General/Project Structure.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/Polyglot/General/Troubleshooting.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/Polyglot/General/Usage.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/Polyglot/README.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/typescript/Components/Actions.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/typescript/Components/Config.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/typescript/General/Core Concepts.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/typescript/General/Getting Started.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Code Coverage.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Examples/Dependecy Injection.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Examples/Global-Classes.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Examples/Native-Actions.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Examples/RestHost.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Getting Started.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Jasmine Spies.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Test Helpers.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/typescript/Operations/Building.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/typescript/Operations/Pushing.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/typescript/README.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/Components/Blueprints.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/Components/Custom Resources.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/Components/Storage Profiles.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/General/Content.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/General/Core Concepts.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/General/Getting Started.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/General/Known Issues.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/Operations/Pulling.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/Operations/Pushing.md create mode 100644 docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/README.md create mode 100644 docs/versions/v2.35.1/Components/Local/Common/Artifact Manager/Components/vRA 8.x/README.md create mode 100644 docs/versions/v2.35.1/Components/Local/Common/Artifact Manager/README.md create mode 100644 docs/versions/v2.35.1/Components/Local/Installer/.gitkeep create mode 100644 docs/versions/v2.35.1/Components/Local/Installer/Components/Install Workflow.md create mode 100644 docs/versions/v2.35.1/Components/Local/Installer/General/Components/Local/Installer/Components/Install Workflow.md create mode 100644 docs/versions/v2.35.1/Components/Local/Installer/General/Core Concepts.md create mode 100644 docs/versions/v2.35.1/Components/Local/Installer/README.md create mode 100644 docs/versions/v2.35.1/Components/Local/Maven/.gitkeep create mode 100644 docs/versions/v2.35.1/Components/Local/Packages/.gitkeep create mode 100644 docs/versions/v2.35.1/Components/Local/Types/.gitkeep create mode 100644 docs/versions/v2.35.1/Components/Local/Typescript/polyglotpkg/.gitkeep create mode 100644 docs/versions/v2.35.1/Components/Local/Typescript/vro-scripting-api/.gitkeep create mode 100644 docs/versions/v2.35.1/Components/Local/Typescript/vropkg/.gitkeep create mode 100644 docs/versions/v2.35.1/Components/Local/Typescript/vropkg/README.md create mode 100644 docs/versions/v2.35.1/Components/Local/Typescript/vrotest/General/How Does It Work.md create mode 100644 docs/versions/v2.35.1/Components/Local/Typescript/vrotest/General/Usage.md create mode 100644 docs/versions/v2.35.1/Components/Local/Typescript/vrotest/README.md create mode 100644 docs/versions/v2.35.1/Components/Local/Typescript/vrotsc/Components/Test Helpers.md create mode 100644 docs/versions/v2.35.1/Components/Local/Typescript/vrotsc/General/Usage.md create mode 100644 docs/versions/v2.35.1/Components/Local/Typescript/vrotsc/README.md create mode 100644 docs/versions/v2.35.1/Components/README.md create mode 100644 docs/versions/v2.35.1/General/Cheatsheets/.gitkeep create mode 100644 docs/versions/v2.35.1/General/Cheatsheets/abx-plugin-arguments.md create mode 100644 docs/versions/v2.35.1/General/Cheatsheets/actions-plugin-arguments.md create mode 100644 docs/versions/v2.35.1/General/Cheatsheets/bsc-plugin-arguments.md create mode 100644 docs/versions/v2.35.1/General/Cheatsheets/cs-plugin-arguments.md create mode 100644 docs/versions/v2.35.1/General/Cheatsheets/polyglot-plugin-arguments.md create mode 100644 docs/versions/v2.35.1/General/Cheatsheets/ssh-plugin-arguments.md create mode 100644 docs/versions/v2.35.1/General/Cheatsheets/typescript-plugin-arguments.md create mode 100644 docs/versions/v2.35.1/General/Cheatsheets/vcd-ng-plugin-arguments.md create mode 100644 docs/versions/v2.35.1/General/Cheatsheets/vra-ng-plugin-arguments.md create mode 100644 docs/versions/v2.35.1/General/Cheatsheets/vra-plugin-arguments.md create mode 100644 docs/versions/v2.35.1/General/Cheatsheets/vrealize-plugin-arguments.md create mode 100644 docs/versions/v2.35.1/General/Cheatsheets/vrli-plugin-arguments.md create mode 100644 docs/versions/v2.35.1/General/Cheatsheets/vrops-plugin-arguments.md create mode 100644 docs/versions/v2.35.1/General/Cheatsheets/xml-plugin-arguments.md create mode 100644 docs/versions/v2.35.1/General/Core Concepts.md create mode 100644 docs/versions/v2.35.1/General/Examples/.gitkeep create mode 100644 docs/versions/v2.35.1/General/Examples/README.md create mode 100644 docs/versions/v2.35.1/General/FAQ.md create mode 100644 docs/versions/v2.35.1/General/Getting Started.md create mode 100644 docs/versions/v2.35.1/General/Getting Started/Prerequisites.md create mode 100644 docs/versions/v2.35.1/General/Getting Started/Setting Up Artifactory.md create mode 100644 docs/versions/v2.35.1/General/Getting Started/Setting Up Local Environment.md create mode 100644 docs/versions/v2.35.1/General/Guides/.gitkeep create mode 100644 docs/versions/v2.35.1/General/Installation.md create mode 100644 docs/versions/v2.35.1/General/Known Issues/.gitkeep create mode 100644 docs/versions/v2.35.1/General/Use Cases/.gitkeep create mode 100644 docs/versions/v2.35.1/README.md create mode 100644 docs/versions/v2.35.1/Release.md diff --git a/CHANGELOG.md b/CHANGELOG.md index f88dbaafa..75229dade 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,5 @@ +## v2.35.1 - 29 Sep 2023 + ### Fixes * [typescript] 163 / The compiled SAGA workflow crashes when no imports are defined in saga yaml * [vCD-NG] 167 / When pushing extensibility plugins, if API version 38 or above is detected, the code will automatically switch to API version 37. Otherwise push doesn't work for vCD 10.5 and above. @@ -1106,4 +1108,4 @@ * Cloud Client could not import bundles ## v1.0.0 - 02 Mar 2018 -* Initial version +* Initial version \ No newline at end of file diff --git a/docs/versions/latest/General/Cheatsheets/abx-plugin-arguments.md b/docs/versions/latest/General/Cheatsheets/abx-plugin-arguments.md index 63df7ebac..43d91b1a8 100644 --- a/docs/versions/latest/General/Cheatsheets/abx-plugin-arguments.md +++ b/docs/versions/latest/General/Cheatsheets/abx-plugin-arguments.md @@ -1,7 +1,7 @@ [ERROR] [ERROR] groupId: 'com.vmware.pscoe.maven.plugins' [ERROR] artifactId: 'abx-package-maven-plugin' -[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:abx-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:abx-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] version: '2.35.1-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:abx-package-maven-plugin:2.35.1-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:abx-package-maven-plugin:jar:2.35.1-SNAPSHOT [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. diff --git a/docs/versions/latest/General/Cheatsheets/actions-plugin-arguments.md b/docs/versions/latest/General/Cheatsheets/actions-plugin-arguments.md index a065e1809..9f4843d48 100644 --- a/docs/versions/latest/General/Cheatsheets/actions-plugin-arguments.md +++ b/docs/versions/latest/General/Cheatsheets/actions-plugin-arguments.md @@ -1,7 +1,7 @@ [ERROR] [ERROR] groupId: 'com.vmware.pscoe.maven.plugins' [ERROR] artifactId: 'o11n-actions-package-maven-plugin' -[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:o11n-actions-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:o11n-actions-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] version: '2.35.1-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:o11n-actions-package-maven-plugin:2.35.1-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:o11n-actions-package-maven-plugin:jar:2.35.1-SNAPSHOT [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. diff --git a/docs/versions/latest/General/Cheatsheets/bsc-plugin-arguments.md b/docs/versions/latest/General/Cheatsheets/bsc-plugin-arguments.md index 1a925542b..9eea3288a 100644 --- a/docs/versions/latest/General/Cheatsheets/bsc-plugin-arguments.md +++ b/docs/versions/latest/General/Cheatsheets/bsc-plugin-arguments.md @@ -1,7 +1,7 @@ [ERROR] [ERROR] groupId: 'com.vmware.pscoe.maven.plugins' [ERROR] artifactId: 'bsc-package-maven-plugin' -[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:bsc-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:bsc-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] version: '2.35.1-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:bsc-package-maven-plugin:2.35.1-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:bsc-package-maven-plugin:jar:2.35.1-SNAPSHOT [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. diff --git a/docs/versions/latest/General/Cheatsheets/cs-plugin-arguments.md b/docs/versions/latest/General/Cheatsheets/cs-plugin-arguments.md index 4abc2e82e..737c076e6 100644 --- a/docs/versions/latest/General/Cheatsheets/cs-plugin-arguments.md +++ b/docs/versions/latest/General/Cheatsheets/cs-plugin-arguments.md @@ -1,7 +1,7 @@ [ERROR] [ERROR] groupId: 'com.vmware.pscoe.maven.plugins' [ERROR] artifactId: 'cs-package-maven-plugin' -[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:cs-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:cs-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] version: '2.35.1-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:cs-package-maven-plugin:2.35.1-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:cs-package-maven-plugin:jar:2.35.1-SNAPSHOT [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. diff --git a/docs/versions/latest/General/Cheatsheets/polyglot-plugin-arguments.md b/docs/versions/latest/General/Cheatsheets/polyglot-plugin-arguments.md index d9d862ea9..1ae48b6be 100644 --- a/docs/versions/latest/General/Cheatsheets/polyglot-plugin-arguments.md +++ b/docs/versions/latest/General/Cheatsheets/polyglot-plugin-arguments.md @@ -1,7 +1,7 @@ [ERROR] [ERROR] groupId: 'com.vmware.pscoe.maven.plugins' [ERROR] artifactId: 'o11n-polyglot-package-maven-plugin' -[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:o11n-polyglot-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:o11n-polyglot-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] version: '2.35.1-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:o11n-polyglot-package-maven-plugin:2.35.1-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:o11n-polyglot-package-maven-plugin:jar:2.35.1-SNAPSHOT [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. diff --git a/docs/versions/latest/General/Cheatsheets/ssh-plugin-arguments.md b/docs/versions/latest/General/Cheatsheets/ssh-plugin-arguments.md index f8344c680..a4f234c0a 100644 --- a/docs/versions/latest/General/Cheatsheets/ssh-plugin-arguments.md +++ b/docs/versions/latest/General/Cheatsheets/ssh-plugin-arguments.md @@ -1,7 +1,7 @@ [ERROR] [ERROR] groupId: 'com.vmware.pscoe.maven.plugins' [ERROR] artifactId: 'ssh-maven-plugin' -[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:ssh-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:ssh-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] version: '2.35.1-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:ssh-maven-plugin:2.35.1-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:ssh-maven-plugin:jar:2.35.1-SNAPSHOT [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. diff --git a/docs/versions/latest/General/Cheatsheets/typescript-plugin-arguments.md b/docs/versions/latest/General/Cheatsheets/typescript-plugin-arguments.md index a0d1f17c9..9d676cae0 100644 --- a/docs/versions/latest/General/Cheatsheets/typescript-plugin-arguments.md +++ b/docs/versions/latest/General/Cheatsheets/typescript-plugin-arguments.md @@ -1,7 +1,7 @@ [ERROR] [ERROR] groupId: 'com.vmware.pscoe.maven.plugins' [ERROR] artifactId: 'o11n-typescript-package-maven-plugin' -[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:o11n-typescript-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:o11n-typescript-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] version: '2.35.1-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:o11n-typescript-package-maven-plugin:2.35.1-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:o11n-typescript-package-maven-plugin:jar:2.35.1-SNAPSHOT [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. diff --git a/docs/versions/latest/General/Cheatsheets/vcd-ng-plugin-arguments.md b/docs/versions/latest/General/Cheatsheets/vcd-ng-plugin-arguments.md index 7ec97576b..ee41c0320 100644 --- a/docs/versions/latest/General/Cheatsheets/vcd-ng-plugin-arguments.md +++ b/docs/versions/latest/General/Cheatsheets/vcd-ng-plugin-arguments.md @@ -1,7 +1,7 @@ [ERROR] [ERROR] groupId: 'com.vmware.pscoe.maven.plugins' [ERROR] artifactId: 'vcd-ng-package-maven-plugin' -[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:vcd-ng-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:vcd-ng-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] version: '2.35.1-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:vcd-ng-package-maven-plugin:2.35.1-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:vcd-ng-package-maven-plugin:jar:2.35.1-SNAPSHOT [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. diff --git a/docs/versions/latest/General/Cheatsheets/vra-ng-plugin-arguments.md b/docs/versions/latest/General/Cheatsheets/vra-ng-plugin-arguments.md index 6e43a5529..2336030e3 100644 --- a/docs/versions/latest/General/Cheatsheets/vra-ng-plugin-arguments.md +++ b/docs/versions/latest/General/Cheatsheets/vra-ng-plugin-arguments.md @@ -1,7 +1,7 @@ [ERROR] [ERROR] groupId: 'com.vmware.pscoe.maven.plugins' [ERROR] artifactId: 'vra-ng-package-maven-plugin' -[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:vra-ng-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:vra-ng-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] version: '2.35.1-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:vra-ng-package-maven-plugin:2.35.1-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:vra-ng-package-maven-plugin:jar:2.35.1-SNAPSHOT [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. diff --git a/docs/versions/latest/General/Cheatsheets/vra-plugin-arguments.md b/docs/versions/latest/General/Cheatsheets/vra-plugin-arguments.md index 95265e9d2..717c5903b 100644 --- a/docs/versions/latest/General/Cheatsheets/vra-plugin-arguments.md +++ b/docs/versions/latest/General/Cheatsheets/vra-plugin-arguments.md @@ -1,7 +1,7 @@ [ERROR] [ERROR] groupId: 'com.vmware.pscoe.maven.plugins' [ERROR] artifactId: 'vra-package-maven-plugin' -[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:vra-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:vra-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] version: '2.35.1-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:vra-package-maven-plugin:2.35.1-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:vra-package-maven-plugin:jar:2.35.1-SNAPSHOT [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. diff --git a/docs/versions/latest/General/Cheatsheets/vrealize-plugin-arguments.md b/docs/versions/latest/General/Cheatsheets/vrealize-plugin-arguments.md index a51739e8a..74fd1d63e 100644 --- a/docs/versions/latest/General/Cheatsheets/vrealize-plugin-arguments.md +++ b/docs/versions/latest/General/Cheatsheets/vrealize-plugin-arguments.md @@ -1,7 +1,7 @@ [ERROR] [ERROR] groupId: 'com.vmware.pscoe.maven.plugins' [ERROR] artifactId: 'vrealize-package-maven-plugin' -[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:vrealize-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:vrealize-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] version: '2.35.1-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:vrealize-package-maven-plugin:2.35.1-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:vrealize-package-maven-plugin:jar:2.35.1-SNAPSHOT [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. diff --git a/docs/versions/latest/General/Cheatsheets/vrli-plugin-arguments.md b/docs/versions/latest/General/Cheatsheets/vrli-plugin-arguments.md index d731c49c6..d6aab1c85 100644 --- a/docs/versions/latest/General/Cheatsheets/vrli-plugin-arguments.md +++ b/docs/versions/latest/General/Cheatsheets/vrli-plugin-arguments.md @@ -1,7 +1,7 @@ [ERROR] [ERROR] groupId: 'com.vmware.pscoe.maven.plugins' [ERROR] artifactId: 'vrli-package-maven-plugin' -[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:vrli-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:vrli-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] version: '2.35.1-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:vrli-package-maven-plugin:2.35.1-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:vrli-package-maven-plugin:jar:2.35.1-SNAPSHOT [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. diff --git a/docs/versions/latest/General/Cheatsheets/vrops-plugin-arguments.md b/docs/versions/latest/General/Cheatsheets/vrops-plugin-arguments.md index eb8b8bd76..ef82741b9 100644 --- a/docs/versions/latest/General/Cheatsheets/vrops-plugin-arguments.md +++ b/docs/versions/latest/General/Cheatsheets/vrops-plugin-arguments.md @@ -1,7 +1,7 @@ [ERROR] [ERROR] groupId: 'com.vmware.pscoe.maven.plugins' [ERROR] artifactId: 'vrops-package-maven-plugin' -[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:vrops-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:vrops-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] version: '2.35.1-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:vrops-package-maven-plugin:2.35.1-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:vrops-package-maven-plugin:jar:2.35.1-SNAPSHOT [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. diff --git a/docs/versions/latest/General/Cheatsheets/xml-plugin-arguments.md b/docs/versions/latest/General/Cheatsheets/xml-plugin-arguments.md index 4cf4a117d..4b8ce583a 100644 --- a/docs/versions/latest/General/Cheatsheets/xml-plugin-arguments.md +++ b/docs/versions/latest/General/Cheatsheets/xml-plugin-arguments.md @@ -1,7 +1,7 @@ [ERROR] [ERROR] groupId: 'com.vmware.pscoe.maven.plugins' [ERROR] artifactId: 'o11n-xml-package-maven-plugin' -[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:o11n-xml-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:o11n-xml-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] version: '2.35.1-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:o11n-xml-package-maven-plugin:2.35.1-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:o11n-xml-package-maven-plugin:jar:2.35.1-SNAPSHOT [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. diff --git a/docs/versions/latest/Release.md b/docs/versions/latest/Release.md index 355d66594..b7531c796 100644 --- a/docs/versions/latest/Release.md +++ b/docs/versions/latest/Release.md @@ -1,47 +1,48 @@ -## Breaking Changes - - -## Deprecations - - -## Features - +[//]: # (VERSION_PLACEHOLDER DO NOT DELETE) +[//]: # (Used when working on a new release. Placed together with the Version.md) +[//]: # (Nothing here is optional. If a step must not be performed, it must be said so) +[//]: # (Do not fill the version, it will be done automatically) +[//]: # (Quick Intro to what is the focus of this release) -## Improvements - -### Fixed importing of vRA content items on vRA 8.13.x - -#### Previous Behavior - -When pushing vRA content items to vRA 8.13.x the pushing fails with the following error: -Cannot invoke "com.vmware.pscoe.iac.artifact.model.vrang.VraNgCatalogItemType.getId()" because "this.type" is null -When the content item naming case in the content.yaml file is different from the file names that are in the content-items directory -they are not pushed to the target environment (skipped). +## Breaking Changes +[//]: # (### *Breaking Change*) +[//]: # (Describe the breaking change AND explain how to resolve it) +[//]: # (You can utilize internal links /e.g. link to the upgrade procedure, link to the improvement|deprecation that introduced this/) -#### New Behavior -When pushing the vRA content items to vRA 8.13.x it no longer fails. The content naming in the content.yaml is no longer case sensitive -againist the file names in the content-items directory, thus the content-items names in the content.yaml file are no longer case sensitive. -### Fixed the compiled SAGA workflow crashes when no imports are defined in saga yaml +## Deprecations +[//]: # (### *Deprecation*) +[//]: # (Explain what is deprecated and suggest alternatives) -#### Previous Behaviour -When no imports were defined in typescript SAGA workflow file format, the compiled vRO workflow failed when being executied in vRO on Initilize scriptable task -with null object error. -#### New Behaviour +[//]: # (Features -> New Functionality) +## Features +[//]: # (### *Feature Name*) +[//]: # (Describe the feature) +[//]: # (Optional But higlhy recommended Specify *NONE* if missing) +[//]: # (#### Relevant Documentation:) -When no imports are defined in typescript SAGA workflow file format, the compiled vRO workflow runs successfully. -### Fixed push to vCD failing if API version is >= 38.0 -#### Previous Behaviour +[//]: # (Improvements -> Bugfixes/hotfixes or general improvements) +## Improvements +[//]: # (### *Improvement Name* ) +[//]: # (Talk ONLY regarding the improvement) +[//]: # (Optional But higlhy recommended) +[//]: # (#### Previous Behavior) +[//]: # (Explain how it used to behave, regarding to the change) +[//]: # (Optional But higlhy recommended) +[//]: # (#### New Behavior) +[//]: # (Explain how it behaves now, regarding to the change) +[//]: # (Optional But higlhy recommended Specify *NONE* if missing) +[//]: # (#### Relevant Documentation:) -When using vCD 10.5 there is a breaking change affecting the way authentication works and as a consequence the push to vCD is failing. -#### New Behaviour -This introduces a quick fix to the problem: if API version 38.0 or later is detected, simply use 37.0 which we know works as expected. +## Upgrade procedure: +[//]: # (Explain in details if something needs to be done) -## Upgrade procedure +[//]: # (## Changelog:) +[//]: # (Pull request links) diff --git a/docs/versions/v2.35.1/Components/Archetypes/General/Goals/Vrealize Clean.md b/docs/versions/v2.35.1/Components/Archetypes/General/Goals/Vrealize Clean.md new file mode 100644 index 000000000..24ea63479 --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/General/Goals/Vrealize Clean.md @@ -0,0 +1,34 @@ +# Vrealize Clean +vrealize:clean is a goal used to clean up archetype packages on a given environment. + +## Overview + +vrealize:clean gives us a lot of flexibility in what is going to be deleted. You can find more about the different options +in the sections below + +## Table Of Contents: +1. [Archetype Support for vrealize:clean](#archetype-support-for-vrealize--clean) +2. [Usage](#usage) + +### Archetype Support for vrealize:clean + +| Archetype | Supported | Comment | +|-----------|-----------|-------------------------------------------------------------------| +| vra | Yes | - | +| vro | Yes | - | +| vcd | Partial | It does not support dryRunning | +| abx | No | Not implemented | +| vrops | No | Not implemented | +| vra-ng | No | Aria Automation does not support packaging | +| vrli | No | vRLI does not provide native package support | +| cs | No | Code Stream Services does not provide native support for packages | + +### Usage + +`mvn vrealize:clean -DincludeDependencies=true -DcleanUpOldVersions=true -DcleanUpLastVersion=false -Ddryrun=true -P${PROFILE}` + +- includeDependencies - a flag depicting if dependencies should also be deleted +- cleanUpOldVersions - a flag depicting if old versions of the package (and dependencies in case of includeDependencies) should be deleted +- cleanUpLastVersion - a flag depicting if the latest version should also be deleted before importing +- dryrun - Dryrun or not + diff --git a/docs/versions/v2.35.1/Components/Archetypes/Polyglot/General/New Project.md b/docs/versions/v2.35.1/Components/Archetypes/Polyglot/General/New Project.md new file mode 100644 index 000000000..7e924244a --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/Polyglot/General/New Project.md @@ -0,0 +1,31 @@ +# New Project + +## Table Of Contents: +1. [Generate A New Project](#generate-a-new-project) + +### Generate A New Project + +- Replace `archetypeVersion` with the latest toolchain version +- Specify `type` to be either `abx` (vRA ABX Actions) or `vro` (vRO Polyglot Actions). + +```bash +#vRO: +mvn archetype:generate \ + -DinteractiveMode=false \ + -DarchetypeGroupId=com.vmware.pscoe.polyglot.archetypes \ + -DarchetypeArtifactId=package-polyglot-archetype \ + -DarchetypeVersion={LATEST_VERSION} \ + -DgroupId=com.vmware.pscoe \ + -DartifactId=testvronew \ + -Dtype=vro + +#ABX: +mvn archetype:generate \ + -DinteractiveMode=false \ + -DarchetypeGroupId=com.vmware.pscoe.polyglot.archetypes \ + -DarchetypeArtifactId=package-polyglot-archetype \ + -DarchetypeVersion={LATEST_VERSION} \ + -DgroupId=com.vmware.pscoe \ + -DartifactId=testabxnew \ + -Dtype=abx +``` diff --git a/docs/versions/v2.35.1/Components/Archetypes/Polyglot/General/Project Structure.md b/docs/versions/v2.35.1/Components/Archetypes/Polyglot/General/Project Structure.md new file mode 100644 index 000000000..5938d3bd8 --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/Polyglot/General/Project Structure.md @@ -0,0 +1,50 @@ +# Project Structure + +## Overview +The polyglot archetype supports multiple actions in the src folder. Each has it's own structure depending on the type of the package. + +## Table Of Contents: +1. [General](#general) +2. [Templates](#templates) +3. [NodeJS](#nodejs) +4. [Python](#python) +5. [Powershell](#powershell) + +### General +- `polyglot.json` - marks a folder as a polyglot package. Contains information about the package. + - If the `platform.action` is set to `auto` the name of the folder will be used as the package name. + - If the `platform.protocolType` is set to one of possible values `'Ssl3' | 'Tls' | 'Tls11' | 'Tls12' | 'Tls13'` all external modules(Added through Import-Module in the code) will be downloaded using the selected encryption protcol, otherwise the system default is used. + +### Templates +There are three templates: +* src/template-nodejs ([NodeJs](#nodejs)) +* src/template-powershell ([Powershell](#powershell)) +* src/template-python ([Python](#python)) + + +Note: you do not need to delete template folders. Any folder starting with `template-` is ignored. + +### NodeJS +- `handler.ts` - holds all the logic for the action +- `tsconfig.json` - used by typescript to compile the code during `mvn package`, since rootDirs and srcDirs are dynamic, there are + placeholders in this file. **do not modify** + +> Dependencies +> +> NodeJS' dependencies are defined in the `package.json` file in the `dependencies` property. Specify only dependencies to +> your code, there are no mandatory dependencies as well as no default ones. + +### Python +- `handler.py` - holds all the logic for the action +- `requirements.txt` - holds dependency information e.g. requirements.txt: + ```python + requests==2.23.0 + ``` + +> Dependencies +> +> These follow the standard python `requirements.txt` structure. No default or mandatory dependencies. [More Info](https://learnpython.com/blog/python-requirements-file/) + +### Powershell +- `handler.ps1` - holds all the logic for the action + diff --git a/docs/versions/v2.35.1/Components/Archetypes/Polyglot/General/Troubleshooting.md b/docs/versions/v2.35.1/Components/Archetypes/Polyglot/General/Troubleshooting.md new file mode 100644 index 000000000..0a4a1971c --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/Polyglot/General/Troubleshooting.md @@ -0,0 +1 @@ +[//]: # (Finish with some troubleshooting tips, when any error are encountered and fixed for future issues) diff --git a/docs/versions/v2.35.1/Components/Archetypes/Polyglot/General/Usage.md b/docs/versions/v2.35.1/Components/Archetypes/Polyglot/General/Usage.md new file mode 100644 index 000000000..5ec49d64d --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/Polyglot/General/Usage.md @@ -0,0 +1,11 @@ +# Usage + +## Overview +Polyglot archetype just like any other archetype utilizes the `vrealize:push` to package and deploy the artifacts. + +## Table Of Contents: +1. [Command](#command) + +### Command + +`mvn clean package vrealize:push -Penvironment_profile` diff --git a/docs/versions/v2.35.1/Components/Archetypes/Polyglot/README.md b/docs/versions/v2.35.1/Components/Archetypes/Polyglot/README.md new file mode 100644 index 000000000..fb1094be7 --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/Polyglot/README.md @@ -0,0 +1,13 @@ +# Polyglot +The polyglot archetype is an archetype that allows you to push "polyglot" actions to vRO and vRA ( like powershell, python, nodejs ) + +## Overview +The polyglot archetype is used to push multiple of these actions at the same time in a single package. + +## Navigation: +- Getting Started + - [Project Structure](./General/Project Structure.md) + - [New Project](./General/New Project.md) +- [Usage](./General/Usage.md) +- [Troubleshooting](./General/Troubleshooting.md) + diff --git a/docs/versions/v2.35.1/Components/Archetypes/typescript/Components/Actions.md b/docs/versions/v2.35.1/Components/Archetypes/typescript/Components/Actions.md new file mode 100644 index 000000000..772ed688d --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/typescript/Components/Actions.md @@ -0,0 +1,91 @@ +# Actions +vRO Actions, supported types and how to use them inside the Typescript Archetype + +## Overview +vRO Actions can essentially be viewed as javascript modules that can be used inside workflows and other actions. This +is where classes, functions, objects, etc. are defined. + +## Table Of Contents: +1. [Pushing Actions](#pushing-actions) +2. [Action Parameters](#action-parameters) +3. [Action Return Type](#action-return-type) +4. [Examples](#examples) + +### Pushing Actions +Actions are pushed when running `mvn clean package vrealize:push`. + +#### Limitations +- Only actions that are under `PROJECT_ROOT/src` will be pushed to vRO. +- Only actions that end in `.js` and `.ts` will be pushed. +- Action name can contain only letters, numbers and the symbols "_" and "$". +- Action name cannot start with a number. + +### Action Parameters +Action Parameters are **NOT** mandatory, but they will be taken into consideration if passed. + +JSDoc Parameters in vRO native actions are used when you want to define the parameter type. It will be taken into +consideration, otherwise it will be Any. You must follow the way parameter types are defined in vRO. +The argument name must match the regex: `^[a-zA-Z0-9_$]+$`. If it does not match, the parameter is ignored + +If the action is a typescript one, then typescript hints will be used instead. + +#### Action parameter description +You can define descriptions per parameter by adding a `-`. + +Example: +```javascript +/** + * @param {Any} arugment - This is the description + */ +``` + +#### Action parameters with properties +You can define action parameters with properties like: +```javascript +/** + * @param {Any} args + * @param {string} args.url + */ +(function (args) { + return args.url; +}) +``` +In this example, the args.url will be ignored. + +[JSDoc documentation](https://jsdoc.app/tags-param.html#parameters-with-properties) + +#### Unsupported Parameters +- Optional `@param {string} [optional=123]` or `@param {string=} optional` +- Union type `@param {(string|string[])} union` +- Repeated parameter `@param {...number} num` + +### Action Return Type +Action return type is **NOT** mandatory, but it will be taken into consideration if passed. + +You can add `@return` or `@returns` to define the return type of the action, or alternatively if the action is typescript, +the typescript hints will be used. + +### Examples: + +#### Native vRO Action +```javascript +/** + * @param {Any} args + * @param {number} test + */ +(function (args, test, willBeAnyType) { + return args.url; +}); + +//...... + +// Will be transpiled to +return args.url; +``` +In this example: +- Param `args` of type Any +- Param `test` of type number +- Param `willBeAnyType` of type Any +- Return type: Any + + diff --git a/docs/versions/v2.35.1/Components/Archetypes/typescript/Components/Config.md b/docs/versions/v2.35.1/Components/Archetypes/typescript/Components/Config.md new file mode 100644 index 000000000..696587a65 --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/typescript/Components/Config.md @@ -0,0 +1,148 @@ +# Config elements +vRO Configuration Elements and how to define them in a typescript project + +## Overview +Configuration Elements are vRO constructs that allow you to store configuration data. Build Tools for VMware Aria supports +a few ways of defining configuration elements as well as different types of values. + +## Table Of Contents: +1. [Pushing Configuration Values](#pushing-configuration-values) +2. [Secure Strings](#secure-strings) +3. [CompositeTypes](#compositetypes) +4. [Examples](#examples) + +### Pushing Configuration Values: + +When doing `mvn clean package vrealize:push` you need to include some extra arguments +if you want to push configuration values + +`-Dvro.packageImportConfigurationAttributeValues=true` - Pushes all configuration values besides SecureStrings +`-Dvro.packageImportConfigSecureStringAttributeValues=true` - Pushes all Secure String configuration values + +### Secure Strings +Up to version 2.23.0 +Secure strings in configuration elements are defined as shown below: +~~~ts +import { Configuration } from "vrotsc-annotations"; + +@Configuration({ + name: "Test", + path: "PSCoE/Test", + attributes: { + password: + { + type: "SecureString", + value: "36BJ62U35V34T31R64I31H38Q39L2DH62K37Q63T61M2DK34O62R66K35U2DY38Y32S66Q35G2DQ63K66U64Z62X33Q37T31R34Q37W31Z66M31K", + description: "some number" + } + } +}) +export class Test { + password: SecureString; +} +~~~ + +When pushing them to vRO, you have to add `-Dvro.packageImportConfigSecureStringAttributeValues=true` to indicate to the +Build Tools for VMware Aria that the SecureStrings should be imported as well. + +The value is encoded, and the best way to know what to set there would be to manually add it to vRO, then fetch it +using the VSCode vRDT /vRealize Developer tools/ plugin by clicking on the extension in the sidebar and navigating to it. +After you find it you will be able to extract the value from the retrieved `xml` and put it here. + +### CompositeTypes: +Currently, composite types are implemented for both vRO7 and vRO8. vRO8 is compatible with the old +vRO7 way of importing composite types, so that format is used to import composite types in both systems. + +Composite types conform to these constraints: +~~~ts +type PossibleAttributeValues = string | boolean | number; + +type AttributeValue = PossibleAttributeValues | PossibleAttributeValues[]; +~~~ + +Meaning that a Composite type can be a string, boolean, number or an array of each. + + +### Examples: +Example Typescript Configuration Element: +~~~ts +import { Configuration } from "vrotsc-annotations"; + +@Configuration({ + name: "GeneralConfig", + path: "PSCoE/MyProject", + attributes: { + composite: { + type: "CompositeType(field1:number,field2:boolean,field3:string,field4:Array/string):ITest", + value: { + field1: 1, + field2: true, + field3: '2222', + field4: ['test',"test2", `test3`] + }, + description: "A composite value with all the basics" + }, + numericAttr: { + type: "number", + value: 123, + description: "Represents a numeric variable" + }, + stringAttr: { + type: "string", + value: "Some String", + description: "A string variable" + }, + stringArray: { + type: "Array/string", + value: ["first", "second"], + description: "This is an array of strings" + }, + host: { + type: "REST:RESTHost", + description: "A RESTHost without any value ( placeholder )" + // Does not support values + }, + vm: { + type: "VC:VirtualMachine", + description: "A VirtualMachine without any value ( placeholder )" + // Does not support values + }, + password: { + type: "SecureString", + value: "36BJ62U35V34T31R64I31H38Q39L2DH62K37Q63T61M2DK34O62R66K35U2DY38Y32S66Q35G2DQ63K66U64Z62X33Q37T31R34Q37W31Z66M31K", + description: "some number" + } + } +}) +export class CompositeValuesTest { +} +~~~ + +Example YAML configuration element +~~~yaml +name: CompositeConfigYaml +path: PSCoE/MyProject +attributes: + field1: + type: CompositeType(field1:number,field2:boolean,field3:string,field4:Array/string):ITest + description: "A composite type with primitives" + value: + field1: 1 + field2: true + field3: Test + field4: + - test1 + - test2 + - test3 + field2: + type: number + value: 123 + description: "Some number" + field3: + type: boolean + value: true + description: "Some boolean" + field4: + type: string + description: "Some string" +~~~ diff --git a/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Core Concepts.md b/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Core Concepts.md new file mode 100644 index 000000000..6c394d10d --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Core Concepts.md @@ -0,0 +1,24 @@ +[//]: # (DEFAULT TEMPLATE, Used if no others match) + +[//]: # (Remove Comments when you are done) +[//]: # (What is this?) +# Title +[//]: # (Additional Information on the topic goes here) + +[//]: # (What will you learn) +[//]: # (Optional) +## Overview + +[//]: # (Internal navigation) +[//]: # (Navigational links may have a short description after them separated by a `-`) +## Table Of Contents: +1. [Section](#section) + +[//]: # (Fill As many of these as you need. Use h4 and further here, do not include h1s, h2s or h3s.) +### Section + +[//]: # (Optional Section) +[//]: # (## Previous:) + +[//]: # (Optional Section) +[//]: # (## Next:) diff --git a/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Getting Started.md b/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Getting Started.md new file mode 100644 index 000000000..4b9ba880e --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Getting Started.md @@ -0,0 +1,30 @@ +[//]: # (DEFAULT TEMPLATE, Used if no others match) + +[//]: # (Remove Comments when you are done) +[//]: # (What is this?) +# Title +[//]: # (Additional Information on the topic goes here) + +[//]: # (What will you learn) +[//]: # (Optional) +## Overview + +[//]: # (Internal navigation) +[//]: # (Navigational links may have a short description after them separated by a `-`) +## Table Of Contents: +1. [Section](#section) + +[//]: # (Fill As many of these as you need. Use h4 and further here, do not include h1s, h2s or h3s.) +### Section + +[//]: # (Optional Section) +[//]: # (## Previous:) + +[//]: # (Optional Section) +[//]: # (## Next:) + +### Properties +#### skipInstallNodeDeps +Add the skipInstallNodeDeps flag to skip the deletion and re installation of node-deps. +Ex: mvn clean package -DskipInstallNodeDeps=true +Note: If node_modules folder doesn't exist, then this flag is ineffective. diff --git a/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Code Coverage.md b/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Code Coverage.md new file mode 100644 index 000000000..bfdd5d1ae --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Code Coverage.md @@ -0,0 +1,122 @@ +# Code Coverage +Details on how to enable, configure and read code coverage + +## Overview +After code has been compiled to javascript ( from typescript ), a testbed is created. A VRO Runtime is inserted so you +can use some modules natively ( things like Workflow, Properties, LockingSystem, Server, System, etc. ). +After the test bed is created, jasmine is run either through IstanbulJS or directly( depending if code coverage is enabled or not ). + +**Jasmine version: 4.0.2** + +## Table Of Contents: +1. [Enabling Code Coverage](#enabling-code-coverage) +2. [Reporters](#reporters) +3. [Setting Thresholds](#setting-thresholds) +4. [How to exclude files from code coverage](#how-to-exclude-files-from-code-coverage) +5. [Best Practices](#best-practices) +6. [Limitations](#limitations) +7. [FAQ](#faq) + +### Enabling Code Coverage + +Start by Adding the following profile to your `~/.m2/settings.xml` file +~~~xml + + pscoe-testing + + true + text,html,clover,cobertura,lcovonly + + +~~~ + +Activate the profile by adding it to the +~~~xml + + pscoe-testing + +~~~ + +### Reporters +The toolchain supports many different code coverage reporters. Internally we use a tool called IstanbulJS, so the +supported reporters and their documentation can be found here: [Using Alternative Reporters](https://istanbul.js.org/docs/advanced/alternative-reporters/) + +After enabling a reporter and running `mvn clean test`, you can see the output files in : `/target/vro-tests/coverage/` + +### Setting Thresholds + +When setting the thresholds for code coverage if you set the ``, if the percentage is +not met when running the tests, the tests will be considered as failed. Including such thresholds into your CI/CD pipeline +will introduce hard limits that developers must follow when writing code. This way you can introduce a very good quality gate. +It is suggested to start with a lower threshold for older projects and higher threshold for new projects. A good example +of setting an error threshold would be around 60-70 and a possible warning threshold in the 80s. + +Individual overwrites for thresholds can be set for branches, lines, functions and statements. These individually +overwrite the default ones ( `test.coverage.thrsholds.error|warn` ) + +#### Per-file + +Code coverage per file bases. Set custom --coverage-thresholds, if any file in the project drops below those thresholds, the build will fail. + +Enable by setting `true` in your `~/.m2/settings.xml` testing profile. + +Refer to InstanbulJS documentation for more information: https://github.com/istanbuljs/nyc + +~~~xml + + pscoe-testing + + true + text,html,clover,cobertura,lcovonly + + + 70 + 80 + + 60 + 70 + 60 + 70 + 60 + 70 + 60 + 70 + true + + +~~~ + +### How to exclude files from code coverage +Files can be excluded from code coverage by naming them following the pattern: `*.helper.[tj]s` +During testing, you will be able to use these files by specifying them normally ( `import testHelper from "./testHelper.helper";` ) + +### Best Practices + +**Naming convention** + +~~~ +"**/?(*.)+(spec|test).[j|t]s(x)" + +//example names for javascript file +MyTests.test.js +MyTests.spec.js + +//example names for typescript file +MyTest.test.ts +MyTest.spec.ts +~~~ + +### Limitations + +**actions-package** + +For actions-package projects, all test must be placed under `src/test` folder in order to be compiled and executed and packaged correctly. + +### FAQ + +#### Can I use Jasmine Helpers? +Jasmine helpers are not supported. We are injecting the vRO Runtime with a helper tho. + +#### Can I test workflows? +This is currently not supported. As a general rule of thumb, keep your Workflows as minimal as possible. Abstract the +logic away from the workflows and put it in an Action that is easily testable. diff --git a/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Examples/Dependecy Injection.md b/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Examples/Dependecy Injection.md new file mode 100644 index 000000000..415988ada --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Examples/Dependecy Injection.md @@ -0,0 +1,86 @@ +# Dependecy Injection +Example on how to test Dependency Injection + +## Overview +Dependency injection is providing the objects that an object needs (its dependencies) instead of having it construct them itself. It's a very useful technique for testing, since it allows dependencies to be mocked or stubbed out. + +Dependencies can be injected into objects by constructor injection or setter injection. + +## Table Of Contents: +1. [Example](#example) + +### Example + +Test: +~~~typescript +export class NoDependencyInjection { + protected restHost: RESTHost; + + // We can retrieve the RESTHost from a config element, but we have no way of creating mocks/spies/expectations + init() { + const restHostConfig = new ConfigElementAccessor('ing/testing/dependencyInjectionRestHost'); + this.restHost = restHostConfig.get('restHost'); + } + + doApiCall() { + const request = this.restHost.createRequest("GET", "/ping", ""); + + return request.execute(); + } +} + +// To test this, create a mock for restHostConfig +export class SomeDependencyInjection { + private restHost: RESTHost; + + // Retrieve the RESTHost from a config element + constructor(restHostConfig: ConfigElementAccessor) { + this.restHost = restHostConfig.get('restHost'); + } + + doApiCall() { + const request = this.restHost.createRequest("GET", "/ping", ""); + + return request.execute(); + } +} + +// Even Better, we can test this by creating a mock for restHost directly, always delegate logic to the parent, not the child! +// Let the action/workflow that needs this class, fetch everything that is needed. +export class GoodDependencyInjection { + constructor(private restHost: RESTHost) { + } + + doApiCall() { + const request = this.restHost.createRequest("GET", "/ping", ""); + + return request.execute(); + } +} + +// Test oriented dependency injection. Useful in a LOT of cases. In your normal execution, you want to retrieve the value +// from some config element, but in test cases, you have an out +export class TestRelatedDependencyInjection { + // When we create this class in our workflows or actions, do not pass a parameter, but when writing tests, create a mocked restHost + constructor(private restHost?: RESTHost) { + if (!restHost) { + const restHostConfig = new ConfigElementAccessor('ing/testing/dependencyInjectionRestHost'); + this.restHost = restHostConfig.get('restHost'); + } + } + + doApiCall() { + const request = this.restHost.createRequest("GET", "/ping", ""); + + return request.execute(); + } +} + +export class NoDependencyInjectionTestDouble extends NoDependencyInjection { + // @ts-ignore + constructor(protected restHost: RESTHost) { + } +} + + +~~~ diff --git a/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Examples/Global-Classes.md b/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Examples/Global-Classes.md new file mode 100644 index 000000000..962b1a430 --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Examples/Global-Classes.md @@ -0,0 +1,48 @@ +# Global Classes +Example on how to test global classes + +## Overview +When it comes to Static Global Classes ( like vCACCAFEFilterParam for example ), they need to be defined before each test, +with the methods that you want to use inside your test. + +## Table Of Contents: +1. [Example](#example) + +### Example + +Example Class: +~~~typescript +export default function ( date: string): string { + Server.log( "Getting date" ); + return vCACCAFEFilterParam.date( date ); +} +~~~ + +Example test: +~~~typescript +import testOne from "./testOne"; + +describe('', function () { + beforeEach(()=>{ + ( vCACCAFEFilterParam) = { + date: function ( date: string ) { + throw new Error( "Not Supported" ); + } + }; + }); + + afterEach(() => { + ( vCACCAFEFilterParam) = undefined; + }); + + it('should ', function () { + spyOn( Server, "log" ).and.callFake( () => {} ); + spyOn( vCACCAFEFilterParam, "date" ).and.returnValue( "spy" ); + + expect( testOne( 'test' ) ).toBe( "spy" ); + + expect( vCACCAFEFilterParam.date ).toHaveBeenCalledTimes( 1 ); + expect( Server.log ).toHaveBeenCalledTimes( 1 ); + }); +}); +~~~ diff --git a/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Examples/Native-Actions.md b/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Examples/Native-Actions.md new file mode 100644 index 000000000..f63ccb23a --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Examples/Native-Actions.md @@ -0,0 +1,29 @@ +# Native Actions +Example on how to test native actions + +## Overview +When it comes to native actions items, using the old syntax of creating actions allow us to call the actions directly when +needed. Mapping inputs and outputs according to the documentation/arguments. + +## Table Of Contents: +1. [Example](#example) + +### Example + +Test: +~~~typescript +const sumAction = System.getModule("com.vmware.pscoe.actions").sumAction; + +describe("Sum Action test", () => { + it("should add two numbers", () => { + expect( sumAction( 1,5 ) ).toBe( 6 ); + }); +}) +~~~ + +Code To Test: +~~~typescript +(function ( numberOne: number, numberTwo: number ):number { + return numberOne + numberTwo; +}); +~~~ diff --git a/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Examples/RestHost.md b/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Examples/RestHost.md new file mode 100644 index 000000000..2cd640618 --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Examples/RestHost.md @@ -0,0 +1,47 @@ +# RestHost +Example on how to test RestHost + +## Overview + +## Table Of Contents: +1. [Example](#example) + +### Example + +Test: +~~~typescript +describe("ApiCall", () => { + it('should do an api call', function () { + const restHostTestDouble = jasmine.createSpyObj("RESTHost", ["createRequest"]); + const restRequestTestDouble = jasmine.createSpyObj("RESTRequest", ["execute"]); + const restResponseTestDouble = jasmine.createSpyObj("RESTResponse", [], {contentAsString: JSON.stringify({test: 2})}); + + restHostTestDouble.createRequest.and.returnValue(restRequestTestDouble); + restRequestTestDouble.execute.and.returnValue(restResponseTestDouble); + + const restHostExample = new RestHostExample(restHostTestDouble); + + const response = restHostExample.doApiCall(); + + expect(response.test).toBe(2); + expect(restHostTestDouble.createRequest).toHaveBeenCalledTimes(1); + expect(restHostTestDouble.createRequest).toHaveBeenCalledWith("GET", "/api/v1/test", ""); + expect(restRequestTestDouble.execute).toHaveBeenCalledTimes(1); + }); +}) + +~~~ + +Code To Test: +~~~typescript +export default class RestHostExample { + constructor(private restHost: RESTHost) { + } + + doApiCall() { + const restRequest: RESTRequest = this.restHost.createRequest("GET", "/api/v1/test", ""); + const restResponse: RESTResponse = restRequest.execute() + return JSON.parse(restResponse.contentAsString); + } +} +~~~ diff --git a/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Getting Started.md b/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Getting Started.md new file mode 100644 index 000000000..04f2c1fad --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Getting Started.md @@ -0,0 +1,92 @@ +# Getting Started + +## Overview +After code has been compiled to javascript ( from typescript ), a testbed is created. A VRO Runtime is inserted so you +can use some modules natively ( things like Workflow, Properties, LockingSystem, Server, System, etc. ). +After the test bed is created, jasmine is run either through IstanbulJS or directly( depending if code coverage is enabled or not ). + +**Jasmine version: 4.0.2** + +## Table Of Contents: +1. [Limitations](#limitations) +2. [Best Practices](#best-practices) +3. [FAQ](#faq) + + +### Limitations + +***actions-package*** + +For actions-package projects, all test must be placed under `src/test` folder in order to be compiled and executed and packaged correctly. + +***What types of files can I test*** +Only file types that can be tested are Actions - filename.ts. Workflows can't be tested as well as config files. As a general rule of thumb, keep your Workflows as minimal as possible. Abstract the +logic away from the workflows and put it in an Action that is easily testable. + + +### Best Practices +***Unit testing*** + +Testing individual components of software. A unit test should test one thing. + +Label your test suites (describe blocks) and specs (it blocks) in a way that clearly conveys the intention of each unit test. Note that the name of each test is the title of its it preceded by all its parent describe names. Favor assertive verbs and avoid ones like "should." + +Test file contains one describe() block containing multiple describes with common functionality. Each describe() must have a meaningful name. Do not include logic or mocks in describe blocks. + + +***beforeEach()*** + +We can execute some pieces of code before execution of each spec. For example you can create new instances here. +Don't use any logic in the describe() block, only in beforeEach(). +Use "this" to share variables between it and before/after blocks. +~~~typescript +beforeEach(() => { + this.someClass = new SomeClass(); +}); + +describe("Different Methods of Expect Block",function() { + it("Returns even or optional ", function() { + expect(this.someClass.evenOrOdd()).toBe("even"); + }); +}); + +~~~ + +***Write Minimum Passable Tests*** + +If appropriate, use Jasmine's built-in matchers (such as toContain, jasmine.any, jasmine.stringMatching, ...etc) to compare arguments and results. You can also create your own matcher via the asymmetricMatch function. + +~~~typescript +describe('Array.prototype', function() { + describe('.push(x)', function() { + beforeEach(function() { + this.initialArray = []; + + this.initialArray.push(1); + }); + + it('appends x to the Array', function() { + expect(this.initialArray).toContain(1); + }); + }); +}); +~~~ + +***Naming convention*** + +~~~ +"**/?(*.)+(spec|test).[j|t]s(x)" + +//example names for javascript file +MyTests.test.js +MyTests.spec.js + +//example names for typescript file +MyTest.test.ts +MyTest.spec.ts +~~~ + +### FAQ + + + diff --git a/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Jasmine Spies.md b/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Jasmine Spies.md new file mode 100644 index 000000000..53c6c57f0 --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Jasmine Spies.md @@ -0,0 +1,48 @@ +# Jasmine Spies + +## Overview +A Spy is a feature that allows you to simulate the behavior of existing code and track calls to it back. It’s used to mock a function or an object. + + +## Table Of Contents: +1. [createSpy()](#createSpy()) +2. [createSpyObj()](#createSpyObj()) + +### createSpy() +Can be used when there is no function to spy on. Takes two arguments - name of the Service, method we want to mock + +~~~typescript +let testDouble = jasmine.createSpy("Name holder.", "method"); +~~~ + +### createSpyObj() +createSpyObj() creates a mock object that will spy on one or more methods. It returns an object that has a property for each string that is a spy. It takes as first argument the name of a Service and as a second an array of strings of all the methods that we want to mock. + +~~~typescript +let testDouble = jasmine.createSpyObj("Name holder. Same as the type, in this case T", ["Array of strings with all functions that will be overwritten"]); +~~~ + +~~~typescript +describe("ApiCall", () => { + it('should do an api call', function () { + const restHostTestDouble = jasmine.createSpyObj("RESTHost", ["createRequest"]); + + const restRequestTestDouble = jasmine.createSpyObj("RESTRequest", ["execute"]); + + // Properties mock + const restResponseTestDouble = jasmine.createSpyObj("RESTResponse", [], {contentAsString: JSON.stringify({test: 2})}); + + restHostTestDouble.createRequest.and.returnValue(restRequestTestDouble); + restRequestTestDouble.execute.and.returnValue(restResponseTestDouble); + + const restHostExample = new RestHostExample(restHostTestDouble); + + const response = restHostExample.doApiCall(); + + expect(response.test).toBe(2); + expect(restHostTestDouble.createRequest).toHaveBeenCalledTimes(1); + expect(restHostTestDouble.createRequest).toHaveBeenCalledWith("GET", "/api/v1/test", ""); + expect(restRequestTestDouble.execute).toHaveBeenCalledTimes(1); + }); +}) +~~~ \ No newline at end of file diff --git a/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Test Helpers.md b/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Test Helpers.md new file mode 100644 index 000000000..349cd08e7 --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/typescript/General/Testing/Test Helpers.md @@ -0,0 +1,8 @@ +# Test Helpers + +## Overview +Helpers are testing files. Naming convention is - filename.helper.ts . They are compiled, can be used in testing, no code coverage and will not be pushed to vRO. Mocks are defined in Helper files. +## Table Of Contents: +1. [Known Issues](#known-issues) +### Known Issues +Helper files must be located in any folder under `src/`, recommended place is `src/tests/helpers ` \ No newline at end of file diff --git a/docs/versions/v2.35.1/Components/Archetypes/typescript/Operations/Building.md b/docs/versions/v2.35.1/Components/Archetypes/typescript/Operations/Building.md new file mode 100644 index 000000000..6c394d10d --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/typescript/Operations/Building.md @@ -0,0 +1,24 @@ +[//]: # (DEFAULT TEMPLATE, Used if no others match) + +[//]: # (Remove Comments when you are done) +[//]: # (What is this?) +# Title +[//]: # (Additional Information on the topic goes here) + +[//]: # (What will you learn) +[//]: # (Optional) +## Overview + +[//]: # (Internal navigation) +[//]: # (Navigational links may have a short description after them separated by a `-`) +## Table Of Contents: +1. [Section](#section) + +[//]: # (Fill As many of these as you need. Use h4 and further here, do not include h1s, h2s or h3s.) +### Section + +[//]: # (Optional Section) +[//]: # (## Previous:) + +[//]: # (Optional Section) +[//]: # (## Next:) diff --git a/docs/versions/v2.35.1/Components/Archetypes/typescript/Operations/Pushing.md b/docs/versions/v2.35.1/Components/Archetypes/typescript/Operations/Pushing.md new file mode 100644 index 000000000..6c394d10d --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/typescript/Operations/Pushing.md @@ -0,0 +1,24 @@ +[//]: # (DEFAULT TEMPLATE, Used if no others match) + +[//]: # (Remove Comments when you are done) +[//]: # (What is this?) +# Title +[//]: # (Additional Information on the topic goes here) + +[//]: # (What will you learn) +[//]: # (Optional) +## Overview + +[//]: # (Internal navigation) +[//]: # (Navigational links may have a short description after them separated by a `-`) +## Table Of Contents: +1. [Section](#section) + +[//]: # (Fill As many of these as you need. Use h4 and further here, do not include h1s, h2s or h3s.) +### Section + +[//]: # (Optional Section) +[//]: # (## Previous:) + +[//]: # (Optional Section) +[//]: # (## Next:) diff --git a/docs/versions/v2.35.1/Components/Archetypes/typescript/README.md b/docs/versions/v2.35.1/Components/Archetypes/typescript/README.md new file mode 100644 index 000000000..51099f8ae --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/typescript/README.md @@ -0,0 +1,19 @@ +# Typescript Archetype +Typescript archetype used to compile and push typescript code to vRO. + +## Overview +This archetype is used when you want to push code to vRO. It supports configuration elements, resource elements, workflows, +actions, policy templates, native content, types, etc. + +It allows you to write unit tests and has embedded code coverage + +## Navigation: +1. [Getting Started](General/Getting%20Started.md) - +2. [Core Concepts](General/Core%20Concepts.md) +3. Operations + * [Building](Operations/Building.md) + * [Pushing](Operations/Pushing.md) +4. Components + * [Config](Components/Config.md) +5. Testing + * [Code Coverage](General/Testing/Code%20Coverage.md) diff --git a/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/Components/Blueprints.md b/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/Components/Blueprints.md new file mode 100644 index 000000000..8e7050c36 --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/Components/Blueprints.md @@ -0,0 +1,61 @@ +# Blueprints +Blueprint ( aka `Cloud Templates` ) architects build Software components, machine blueprints, and custom XaaS +blueprints and assemble those components into the blueprints that define the items users request from the catalog. + +## Table Of Contents +1. [Structure](#structure) - how are blueprints exported and what does each file mean? +2. Operations + 1. [Importing](#importing) blueprints to vRA +3. [Known Issues](#known-issues) + +### Structure +Below is an example structure of a blueprint export. + +Example `content.yaml` +```yaml +blueprint: + - Example Blueprint +# ... +``` + +Structure +```ascii +src/ +├─ main/ +│ ├─ resources/ +│ │ ├─ blueprints/ +│ │ │ ├─ Example Blueprint/ +│ │ │ │ ├─ content.yaml +│ │ │ │ ├─ details.json +│ │ │ │ ├─ versions.json +``` + +Each blueprint will be placed in a different folder. +`content.yaml` contains the exported code from the blueprint's canvas. +`details.json` contains metadata information +`versions.json` contains version information. Note that this is just the metadata, for now [the version history is not preserved.](#version-history-gets-lost) + +### Importing +When importing a blueprint, it is matched by its `name`. If there is a blueprint with the same name on the server, +an update will be performed. Otherwise, the blueprint will be created instead. + +Also when importing an already existing blueprint, we will check for any differences between local copy and server copy. +If there are differences, a new version will be released. New version is determined by the already existing versions. If +a patter of MAJOR.MINOR.PATCH is detected, vRBT will try to continue the numbering, otherwise a date formatted version is +released. + +### Version Management + +By default all versions that are not the latest one will be unreleased. + +To control this behavior you can set: + +```xml +false +``` + +### Known Issues + +#### Version history gets lost +This is known and currently there is no workaround for this. + diff --git a/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/Components/Custom Resources.md b/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/Components/Custom Resources.md new file mode 100644 index 000000000..f76227bf7 --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/Components/Custom Resources.md @@ -0,0 +1,20 @@ +# Custom Resources +They are items that can be used in the Blueprints/Cloud Templates when the existing Resource Types are not enough. + +## Overview +Custom Resources are items that are defined inside of Cloud Assembly. They extend the capabilities of Cloud Templates by +giving you the ability to define your own Resource, that calls either a vRO Workflow or an ABX Action ( in the latest version of vRA ). +Custom Resources are defined in the `content.yaml` file under `custom-resource` ( [See content.yaml](../General/Content.md) ). + +## Table Of Contents: +1. [Known Issues](#known-issues) + +### Known Issues + +#### Updating A Custom Resource When In Use By Deployment +When we try to update a CR that is in use by a deployment and if the deletion fails, now we will attempt to update the CR by pre-fetching it's ID. +Once we have the ID, we would remove it from the CR and re-assigned it again before the importing process is initiated. +This would allow us to create an updated CR that would be imported to vRA no matter if it is used by a deployment. +However, update capabilities are limited and may not allow you to update all fields. + + diff --git a/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/Components/Storage Profiles.md b/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/Components/Storage Profiles.md new file mode 100644 index 000000000..e04c558e3 --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/Components/Storage Profiles.md @@ -0,0 +1,41 @@ +# Storage Profiles +They are items that can be used in the Blueprints/Cloud Templates to use different types of storage options. + +## Overview +**Finish** + +## Table Of Contents: +1. [Structure](#structure) - how are storage profiles exported and what is in the file? +2. Operations + 1. [Importing](#importing) storage profiles to vRA +3. [Known Issues](#known-issues) + +### Structure +Below is an example structure of a storage-profile export. + +Example `content.yaml` +```yaml +storage-profile: + - Example Storage Profile +# ... +``` + +Structure +``` +src/ +├─ main/ +│ ├─ resources/ +│ │ ├─ regions/ +│ │ │ ├─ example region name/ +│ │ │ │ ├─ storage-profiles/ +│ │ │ │ │ ├─ Example Storage Profile.json +``` + +`Example Storage Profile.json` contains disk metadata information. + +### Importing +When importing a storage profile, it is matched by its `name`. If there is a storage profile with the same name on the server, +an update will be performed. Otherwise, the storage profile will be created instead. Note that a Storage Profile has to contain the proper tags in the metadata json that also exist under the `region-mapping` section in `content.yaml` in order to do import and export. + + +### Known Issues diff --git a/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/General/Content.md b/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/General/Content.md new file mode 100644 index 000000000..b03718506 --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/General/Content.md @@ -0,0 +1,120 @@ + +# Content + +## Overview +The vRA 8.x elements that you want to work with are described in the `content.yaml` + +## Table Of Contents: +1. [Content.yaml](#Content.yaml) + + +### Content.yaml + +By default the `content.yaml` looks like this. + +~~~yaml + +blueprint: +subscription: +flavor-mapping: + - small + - medium +image-mapping: +storage-profile: +region-mapping: + cloud-account-tags: + export-tag: "env:dev" + import-tags: ["env:dev", "env:test"] +custom-resource: +resource-action: +catalog-entitlement: +catalog-item: +content-sources: +property-group: +~~~ + +### Content Filtering + +Contents are exported by different rules. + +#### Import Rules for content types + +Empty array [] - nothing is imported +List of items - the given items are imported. If they are not present on the server an Exception is thrown. +Null (nothing given) - everything is being imported + +* blueprints +* catalog-item +* content-source +* custom-resource +* catalog-entitlement +* property-group +* subscription + +Importing regional content doesn't use the `content.yaml` when pushing content it is working as previously pushes whatever there is the package. + +#### Export Rules for content types + +Empty array [] - nothing is exported +List of items - the given items are exported. If they are not present on the server an Exception is thrown. +Null (nothing given) - everything is being exported + +* blueprints +* catalog-item +* content-source +* custom-resource +* catalog-entitlement +* property-group +* subscription + +#### Exporting regional content + +To export regional content, cloud account(s) with given tag(s) should be given. +Empty array [] - nothing is exported +List of items - the given items are exported in all regions linked to cloud accounts with given tag +Null (nothing given) - everything is being exported in all regions linked to cloud accounts with given tag +If they are added to the manifest, but not present on the server - they are skipped. + +* flavor-mapping +* image-mapping +* storage-profile + +#### Export all content in all regions linked to cloud accounts with given tag + +To export all content in all regions linked to cloud accounts, the tag for export should be defined. +If not defined, nothing will be exported. + + +### Examples + +Example of `content.yaml` file. + +~~~yaml +blueprint: # will export all +subscription: # will export all +flavor-mapping: # only "small" and "meduim" will be exported in all regions linked to cloud accounts with given tag + - small + - medium +image-mapping: [] # nothing will be exported +storage-profile: [] # nothing will be exported +region-mapping: # export only items linked to cloud accounts with given tags + cloud-account-tags: + export-tag: "env:dev" + import-tags: ["env:dev", "env:test"] +catalog-item: # export according to filter + - Project Blueprints__WindowsVM + - Project Blueprints__LinuxVm + - Main Workflows__ConfigureVM +custom-resource: # will export all +resource-action: # will export all +property-group: # export according to filter + - memory +catalog-entitlement: # export according to filter + - Content source entitlement +content-source: # export according to filter + - Project Blueprints + - Main Workflows + - Utility Workflows + - Project Abx Actions + - Project Code Stream pipelines +~~~ diff --git a/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/General/Core Concepts.md b/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/General/Core Concepts.md new file mode 100644 index 000000000..f72109f53 --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/General/Core Concepts.md @@ -0,0 +1,114 @@ +# Core Concepts + +Laid out are some Core Concepts to follow when working with vRA 8.x ( vRA-NG ) archetype. + +## Overview + +vRA-NG archetype uses a pull and push approach to handling data. + +## Table Of Contents + +1. [Data Handling](#data-handling) +2. [ID handling](#id-handling) +3. [Single Project And Organization](#single-project-and-single-organization) +4. [Blueprint Versioning](#blueprint-versioning) + +### Data Handling + +All data that needs to be exported from vRA is defined in the `content.yaml` file ( [read more here](Content.md) ). +The tool respects configuration in manifest when doing `vra-ng:pull` for the given objects: + +* blueprints +* catalog-item +* content-source +* custom-resource +* catalog-entitlement +* property-group +* subscription + +It will throw an error if the given entities are not on the server. + +All the data exported will be imported when running `vrealize:push`! Keep in mind that the `content.yaml` will not be +taken into consideration. + +### ID handling + +Relying on ids exported by Build Tools for VMware Aria should not happen. Build Tools for VMware Aria will remove where needed such ids or in some cases data +will be fetched from the remote server, modified in flight and pushed to the server ( in cases where an import is needed ). + +### Single Project And Single Organization + +When working with vRA-NG archetype, each generated archetype is intended to work with **only one project and one organization**. +In a case where more are needed, you must generate multiple archetypes. + +### Blueprint Versioning + +When pushing a blueprint to a vRA server that contains previously released blueprint with the same name as the one +being pushed, a new version will be created and released in order to maintain the intended state. +A new version will *not* be created if the content of the blueprint has not been modified since the latest released +version in order to avoid unnecessary versioning. + +If there's a custom form associated with the blueprint being imported and there's no previously released version, +an initial blueprint version (1) will be created and released in order to import the custom form. + +When creating a new version in the above-described cases, the new version will be auto-generated based on the latest +version of the blueprint. The following version formats are supported with their respective incrementing rules: + +| Latest version | New version | Incrementing rules | +|----------------|---------------------|------------------------------------------------------------| +| 1 | 2 | Increment major version | +| 1.0 | 1.1 | Major and minor version - increment the minor | +| 1.0.0 | 1.0.1 | Major, minor and patch version - incrementing the patch | +| 1.0.0-alpha | 2020-05-27-10-10-43 | Arbitrary version - generate a new date-time based version | + +### Catalog Items Custom Forms + +The catalog items in the vRA Service Broker consists of different type of content sources - Blueprint, Extensibility Actions, Pipelines, Workflows and AWS CloudFormation Template. +As with the 8.12 release, the catalog items custom forms can be versioned. +For all types, the same concepts replies - *only current versions for custom forms are de-serializing/serializing.* + +Blueprint type catalog items have different versions that corelate to the released versions of the Blueprints. Only the current version of the latest blueprint version is targeted. + +### Regional Content + +The vRA 8.x philosophy is built around the concept of infrastructure definition capable of resource provisioning - +compute, network, storage and other types of resources - that builds up an abstract model for resource description. +This allows workload placement to happen dynamically based on various explicit or implicit rules. Part of this abstract +model is the definition of various mappings and profiles that provide common higher-level definitions of underlying +infrastructure objects. These definitions take the form of various mappings and profiles: + +* flavor mappings - common designation of compute resource t-shirt or other sizing +* image mappings - common designation of VM images +* storage profiles - a set of storage policies and configurations used for workload placement +* network profiles - a set of network-related configurations used for network resource placement + +These abstractions are related to the regions within the cloud accounts and their capabilities. They utilize the various +underlying resources which are automatically collected and organized into "fabrics" by vRA. As such, they contain +information about resources in the various connected regions and for the purpose of this project are collectively called +**regional content**. + +Exporting (pulling) and importing (pushing) of regional content is achieved using a mapping definition specified in the +content manifest (content.yaml): `region-mappping`. It contains a set of mapping criteria used for exporting and +importing of content. The vRA-NG package manager handles the `export-tag` and `import-tags` entries of the +`cloud-account-tags` section of `region-mapping`. + +#### Export Regional Content + +When exporting regional content defined in the respective content categories - `image-mapping`, `flavor-mapping`, +`storage-profile`, etc., the vRA-NG package manager takes into account the tag that is defined in the `export-tag` +entry and exports content that is related to a cloud account(s) containing this tag. The content is stored in a +directory within a unique regional directory bearing the name of the cloud account and the cloud zone id. The cloud +account and zone combination are persisted for reference to the originating environment. + +#### Import Regional Content + +The vRA-NG package manager uses the `import-tags` entry from the content manifest (content.yaml) to (re)create regional +content targeting cloud accounts that contain one or more of the import tags. The content is taken from all of the +regional folders and regardless of its origin, it is imported to the target environment based on the `import-tags`, i.e. +related to cloud accounts possessing one or more of the import tags list. + +[//]: # (Optional Section) +[//]: # (## Previous:) + +[//]: # (Optional Section) +[//]: # (## Next:) diff --git a/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/General/Getting Started.md b/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/General/Getting Started.md new file mode 100644 index 000000000..c129fba09 --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/General/Getting Started.md @@ -0,0 +1,125 @@ +# Getting Started + +## Overview +vRA 8.x projects are called vRA NG (New Generation) projects in **Build Tools for VMware Aria**. +The new Maven Archetype that supports vRA 8.x content is *com.vmware.pscoe.vra-ng.archetypes*. +It is a representation of vRA 8.x content into human friendly YAML and/or JSON format.The project consist of content descriptor and content container. + +- *Content Descriptor* defines what part vRA 8.x content will be part of this project - `content.yaml` +- *Content Container* holds the actual content representation -`./src` folder + +## Table Of Contents +1. [Maven Archetype](#maven-archetype) +2. [Configuring settings xml](#configuring-m2settingsxml-to-work-with-vra-ng) + +### Maven Archetype +**Build Tools for VMware Aria** provides ready to use project templates (*maven archetypes*). + +To create a new vRA 8.x project from archetype use the following command: + +~~~Bash +mvn archetype:generate \ + -DinteractiveMode=false \ + -DarchetypeGroupId=com.vmware.pscoe.vra-ng.archetypes \ + -DarchetypeArtifactId=package-vra-ng-archetype \ + -DarchetypeVersion= \ + -DgroupId=local.corp.it.cloud \ + -DartifactId=catalog +~~~ + +**Note**: *The specified should be minimum 2.4.11* + + +#### Content Structure +The result of this command will produce the following project file structure: + +~~~ascii +catalog +├── README.md +├── content.yaml +├── pom.xml +├── release.sh +└── src + └── main + └── blueprints + └── blueprint.yaml + └── content.yaml + └── versions.yaml + └── content-sources + └── source.json + └── property-group + └── property_group_name.json + └── catalog-items + └── forms + └── source name__workflow one name with custom form.json + └── source name__workflow one name with custom form__FormData.json + └── source name__workflow three name with custom icon and form.json + └── source name__workflow three name with custom icon and form__FormData.json + └── icons + └── source name__workflow two name with custom icon.png + └── source name__workflow three name with custom icon and form.png + └── source name__workflow one name with custom form.json + └── source name__workflow two name with custom icon.json + └── source name__workflow three name with custom icon and form.json + └── entitlements + └── Blueprint.yaml + └── Workflow.yaml + └── ABX Action.yaml + └── subscriptions + └── subscription.json + └── regions + └── cloud-account-name~region-id + └── flavor-mappings + └── small.json + └── image-mappings + └── mapping.json + └── storage-profiles + └── profile.json + └── src-region-profile.json + └── custom-resources + └── customResource.json + └── resource-actions + └── resourceAction.json +~~~ + +Content Descriptor is implemented by content.yaml file with the following defaults. + +**Note**: *vRA NG Project supports only content types outlined into content descriptor.* + +### Configuring ~/.m2/settings.xml to work with vRA-NG + +The following need to be added to the profile that you intend to use: +~~~xml + + + + example.vra.url.com + console.cloud.vmware.com + http://proxy.host:80 + 443 + administrator + someSecurePassword + {tenant} + {project+id} + {project+name} + {organization+id} + {org+name} + {refresh+token} + true|false + {vro+integration+name} + +~~~ +- `vrang.refresh.token` - will use the given refresh token instead of credentials. **Note:** this will take precedence over +credentials. + +- `vrang.bp.unrelease.versions` - Defaults to `true`. Controls whether old versions of a blueprint sould be unreleased. + +- `vrang.data.collection.delay.seconds` - Delay in seconds to wait for vRA data collection to pass before importing data. Can also be passed + as an interactive parameter `-Dvrang.data.collection.delay.seconds=600`. useful when Dynamic types and custom resources are used in the projects and vRO content is imported, + however vRA needs to then retrieve it in order to be able to create the custom Resource and use the Create/Delete Workflows. + This only happens after a short delay and the vRA data collector scrapes vRO. Defaults to no delay. + +#### Organizations +The `vrang.org.id` needs to be passed, as vRA-ng targets only a single organization. However we can extract the `org.id` from the +`org.name`. Meaning that in the end if `org.name` is present, you don't need to pass the `org.id`, however if `org.id` is passed, it will be +taken with priority. diff --git a/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/General/Known Issues.md b/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/General/Known Issues.md new file mode 100644 index 000000000..8bf1bf54f --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/General/Known Issues.md @@ -0,0 +1,13 @@ +# Known Issues +A list of known vRA 8.x archetype issues + +## Table Of Contents: +1. [Custom Resources Known Issues](../Components/Custom%20Resources.md#known-issues) +2. [Blueprints Known Issues](../Components/Blueprints.md#known-issues) +3. [All Local Data Is Pushed](#all-local-data-is-pushed-to-vra) + +### All local data is pushed to vRA +This is not a bug, but a feature. Reference: [1][1] | [2][2] + +[1]: Core%20Concepts.md#data-handling "Data Handling" +[2]: ../Operations/Pushing.md#usage "Pushing" diff --git a/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/Operations/Pulling.md b/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/Operations/Pulling.md new file mode 100644 index 000000000..4f9c06abf --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/Operations/Pulling.md @@ -0,0 +1,15 @@ +# Pulling +Maven command for pulling vRA 8.x Content + +## Overview +When working on a vRA 8.x project, you mainly make changes on a live server using the vRA Portal (Service Broker, Cloud Assembly, etc.) and then you need to capture those changes in the maven project on your filesystem to be able to store the content, track changes, collaborate, etc. + +## Table Of Contents: +1. [Usage](#Usage) + +### Usage +To support this use case, the toolchain comes with a custom goal `vra-ng:pull`. The following command will `pull` the content outlined into *Content Descriptor* file to the current project from a specified server and expand its content in the local filesystem overriding any local content: + +~~~bash +mvn vra-ng:pull -P{profile} +~~~ diff --git a/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/Operations/Pushing.md b/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/Operations/Pushing.md new file mode 100644 index 000000000..8113f5456 --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/Operations/Pushing.md @@ -0,0 +1,17 @@ +# Pushing +Maven command for pushing vRA 8.x Content + +## Overview +This will push all local content from `./src` folder to the remote vRA Server for the given profile. + +## Table Of Contents: +1. [Usage](#Usage) + +### Usage +To deploy the code developed in the local project or checked out from source control to a live server, you can use +the `vrealize:push` command. +**Note**: This ignores `content.yaml` + +~~~bash +mvn package vrealize:push -P{profile} +~~~ diff --git a/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/README.md b/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/README.md new file mode 100644 index 000000000..4718807c2 --- /dev/null +++ b/docs/versions/v2.35.1/Components/Archetypes/vRA 8.x/README.md @@ -0,0 +1,32 @@ +# vRA 8.x Archetype +vRA 8.x archetype used to pull and push content from/to vRA. + +## Overview +This archetype is used when you want to pull and push content to vRA. The content you want to pull is defined in `content.yaml`. +All exported content goes to `./src`. + +Supported content: +* `blueprint` +* `subscription` +* `flavor-mapping` +* `image-mapping` +* `storage-profile` +* `custom-resource` +* `catalog-entitlement` +* `catalog-item` +* `content-sources` +* `property-group` + +This Archetype is also known as `vRA-NG` ( which stands for **vR**ealize **A**utomation-**N**ew **G**eneration ). + +## Navigation: +1. [Getting Started](General/Getting%20Started.md) +2. [Core Concepts](General/Core%20Concepts.md) +3. Operations + * [Pulling](Operations/Pulling.md) + * [Pushing](Operations/Pushing.md) +4. [Content](General/Content.md) +5. Components + * [Custom Resources](Components/Custom%20Resources.md) + * [Blueprints](Components/Blueprints.md) +6. [Known Issues](General/Known%20Issues.md) diff --git a/docs/versions/v2.35.1/Components/Local/Common/Artifact Manager/Components/vRA 8.x/README.md b/docs/versions/v2.35.1/Components/Local/Common/Artifact Manager/Components/vRA 8.x/README.md new file mode 100644 index 000000000..bf56d3503 --- /dev/null +++ b/docs/versions/v2.35.1/Components/Local/Common/Artifact Manager/Components/vRA 8.x/README.md @@ -0,0 +1,12 @@ +[//]: # (Used just for navigation, should not have any information beside very basic one) +[//]: # (If you need to add information to an entry it needs to be moved outside to a different folder) +[//]: # (Change the title) +# Entry +[//]: # (Additional Information on the entry goes here) + +[//]: # (What will you learn) +## Overview + +[//]: # (External navigation) +[//]: # (Navigational links may have a short description after them separated by a `-`) +## Navigation: diff --git a/docs/versions/v2.35.1/Components/Local/Common/Artifact Manager/README.md b/docs/versions/v2.35.1/Components/Local/Common/Artifact Manager/README.md new file mode 100644 index 000000000..624b76d89 --- /dev/null +++ b/docs/versions/v2.35.1/Components/Local/Common/Artifact Manager/README.md @@ -0,0 +1,13 @@ +[//]: # (Used just for navigation, should not have any information beside very basic one) +[//]: # (If you need to add information to an entry it needs to be moved outside to a different folder) +[//]: # (Change the title) +# Entry +[//]: # (Additional Information on the entry goes here) + +[//]: # (What will you learn) +## Overview + +[//]: # (External navigation) +[//]: # (Navigational links may have a short description after them separated by a `-`) +## Navigation: +1. [vRA 8.X](Components/vRA%208.x) diff --git a/docs/versions/v2.35.1/Components/Local/Installer/.gitkeep b/docs/versions/v2.35.1/Components/Local/Installer/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/docs/versions/v2.35.1/Components/Local/Installer/Components/Install Workflow.md b/docs/versions/v2.35.1/Components/Local/Installer/Components/Install Workflow.md new file mode 100644 index 000000000..65072c3fb --- /dev/null +++ b/docs/versions/v2.35.1/Components/Local/Installer/Components/Install Workflow.md @@ -0,0 +1,42 @@ +# Install workflow +Most common case of today is to use Install workflow from PsCoE installer library. + +## Overview +We can run Install workflow automatically and pass to this workflow all necessary parameters: +* jsonString +* tags +* blacklist + +## Table Of Contents: +1. [vRO workflow run configuration](#vro-workflow-run-configuration) +2. [Installation/configuration values](#installationconfiguration-values) +3. [Installation/configuration file example](#installjson-example) + + +### vRO workflow run configuration +~~~ts +vro_run_workflow=true +vro_run_workflow_id=1490692845582937823496790834565483423 +vro_run_workflow_input_file_path=./install.json +vro_run_workflow_output_file_path=./output.json +vro_run_workflow_timeout=300 +~~~ + +### Installation/configuration values +The installation/configuration values are passed as a json file (or yaml). Each root property of this file should have the name of an input value of the targeted workflow. + +### install.json example +~~~JSON +{ + "tags": [ + "conn" + ], + "jsonString": { + "conn": { + "username": "admin", + "password": "p@$$w0rd" + } + } +} +~~~ + diff --git a/docs/versions/v2.35.1/Components/Local/Installer/General/Components/Local/Installer/Components/Install Workflow.md b/docs/versions/v2.35.1/Components/Local/Installer/General/Components/Local/Installer/Components/Install Workflow.md new file mode 100644 index 000000000..e69de29bb diff --git a/docs/versions/v2.35.1/Components/Local/Installer/General/Core Concepts.md b/docs/versions/v2.35.1/Components/Local/Installer/General/Core Concepts.md new file mode 100644 index 000000000..68732840c --- /dev/null +++ b/docs/versions/v2.35.1/Components/Local/Installer/General/Core Concepts.md @@ -0,0 +1,13 @@ +# Core Concepts +## Overview +We can run any existing workflow automatically at the end of the installation process and pass to the workflow all necessary parameters of different types. Supported types are: +* string +* number +* boolean +* Array/string + +All other types except mentioned bellow will be send as parameter of type `string`. The most common case of today is to use this feature for running `Install` workflow. + +## Navigation: +1. Components +- [Example of using Install workflow](../Components/Install%20Workflow.md) diff --git a/docs/versions/v2.35.1/Components/Local/Installer/README.md b/docs/versions/v2.35.1/Components/Local/Installer/README.md new file mode 100644 index 000000000..7360181e2 --- /dev/null +++ b/docs/versions/v2.35.1/Components/Local/Installer/README.md @@ -0,0 +1,9 @@ +# Installer +## Overview +We can run any existing workflow automatically at the end of the installation process and pass to the workflow all necessary parameters. + +## Navigation: +1. General +- [Core Concepts](General/Core%20Concepts.md) +2. Components +- [Example of using Install workflow](Components/Install%20Workflow.md) diff --git a/docs/versions/v2.35.1/Components/Local/Maven/.gitkeep b/docs/versions/v2.35.1/Components/Local/Maven/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/docs/versions/v2.35.1/Components/Local/Packages/.gitkeep b/docs/versions/v2.35.1/Components/Local/Packages/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/docs/versions/v2.35.1/Components/Local/Types/.gitkeep b/docs/versions/v2.35.1/Components/Local/Types/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/docs/versions/v2.35.1/Components/Local/Typescript/polyglotpkg/.gitkeep b/docs/versions/v2.35.1/Components/Local/Typescript/polyglotpkg/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/docs/versions/v2.35.1/Components/Local/Typescript/vro-scripting-api/.gitkeep b/docs/versions/v2.35.1/Components/Local/Typescript/vro-scripting-api/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/docs/versions/v2.35.1/Components/Local/Typescript/vropkg/.gitkeep b/docs/versions/v2.35.1/Components/Local/Typescript/vropkg/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/docs/versions/v2.35.1/Components/Local/Typescript/vropkg/README.md b/docs/versions/v2.35.1/Components/Local/Typescript/vropkg/README.md new file mode 100644 index 000000000..de069fa59 --- /dev/null +++ b/docs/versions/v2.35.1/Components/Local/Typescript/vropkg/README.md @@ -0,0 +1,21 @@ +[//]: # (Remove Comments when you are done) +[//]: # (What is this?) +# vropkg +Compiles javascript code to vRO native. + +[//]: # (What will you learn) +[//]: # (Optional) +## Overview + +[//]: # (Internal navigation) +## Table Of Contents: +1. [Section](#section) + +[//]: # (Fill As many of these as you need. Use h4 and further here, do not include h1s, h2s or h3s.) +### Section + +[//]: # (Optional Section) +[//]: # (## Previous:) + +[//]: # (Optional Section) +[//]: # (## Next:) diff --git a/docs/versions/v2.35.1/Components/Local/Typescript/vrotest/General/How Does It Work.md b/docs/versions/v2.35.1/Components/Local/Typescript/vrotest/General/How Does It Work.md new file mode 100644 index 000000000..c151e33f2 --- /dev/null +++ b/docs/versions/v2.35.1/Components/Local/Typescript/vrotest/General/How Does It Work.md @@ -0,0 +1,39 @@ +# How does it work +Maintainer specific details on how vrotest works + +## Overview +vrotest gets executed by different Maven Mojos depending on the project archetype. The Mojos of interest are: +`maven/plugins/typescript/src/main/java/com/vmware/pscoe/maven/plugins/TypescriptTestMojo.java` + +## Table Of Contents: +1. [Process](#process) +2. [Where is the test bed created](#where-is-the-test-bed-created) +3. [How is testing configured](#how-is-testing-configured) +4. [How is the vRO Runtime injected](#how-is-the-vro-runtime-injected) +5. [How are test helpers used?](#how-are-test-helpers-used) +6. [Where are the code coverage files](#where-are-the-code-coverage-files) + +### Process +When `mvn clean test` or other maven lifecycle command that calls `test`, the `TypescriptTestMojo` is going to get called. +The mojo will execute vrotest with `build` and then with `run`. + +### Where is the test bed created? +The testbed is created under `PROJECT_ROOT/target/vro-tests` + +### How is testing configured? +Testing is configured by adding `.nycrc` file in the `vro-tests` folder to configure code coverage and `jasmine.json` to +configure the jasmine test runner + +### How is the vRO Runtime injected? +The vRO Scripting Api / vRO Runtime is injected as a jasmine helper in the `vro-tests/helpers` folder. The runtime +injects a bunch of intrinsic classes as globals. + +More information on Jasmine Helpers, read the official documentation [here](https://jasmine.github.io/pages/docs_home.html) + +### How are test helpers used? +Test helpers are put in the same folder as the actions, giving you the ability to import them directly. vrotsc gives us +the ability to specify the location, and even tho while packaging, they go to a different folder, during testing they go +to the same folder + +### Where are the code coverage files? +THe code coverage are located under `PROJECT_ROOT/target/vro-tests/coverage` diff --git a/docs/versions/v2.35.1/Components/Local/Typescript/vrotest/General/Usage.md b/docs/versions/v2.35.1/Components/Local/Typescript/vrotest/General/Usage.md new file mode 100644 index 000000000..9b5debbc3 --- /dev/null +++ b/docs/versions/v2.35.1/Components/Local/Typescript/vrotest/General/Usage.md @@ -0,0 +1,72 @@ +# Usage +Provides detailed instructions on how to use vrotest + +## Overview +The usage is divided in 2 steps +* build -> Builds the test bed +* run -> Runs the unit tests + +If `mvn clean test` is run inside of the created project, build will be executed after which run will be called. + +## Table Of Contents: +1. [Building](#building) - how to build the testbed +2. [Running](#running) - how to run the tests + +[//]: # (Fill As many of these as you need. Use h4 and further here, do not include h1s, h2s or h3s.) +### Building + +#### Usage +`vrotest build [options]` + +#### CLI options +The following commandline options are accepted when building: +~~~plaintext + --actions Path to the vRO JavaScript folder. + --testHelpers Path to the vRO JavaScript test helpers folder. + --tests Path to the folder containing all tests. + --maps Path to the folder containing source maps when using TypeScript. + --resources Path to the folder containing vRO resources. + --configurations Path to the folder containing vRO configurations. + --dependencies Path to the folder containing dependent vRO packages. + --helpers Path to the folder containing vRO scripting API. + --ts-src Path to the original TypeScript code. + --ts-namespace Namespace for the TypeScript project e.g. com.example.myproject + --output Folder where testbed will be created. + --coverage-thresholds Defines the threshold (in %) for the test coverage. Tests will fail if coverage is below the threshold. + Format: :: + Types: + * all + * branches + * lines + * functions + * statements + --coverage-reports Specify test coverage reports to use. + Availale values: + * text + * html + * json + * clover + * cobertura + * lcov + * lcovonly + --per-file Code coverage per file bases. Set custom --coverage-thresholds, if any file in the project drops below those thresholds, the build will fail +~~~ + +#### Examples +`vrotest build --actions src --testHelpers src --tests test --output target/vro-test --coverage-thresholds 50:60:all,65:70:statements --coverage-reports text,html,lcovonly` + + +### Running + +#### Usage +`vrotest run [testbed path] [options]` + +#### CLI options +The following commandline options are accepted when running tests: +~~~plaintext + --instrument Instrument code and generate code coverage reports. +~~~ + +#### Examples +`vrotest run target/vro-test --instrument` + diff --git a/docs/versions/v2.35.1/Components/Local/Typescript/vrotest/README.md b/docs/versions/v2.35.1/Components/Local/Typescript/vrotest/README.md new file mode 100644 index 000000000..4fd2618de --- /dev/null +++ b/docs/versions/v2.35.1/Components/Local/Typescript/vrotest/README.md @@ -0,0 +1,10 @@ +# vrotest +vrotest is a utility that is used to run jasmine tests on the client machine. + +## Overview +vrotest is responsible for building a test bed, instrumenting it if needed and running jasmine tests. It enables code +coverage using istanbuljs. + +## Navigation: +1. [Usage](General/Usage.md) - how to use vrotest +1. [How does it work](General/How Does It Work.md) diff --git a/docs/versions/v2.35.1/Components/Local/Typescript/vrotsc/Components/Test Helpers.md b/docs/versions/v2.35.1/Components/Local/Typescript/vrotsc/Components/Test Helpers.md new file mode 100644 index 000000000..6611486a0 --- /dev/null +++ b/docs/versions/v2.35.1/Components/Local/Typescript/vrotsc/Components/Test Helpers.md @@ -0,0 +1,42 @@ +# Test Helpers +Test helpers are compiled to a different directory than the one specified for actions. + +## Overview +`vrotsc` gives you the ability to specify a different directory for the test helpers. Usually these files need to be excluded +from vRO packaging since they are used only for testing purposes. + +## Table Of Contents: +1. [How is a test helper defined?](#how-is-a-test-helper-defined) +2. [How is a test helper compiled?](#how-is-a-test-helper-compiled) +3. [Why is there no transformer file for a testHelper](#why-is-there-no-transformer-file-for-a-testhelper) +4. [How to import a test helper](#how-to-import-a-test-helper) + +### How is a test helper defined? +A test helper is defined by following the pattern: `*.helper.[tj]s`. + +### How is a test helper compiled? +Due to VROES limitations, during compilation, the file name is changed from : `example.helper.ts` to `example_helper.js`. +VROES works in a way where all dots AFTER the final slash will be replaced with underscores (e.g. `com.vmware.pscoe.vrotsc.actions/test.helper` +gets compiled to `com.vmware.pscoe.vrotsc.actions.test_helper` ). + +### Why is there no transformer file for a testHelper? +A Test Helper is essentially an action. Where the test helper is put is decided inside the action transformer. + +### How to import a test helper? +The same way you would another action. + +#### Example: +`test.helper.ts`: +~~~typescript +export default function (){ + return Math.random(); +} +~~~ +`example.ts`: +~~~typescript +import testHelper from "./test.helper"; + +export default function () { + return testHelper(); +} +~~~ diff --git a/docs/versions/v2.35.1/Components/Local/Typescript/vrotsc/General/Usage.md b/docs/versions/v2.35.1/Components/Local/Typescript/vrotsc/General/Usage.md new file mode 100644 index 000000000..16a4ee6b9 --- /dev/null +++ b/docs/versions/v2.35.1/Components/Local/Typescript/vrotsc/General/Usage.md @@ -0,0 +1,50 @@ +# Usage +Provides detailed instructions on how to use vrotsc + +## Overview +vrotsc has only one command to run, with different options. Detailed instructions can be found below on the possible options +as well as an example + +## Table Of Contents: +1. [Running](#running) + +### Running + +#### Usage +`vrotsc [SRC_DIR] [OPTIONS]` + +#### CLI options +The following commandline options are accepted: +~~~plaintext + -h, --help Print this message. + -v, --version Print the compiler's version. + -p, --project Path to the tsconfig.json file to use. + --emitHeader Emit auto-generated header on top of each file. + --actionsOut Specify the output directory for actions. + --testHelpersOut Specify the output directory for test helpers. + --workflowsOut Specify the output directory for workflows. + --configsOut Specify the output directory for configuration elements. + --resourcesOut Specify the output directory for resource elements. + --testsOut Specify the output directory for tests. + --typesOut Specify the output directory for types. + --mapsOut Specify the output directory for source maps. + --actionsNamespace Specify actions namespace. + --workflowsNamespace Specify workflows namespace. +~~~ + +#### Examples +~~~bash +vrotsc src \ + --actionsNamespace com.vmware.pscoe.example \ + --workflowsNamespace example \ + --files \ + --typesOut target/vro-types \ + --testsOut target/vro-sources/test/com/vmware/pscoe/example \ + --mapsOut target/vro-sources/map/com/vmware/pscoe/example \ + --actionsOut target/vro-sources/js/src/main/resources/com/vmware/pscoe/example \ + --testHelpersOut target/vro-sources/testHelpers/src/main/resources/com/vmware/pscoe/example \ + --workflowsOut target/vro-sources/xml/src/main/resources/Workflow \ + --policiesOut target/vro-sources/xml/src/main/resources/PolicyTemplate \ + --resourcesOut target/vro-sources/xml/src/main/resources/ResourceElement \ + --configsOut target/vro-sources/xml/src/main/resources/ConfigurationElement +~~~ diff --git a/docs/versions/v2.35.1/Components/Local/Typescript/vrotsc/README.md b/docs/versions/v2.35.1/Components/Local/Typescript/vrotsc/README.md new file mode 100644 index 000000000..2104ab2da --- /dev/null +++ b/docs/versions/v2.35.1/Components/Local/Typescript/vrotsc/README.md @@ -0,0 +1,13 @@ +# vrotsc +vrotsc is a utility used to transpile typescript/other code to vRO native code + +## Overview +vrotsc is responsible for transpiling all sorts of code to native vRO code. It works with actions, workflows, configurations, +resource elements, native, declarations, policy templates and tests + +[//]: # (External navigation) +[//]: # (Navigational links may have a short description after them separated by a `-`) +## Navigation: +1. [Usage](General/Usage.md) - how to use vrotsc +2. Components + * [Test Helpers](Components/Test%20Helpers.md) - Information on test Helpers diff --git a/docs/versions/v2.35.1/Components/README.md b/docs/versions/v2.35.1/Components/README.md new file mode 100644 index 000000000..5d1c61383 --- /dev/null +++ b/docs/versions/v2.35.1/Components/README.md @@ -0,0 +1,18 @@ +# Build Tools for VMware Aria Components +Navigation to different components of the Toolchain + +## Overview +The Components are divided in 2 types. +1. Archetypes -> Project Archetype that Build Tools for VMware Aria can generate +2. Local -> Local developer-centric documentation on how different Components of Build Tools for VMware Aria work + +[//]: # (External navigation) +## Navigation: +1. Archetypes + * [Typescript](./Archetypes/typescript) +2. Local + * [vrotsc](./Local/Typescript/vrotsc) + * [vrotest](./Local/Typescript/vrotest) + * [vropkg](./Local/Typescript/vropkg) + * [vro-scripting-api](./Local/Typescript/vro-scripting-api) + * [polyglotpkg](./Local/Typescript/polyglotpkg) diff --git a/docs/versions/v2.35.1/General/Cheatsheets/.gitkeep b/docs/versions/v2.35.1/General/Cheatsheets/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/docs/versions/v2.35.1/General/Cheatsheets/abx-plugin-arguments.md b/docs/versions/v2.35.1/General/Cheatsheets/abx-plugin-arguments.md new file mode 100644 index 000000000..63df7ebac --- /dev/null +++ b/docs/versions/v2.35.1/General/Cheatsheets/abx-plugin-arguments.md @@ -0,0 +1,11 @@ +[ERROR] +[ERROR] groupId: 'com.vmware.pscoe.maven.plugins' +[ERROR] artifactId: 'abx-package-maven-plugin' +[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:abx-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:abx-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] -> [Help 1] +[ERROR] +[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. +[ERROR] Re-run Maven using the -X switch to enable full debug logging. +[ERROR] +[ERROR] For more information about the errors and possible solutions, please read the following articles: +[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException diff --git a/docs/versions/v2.35.1/General/Cheatsheets/actions-plugin-arguments.md b/docs/versions/v2.35.1/General/Cheatsheets/actions-plugin-arguments.md new file mode 100644 index 000000000..a065e1809 --- /dev/null +++ b/docs/versions/v2.35.1/General/Cheatsheets/actions-plugin-arguments.md @@ -0,0 +1,11 @@ +[ERROR] +[ERROR] groupId: 'com.vmware.pscoe.maven.plugins' +[ERROR] artifactId: 'o11n-actions-package-maven-plugin' +[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:o11n-actions-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:o11n-actions-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] -> [Help 1] +[ERROR] +[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. +[ERROR] Re-run Maven using the -X switch to enable full debug logging. +[ERROR] +[ERROR] For more information about the errors and possible solutions, please read the following articles: +[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException diff --git a/docs/versions/v2.35.1/General/Cheatsheets/bsc-plugin-arguments.md b/docs/versions/v2.35.1/General/Cheatsheets/bsc-plugin-arguments.md new file mode 100644 index 000000000..1a925542b --- /dev/null +++ b/docs/versions/v2.35.1/General/Cheatsheets/bsc-plugin-arguments.md @@ -0,0 +1,11 @@ +[ERROR] +[ERROR] groupId: 'com.vmware.pscoe.maven.plugins' +[ERROR] artifactId: 'bsc-package-maven-plugin' +[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:bsc-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:bsc-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] -> [Help 1] +[ERROR] +[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. +[ERROR] Re-run Maven using the -X switch to enable full debug logging. +[ERROR] +[ERROR] For more information about the errors and possible solutions, please read the following articles: +[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException diff --git a/docs/versions/v2.35.1/General/Cheatsheets/cs-plugin-arguments.md b/docs/versions/v2.35.1/General/Cheatsheets/cs-plugin-arguments.md new file mode 100644 index 000000000..4abc2e82e --- /dev/null +++ b/docs/versions/v2.35.1/General/Cheatsheets/cs-plugin-arguments.md @@ -0,0 +1,11 @@ +[ERROR] +[ERROR] groupId: 'com.vmware.pscoe.maven.plugins' +[ERROR] artifactId: 'cs-package-maven-plugin' +[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:cs-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:cs-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] -> [Help 1] +[ERROR] +[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. +[ERROR] Re-run Maven using the -X switch to enable full debug logging. +[ERROR] +[ERROR] For more information about the errors and possible solutions, please read the following articles: +[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException diff --git a/docs/versions/v2.35.1/General/Cheatsheets/polyglot-plugin-arguments.md b/docs/versions/v2.35.1/General/Cheatsheets/polyglot-plugin-arguments.md new file mode 100644 index 000000000..d9d862ea9 --- /dev/null +++ b/docs/versions/v2.35.1/General/Cheatsheets/polyglot-plugin-arguments.md @@ -0,0 +1,11 @@ +[ERROR] +[ERROR] groupId: 'com.vmware.pscoe.maven.plugins' +[ERROR] artifactId: 'o11n-polyglot-package-maven-plugin' +[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:o11n-polyglot-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:o11n-polyglot-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] -> [Help 1] +[ERROR] +[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. +[ERROR] Re-run Maven using the -X switch to enable full debug logging. +[ERROR] +[ERROR] For more information about the errors and possible solutions, please read the following articles: +[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException diff --git a/docs/versions/v2.35.1/General/Cheatsheets/ssh-plugin-arguments.md b/docs/versions/v2.35.1/General/Cheatsheets/ssh-plugin-arguments.md new file mode 100644 index 000000000..f8344c680 --- /dev/null +++ b/docs/versions/v2.35.1/General/Cheatsheets/ssh-plugin-arguments.md @@ -0,0 +1,11 @@ +[ERROR] +[ERROR] groupId: 'com.vmware.pscoe.maven.plugins' +[ERROR] artifactId: 'ssh-maven-plugin' +[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:ssh-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:ssh-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] -> [Help 1] +[ERROR] +[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. +[ERROR] Re-run Maven using the -X switch to enable full debug logging. +[ERROR] +[ERROR] For more information about the errors and possible solutions, please read the following articles: +[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException diff --git a/docs/versions/v2.35.1/General/Cheatsheets/typescript-plugin-arguments.md b/docs/versions/v2.35.1/General/Cheatsheets/typescript-plugin-arguments.md new file mode 100644 index 000000000..a0d1f17c9 --- /dev/null +++ b/docs/versions/v2.35.1/General/Cheatsheets/typescript-plugin-arguments.md @@ -0,0 +1,11 @@ +[ERROR] +[ERROR] groupId: 'com.vmware.pscoe.maven.plugins' +[ERROR] artifactId: 'o11n-typescript-package-maven-plugin' +[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:o11n-typescript-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:o11n-typescript-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] -> [Help 1] +[ERROR] +[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. +[ERROR] Re-run Maven using the -X switch to enable full debug logging. +[ERROR] +[ERROR] For more information about the errors and possible solutions, please read the following articles: +[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException diff --git a/docs/versions/v2.35.1/General/Cheatsheets/vcd-ng-plugin-arguments.md b/docs/versions/v2.35.1/General/Cheatsheets/vcd-ng-plugin-arguments.md new file mode 100644 index 000000000..7ec97576b --- /dev/null +++ b/docs/versions/v2.35.1/General/Cheatsheets/vcd-ng-plugin-arguments.md @@ -0,0 +1,11 @@ +[ERROR] +[ERROR] groupId: 'com.vmware.pscoe.maven.plugins' +[ERROR] artifactId: 'vcd-ng-package-maven-plugin' +[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:vcd-ng-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:vcd-ng-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] -> [Help 1] +[ERROR] +[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. +[ERROR] Re-run Maven using the -X switch to enable full debug logging. +[ERROR] +[ERROR] For more information about the errors and possible solutions, please read the following articles: +[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException diff --git a/docs/versions/v2.35.1/General/Cheatsheets/vra-ng-plugin-arguments.md b/docs/versions/v2.35.1/General/Cheatsheets/vra-ng-plugin-arguments.md new file mode 100644 index 000000000..6e43a5529 --- /dev/null +++ b/docs/versions/v2.35.1/General/Cheatsheets/vra-ng-plugin-arguments.md @@ -0,0 +1,11 @@ +[ERROR] +[ERROR] groupId: 'com.vmware.pscoe.maven.plugins' +[ERROR] artifactId: 'vra-ng-package-maven-plugin' +[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:vra-ng-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:vra-ng-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] -> [Help 1] +[ERROR] +[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. +[ERROR] Re-run Maven using the -X switch to enable full debug logging. +[ERROR] +[ERROR] For more information about the errors and possible solutions, please read the following articles: +[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException diff --git a/docs/versions/v2.35.1/General/Cheatsheets/vra-plugin-arguments.md b/docs/versions/v2.35.1/General/Cheatsheets/vra-plugin-arguments.md new file mode 100644 index 000000000..95265e9d2 --- /dev/null +++ b/docs/versions/v2.35.1/General/Cheatsheets/vra-plugin-arguments.md @@ -0,0 +1,11 @@ +[ERROR] +[ERROR] groupId: 'com.vmware.pscoe.maven.plugins' +[ERROR] artifactId: 'vra-package-maven-plugin' +[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:vra-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:vra-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] -> [Help 1] +[ERROR] +[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. +[ERROR] Re-run Maven using the -X switch to enable full debug logging. +[ERROR] +[ERROR] For more information about the errors and possible solutions, please read the following articles: +[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException diff --git a/docs/versions/v2.35.1/General/Cheatsheets/vrealize-plugin-arguments.md b/docs/versions/v2.35.1/General/Cheatsheets/vrealize-plugin-arguments.md new file mode 100644 index 000000000..a51739e8a --- /dev/null +++ b/docs/versions/v2.35.1/General/Cheatsheets/vrealize-plugin-arguments.md @@ -0,0 +1,11 @@ +[ERROR] +[ERROR] groupId: 'com.vmware.pscoe.maven.plugins' +[ERROR] artifactId: 'vrealize-package-maven-plugin' +[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:vrealize-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:vrealize-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] -> [Help 1] +[ERROR] +[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. +[ERROR] Re-run Maven using the -X switch to enable full debug logging. +[ERROR] +[ERROR] For more information about the errors and possible solutions, please read the following articles: +[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException diff --git a/docs/versions/v2.35.1/General/Cheatsheets/vrli-plugin-arguments.md b/docs/versions/v2.35.1/General/Cheatsheets/vrli-plugin-arguments.md new file mode 100644 index 000000000..d731c49c6 --- /dev/null +++ b/docs/versions/v2.35.1/General/Cheatsheets/vrli-plugin-arguments.md @@ -0,0 +1,11 @@ +[ERROR] +[ERROR] groupId: 'com.vmware.pscoe.maven.plugins' +[ERROR] artifactId: 'vrli-package-maven-plugin' +[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:vrli-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:vrli-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] -> [Help 1] +[ERROR] +[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. +[ERROR] Re-run Maven using the -X switch to enable full debug logging. +[ERROR] +[ERROR] For more information about the errors and possible solutions, please read the following articles: +[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException diff --git a/docs/versions/v2.35.1/General/Cheatsheets/vrops-plugin-arguments.md b/docs/versions/v2.35.1/General/Cheatsheets/vrops-plugin-arguments.md new file mode 100644 index 000000000..eb8b8bd76 --- /dev/null +++ b/docs/versions/v2.35.1/General/Cheatsheets/vrops-plugin-arguments.md @@ -0,0 +1,11 @@ +[ERROR] +[ERROR] groupId: 'com.vmware.pscoe.maven.plugins' +[ERROR] artifactId: 'vrops-package-maven-plugin' +[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:vrops-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:vrops-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] -> [Help 1] +[ERROR] +[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. +[ERROR] Re-run Maven using the -X switch to enable full debug logging. +[ERROR] +[ERROR] For more information about the errors and possible solutions, please read the following articles: +[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException diff --git a/docs/versions/v2.35.1/General/Cheatsheets/xml-plugin-arguments.md b/docs/versions/v2.35.1/General/Cheatsheets/xml-plugin-arguments.md new file mode 100644 index 000000000..4cf4a117d --- /dev/null +++ b/docs/versions/v2.35.1/General/Cheatsheets/xml-plugin-arguments.md @@ -0,0 +1,11 @@ +[ERROR] +[ERROR] groupId: 'com.vmware.pscoe.maven.plugins' +[ERROR] artifactId: 'o11n-xml-package-maven-plugin' +[ERROR] version: '2.34.2-SNAPSHOT': Plugin com.vmware.pscoe.maven.plugins:o11n-xml-package-maven-plugin:2.34.2-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact com.vmware.pscoe.maven.plugins:o11n-xml-package-maven-plugin:jar:2.34.2-SNAPSHOT +[ERROR] -> [Help 1] +[ERROR] +[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. +[ERROR] Re-run Maven using the -X switch to enable full debug logging. +[ERROR] +[ERROR] For more information about the errors and possible solutions, please read the following articles: +[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException diff --git a/docs/versions/v2.35.1/General/Core Concepts.md b/docs/versions/v2.35.1/General/Core Concepts.md new file mode 100644 index 000000000..56eccc239 --- /dev/null +++ b/docs/versions/v2.35.1/General/Core Concepts.md @@ -0,0 +1,17 @@ +# Core Concepts +[//]: # (Additional Information on the topic goes here) + +[//]: # (What will you learn) +## Overview + +[//]: # (Internal navigation) +## Table Of Contents: + +[//]: # (Fill As many of these as you need. Use h4 and further here, do not include h1s, h2s or h3s.) +### Section + +[//]: # (Optional Section) +[//]: # (## Previous:) + +[//]: # (Optional Section) +[//]: # (## Next:) diff --git a/docs/versions/v2.35.1/General/Examples/.gitkeep b/docs/versions/v2.35.1/General/Examples/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/docs/versions/v2.35.1/General/Examples/README.md b/docs/versions/v2.35.1/General/Examples/README.md new file mode 100644 index 000000000..fd541d0e5 --- /dev/null +++ b/docs/versions/v2.35.1/General/Examples/README.md @@ -0,0 +1,17 @@ +# Examples +[//]: # (Additional Information on the topic goes here) + +[//]: # (What will you learn) +[//]: # (Optional) +## Overview + +[//]: # (Internal navigation) +## Table Of Contents: +1. [Section](#section) + + +[//]: # (Fill As many of these as you need. Use h4 and further here, do not include h1s, h2s or h3s.) +### Section + +[//]: # (Optional Section) +[//]: # (## Read Next:) \ No newline at end of file diff --git a/docs/versions/v2.35.1/General/FAQ.md b/docs/versions/v2.35.1/General/FAQ.md new file mode 100644 index 000000000..018430a64 --- /dev/null +++ b/docs/versions/v2.35.1/General/FAQ.md @@ -0,0 +1,14 @@ +# Frequently Asked Questions + +[//]: # (Internal navigation) +## Table Of Contents: +1. [Section](#section-one) + +[//]: # (Fill As many of these as you need. Use h4 and further here, do not include h1s, h2s or h3s.) +### Section One + +[//]: # (Optional Section) +[//]: # (## Previous:) + +[//]: # (Optional Section) +[//]: # (## Next:) diff --git a/docs/versions/v2.35.1/General/Getting Started.md b/docs/versions/v2.35.1/General/Getting Started.md new file mode 100644 index 000000000..72664d1a6 --- /dev/null +++ b/docs/versions/v2.35.1/General/Getting Started.md @@ -0,0 +1,15 @@ +# Getting Started +Here you will find information on how to easily get onboarded working with Build Tools for VMware Aria. + +## Overview +Build Tools for VMware Aria relies on a private artifact manager like JFrog Artifactory OSS ( no limitation to it being public, +but possibly not desirable ). Here you will find instructions on how to setup such an environment. + +Build Tools for VMware Aria also has some local dependencies that need to be configured and we will talk about them as well. + +## Table Of Contents: +- [Prerequisites](./Getting%20Started/Prerequisites.md) +- [Setting Up Artifactory](./Getting%20Started/Setting%20Up%20Artifactory.md) +- [Setting Up Local Environment](./Getting%20Started/Setting%20Up%20Local%20Environment.md) + +## Next: [Prerequisites](./Getting Started/Prerequisites.md) diff --git a/docs/versions/v2.35.1/General/Getting Started/Prerequisites.md b/docs/versions/v2.35.1/General/Getting Started/Prerequisites.md new file mode 100644 index 000000000..82b06d394 --- /dev/null +++ b/docs/versions/v2.35.1/General/Getting Started/Prerequisites.md @@ -0,0 +1,43 @@ +[//]: # (TODO: Update the links in the Use section after the files are moved) +[//]: # (TODO: More in Installation section?) +[//]: # (TODO: Replace all references of the setup-workstation.md to point to Prerequisites.md) + +# Prerequisites + +## Overview +Prerequisites for installation of Build Tools for VMware Aria. + +## Table Of Contents: +1. [Prerequisites](#prerequisites) +2. [Installation and Configuration](#installation-and-configuration) + +### Prerequisites +- [vRealize Developer Tools](https://github.com/vmware/vrealize-developer-tools) (Optional) +- Java 8 ([official installation guide](https://www.java.com/en/download/help/download_options.xml)) +- Maven 3.5+ ([official installation guide](https://maven.apache.org/install.html)) +- NodeJS 16.x.x (use `nvm` if possible) [official downloads](https://nodejs.org/en/download/releases/) +- Development vRealize Automation Tenant configured with development vRealize Orchestrator + - Tenant administrator user + - Workstation can access vRA server on port 443 +- Development vRealize Orchestrator + - vRO administrator user + - vRO appliance root user + - Workstation can access vRO server on ports [443 or 8281], 8283 +- Powershell Core for Linux/MacOS if working with the polyglot powershell archetype. + - MacOS: https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-macos + - Linux: https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-linux + +### Installation and Configuration + +#### Configuration +- [Build Tools for VMware Aria Build System](Setting%20Up%20Artifactory.md) + +### Use +- [vRO Projects](use-workstation-vro-project.md) +- [vRA Projects](use-workstation-vra-project.md) +- [vRA NG Projects](use-workstation-vra-ng-project.md) +- [ABX Projects](use-workstation-abx-project.md) +- [vROps Projects](use-workstation-vrops-project.md) + +## Next: [Setting Up Artifactory](./Setting%20Up%20Artifactory.md) + diff --git a/docs/versions/v2.35.1/General/Getting Started/Setting Up Artifactory.md b/docs/versions/v2.35.1/General/Getting Started/Setting Up Artifactory.md new file mode 100644 index 000000000..c49fd5b82 --- /dev/null +++ b/docs/versions/v2.35.1/General/Getting Started/Setting Up Artifactory.md @@ -0,0 +1,86 @@ +[//]: # (TODO: Modernize - validate or adapt content) +[//]: # (TODO: Replace all references of the setup-platform.md to point to Setting Up Artifactory.md) + +# Setting Up Artifactory +Here you will learn the needed steps on how to configure the artifactory + +## Overview + +## Table Of Contents: +1. [Configuring Artifactory](#configuring-artifactory) +2. [Configure permissions for local cache for the Anonymous user](#configure-permissions-for-local-cache-for-the-anonymous-user) +3. [Uploading toolchain artifacts to Artifactory](#uploading-toolchain-artifacts-to-artifactory) +4. [Upload vRO artifacts to Artifactory (if needed)](#upload-vro-artifacts-to-artifactory--if-needed-) + +### Configuring Artifactory +Note that the libs-release, libs-snapshot etc. are the default Maven repositories created by JFrog's **Quick Setup** +shown at first login. This guide assumes that this **Quick Setup** has been executed. +1. Create a local repository in artifactory to contain the toolchain artifacts, e.g. **vrealize-build-tools** + and add it to the virtual release repository (e.g. **libs-release**) +2. Create a remote repository and configure the maven central public repository (https://repo1.maven.org/maven2/). + Add it to the virtual release repository (e.g. **libs-release**). This is needed so any public dependencies can be + downloaded as well. + +### Configure permissions for local cache for the Anonymous user +1. Login into Artifactory with admin privileges +2. Navigate to **Admin > Permissions** +3. Click the **New** button +4. Add a name for the permissions (for example: Anonymous Cache) +5. Add all repositories into the **Selected Repositories** list view +6. Skip the groups section +7. On the **Users** section add **Anonymous** user +8. Give **Deploy/Cache, Annotate, Read** permissions +9. Click **Save & Finish** + +### Uploading toolchain artifacts to Artifactory + +#### Via Cli +1. Unzip **iac-maven-repository.zip** found at **artifacts/maven/** path relative to the root of the + toolchain bundle to a folder, e.g. **import/** +2. Go to the directory where you have unzipped the archive. Your working directory should contain the "com" folder and + the **archetype-catalog.xml** file, e.g.: +```bash +root@photon-G6H8GzV2j [ ~/toolchain/import ]# ls +archetype-catalog.xml com +``` +3. Run `jfrog config add` to configure your local environment with the artifactory server. +4. Then, run the following command ``jfrog rt u --recursive=true --flat=false ./* vrealize-build-tools``, + where **vrealize-build-tools** should be the name of the repository you've created at step #1 in [Configuring Artifactory](#configuring-artifactory). +5. Examine the output of the command. It should look something similar to this: +``` +Uploading artifact: /path/to/artifact/some-artifact.jar +{ + "status": "success", + "totals": { + "success": 1, + "failure": 0 + } +} +``` +**Note:** There is a chance that not all of the artifacts will be uploaded (you will be getting a lot of errors). +If this happens, you can re-run the command. + +#### Via UI +**FINISH** + +### Upload vRO artifacts to Artifactory (if needed) +First you need access to a supported version of vRO appliance to get the vRO dependencies for the toolchain in your artifactory. +1. Get all vRO artifacts on the local machine. Run: +```bash +wget --no-check-certificate --recursive --no-parent --reject "index.html*" https://:/vco-repo/com/ +wget --no-check-certificate --recursive --no-parent --reject "index.html*" https://:/vco-repo/com/vmware/o11n/mojo/pkg/ +wget --no-check-certificate --recursive --no-parent --reject "index.html*" https://:/vco-repo/com/vmware/o11n/pkg +``` +2. Create a new local repository (e.g. **vro-local**) and add it to the virtual release repository (e.g. **libs-release**). +3. Navigate to the root folder of the downloaded repository on the local filesystem - at the same level as the **com** + directory. E.g.: +```bash +root@photon-G6H8GzV2j [ ~/192.168.71.1/vco-repo ]# ls +com +``` +4. Import the vro artifacts to the selected repository, for example: +``` +jfrog rt u --recursive true --flat false ./* vro-local +``` +## Previous: [Prerequisites](./Prerequisites.md) +## Next: [Setting Up Local Environment](./Setting%20Up%20Local%20Environment.md) diff --git a/docs/versions/v2.35.1/General/Getting Started/Setting Up Local Environment.md b/docs/versions/v2.35.1/General/Getting Started/Setting Up Local Environment.md new file mode 100644 index 000000000..4a4bed3a4 --- /dev/null +++ b/docs/versions/v2.35.1/General/Getting Started/Setting Up Local Environment.md @@ -0,0 +1,273 @@ +[//]: # (TODO: Modernize - validate or adapt content) +[//]: # (TODO: Update link in line 214 after the file is moved [Build Tools for VMware Aria - Bundle Installer](use-bundle-installer.md)) +[//]: # (TODO: Replace all references of the setup-workstation-maven.md to point to Setting Up Local Environment.md) + +# Setting Up Local Environment +Here you will learn the needed steps on how to configure your environment + +## Overview +**Build Tools for VMware Aria** are built on top of the Maven build automation ecosystem. vRealize Automation and vRealize +Orchestrator content are described as Maven Project Object Models which enable huge amount of options like automated build +going through phases like validate, compile, test, package, verify, install and deploy; dependency management, versioning, etc. + +## Table Of Contents: +1. [Installation](#installation) +2. [Configuration](#configuration) + 1. [Java Keystore](#java-keystore) + 2. [Global Configuration](#global-configuration-(*settings.xml*)) + 3. [Signing](#signing) + 4. [Bundling](#bundling) + 5. [Security](#security) + 6. [Timeouts](#timeouts) + 7. [Delays](#delays) + 8. [Checksums](#checksums) + +### Installation + +#### Prerequisites +- Build Tools for VMware Aria Platform + - [Build Tools for VMware Aria Platform](Setting%20Up%20Artifactory.md) ready to use + - Workstation can access Build Tools for VMware Aria Platform services +- Java 8+ ([official installation guide](https://www.java.com/en/download/help/download_options.xml)) +- Maven 3.5+ ([official installation guide](https://maven.apache.org/install.html)) + +### Configuration + +There are several things that need to be in place before you can use the Build Tools for VMware Aria to work with vRO content. + +#### Java Keystore + +Java keystore used for signing packages build time. +``` +# Create new Keystore +keytool -keystore package.jks -genkey -alias _dunesrsa_alias_ -storepass 'VMware1!' -keyalg RSA + +# Delete default alias +keytool -delete -alias _dunesrsa_alias_ -keystore package.jks -storepass 'VMware1!' + +# Generate new Key +keytool -genkey -keyalg RSA -keysize 2048 -alias _dunesrsa_alias_ -keystore package.jks -storepass 'VMware1!' -validity 3650 -dname 'CN=Project,OU=Department,O=Company,L=City,ST=State,C=XX,emailAddress=administrator@vsphere.local' + +## Optional ## + +# Generate Certificate Signing Request +keytool -certreq -alias _dunesrsa_alias_ -keypass 'VMware1!' -keystore package.jre -storepass 'VMware1!' -file packageCertRequest.csr + +# Import the signed certificate +keytool -importcert -alias _dunesrsa_alias_ -keypass 'VMware1!' -file packageCertRequest.crt -keystore package.jks -storepass 'VMware1!' + +# Export/Backup Certificate +keytool -exportcert -alias _dunesrsa_alias_ -keystore package.jks -storepass 'VMware1!' -file packageCertExport +``` + +`Note:` Mind the single quotes in the examples above on Windows - those might be part of the passowrd depending on which interpreter (shell) you are using. Correct the string literal and escaping appropriately for your case. + +`Note:` JKS is a propriatary format specific to the particular JVM provider. When running above commands, ensure the keytool used is the one under the JVM that Maven would use (check with `mvn -v`). + +#### Global Configuration (*settings.xml*) +Firstly, you will need to configure Maven. + +There are a number of properties that must be set through profiles in the settings.xml file, as they are environment specific: +* keystorePassword - Required. This is the password for the keystore used for signing vRO packages. +* keystoreLocation - Required. This is the location of the keystore. You can either hardcode a location on the machine executing the build. +* snapshotRepositoryUrl - Required. This is the url of the snapshot maven repository. +* releaseRepositoryUrl - Required. This is the url of the release maven repository. Could be the same as snapshotRepositoryUrl. + +The recommended approach is to keep a settings XML file under SCM to be used by developers and a modified version with credentials for the Artifactory deployed on the CI server directly (i.e. not accessible by everyone). + +Furthermore, in the example, bundling (i.e. should the bundle.zip be produced upon build) is moved to a separate profile +and developers/CI can choose whether to create the bundle or not by including the "-Pbundle" command line argument +to the maven invocation. +```xml + + + + + {vro_username} + {native+maven+encrypted+pass} + corp-dev-vro + + + {vra_username} + {native+maven+encrypted+pass} + corp-dev-vra + + + + + packaging + + + + + com.vmware.pscoe.build + archetype.keystore + 2.0.0 + target/${keystoreArtifactId}-${keystoreVersion}/private_key.pem + target/${keystoreArtifactId}-${keystoreVersion}/cert.pem + VMware1! + + + + bundle + + false + + + + artifactory + + + false + central + central + http://{artifactory-hostname}/artifactory/{release_repository} + + + true + central-snapshots + central-snapshots + http://{artifactory-hostname}/artifactory/{snapshot_repository} + + + + + false + central + central + http://{artifactory-hostname}/artifactory/{release_repository} + + + true + central-snapshots + central-snapshots + http://{artifactory-hostname}/artifactory/{snapshot_repository} + + + + http://{artifactory-hostname}/artifactory/{release_repository} + http://{artifactory-hostname}/artifactory/{snapshot_repository} + + + + + corp-dev + + + {vro_host} + {vro_port} + {vro_username} + {vro_password} + corp-dev-vro + {basic|vra} + {auth_host} + {auth_port} + {refresh_token} + http://proxy.host:80 + {vro_tenant} + + {vra_host} + {vra_port} + {vra_tenant} + corp-dev-vra + {vra_username} + {vra_password} + + + + + artifactory + packaging + + +``` + +`Note:` {vro_username} is usually taking the form of `username`@`domain`. For vRO8 embedded in vRA8 with BASIC for {vro_auth} it will be required that only `username` part is specified for successful authentication. + +#### Signing +vRO packages are signed. In order to be able to use the toolchain, you have to have a keystore and +configure it in the settings.xml file both for the developers and the CI. + +##### Keystore located on the building machine +You must have the keystore file accessible on the machine and set the **keystoreLocation** and **keystorePassword** properties through the settings.xml. + +#### Bundling +There is a built-in bundling capabilities that are described in a Maven profile. You can decide to not only package a vRO/vRA project, but also to create a ```*-bundle.zip``` with all its dependencies. This will create an archive with the following structure: + +```sh +vro/ # all vRO packages. If the current project is vRO, its package will be here as well. +vra/ # all vRA packages. IF the current project is vRA, its package will be here as well. +repo/ # JARs that comprise the bundle installer - a CLI tool that is capable of importing the whole bundle to a target environment. +bin/ # shells for invoking the bundle installer CLI. + installer # Bash executable version of the installer for Linux/Unix/macOS + intasller.bat # Batch exectable version of the installer for Windows +``` +The bundle is produced as a separate artifact during ```mvn package```. To produce it, you need to add the ```-Pbundle-with-installer``` profile: +``` +$ mvn clean deploy -Pbundle-with-installer +``` + +To learn more about the bundle installer, check [Build Tools for VMware Aria - Bundle Installer](use-bundle-installer.md) for more information. + + +#### Security +All API calls from the toolchain (i.e. the client) verify the SSL certificate +returned by vRO/vRA (i.e. the server). If you are using self-signed or third-party signed certificates, you may need to +add those certificates or their CA certificates to the default JAVA keystore, i.e. ```JAVA_HOME/lib/security/cacerts```. __This is the recommended approach.__ + + +The other option, __applicable ONLY for development environments__, is to ignore certificate checks by passing a flag. + +#### Timeouts +Controlling timeouts is done through the following System Properties: +* the Connection Timeout ("vrealize.connection.timeout") – the time to establish the connection with the remote host (Defaults to 360 seconds (6 minutes)) +* the Socket Timeout ("vrealize.socket.timeout") – the time waiting for data – after establishing the connection maximum time of inactivity between two data packets (Defaults to 360 seconds(6 minutes)) +* the vra 8.x content import timeout ("vrang.import.timeout") – (in miliseconds) the time out waiting for import of custom forms / content sources to complete (Defaults to 6 seconds) + +#### Delays +* the vra 8.x data collection delay ("vrang.data.collection.delay.seconds") – (in seconds) the amount of time to way before running the import job. + The vRA data collection usually takes around 10 minutes ( 600 seconds ) to complete. Defaults to no delay. + +You can set these as JVM Options as specified here: https://maven.apache.org/configure.html + +Timeouts can be set up to be used by the installer too using the following settings (in the environment properties file): +http_connection_timeout - for the connection timeout (in seconds), default is 360 seconds (6 minutes) +http_socket_timeout - for the socket timeout (in seconds), default is 360 seconds (6 minutes) +vrang_import_timeout - for the vra 8.x content import timeout (custom forms, content sources). + +#### Checksums +Checksums are supported for the following project types - vRO JS, TS, XML and vRA 7/8. By defaults the target folder will also contain .sha1 checksums for the different file types, e.g. js.sha1, ts.sha1, xml.sha1, content.sha1 and packages.sha1. These are specified per project type in the base pom.xml using following definition: +```xml + + ... + js,packages + ... + +``` +To add more checksum definitions for your project, just redefine this property in your pom.xml. For example, add the "docs" checksum to the build: +```xml + + ... + js,packages,docs + ... + +``` +With the "docs" prefix you can now specify if the phase is enabled, readmes location directory, files glob filter and as well list of excludes RegExp patterns of files to ommit. For example like this: +```xml + + ... + js,packages,docs + + true + docs/markdown + *.md + \.docx$,\.pdf$ + ... + +``` +## Previous: [Setting Up Artifactory](./Setting%20Up%20Artifactory.md) + diff --git a/docs/versions/v2.35.1/General/Guides/.gitkeep b/docs/versions/v2.35.1/General/Guides/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/docs/versions/v2.35.1/General/Installation.md b/docs/versions/v2.35.1/General/Installation.md new file mode 100644 index 000000000..b4daade5d --- /dev/null +++ b/docs/versions/v2.35.1/General/Installation.md @@ -0,0 +1,18 @@ +# Installation +[//]: # (Additional Information on the topic goes here) + +[//]: # (What will you learn) +[//]: # (Optional but highly recommended) +## Overview + +[//]: # (Internal navigation) +## Table Of Contents: + +[//]: # (Fill As many of these as you need. Use h4 and further here, do not include h1s, h2s or h3s.) +### Section + +[//]: # (Optional Section) +[//]: # (## Previous:) + +[//]: # (Optional Section) +[//]: # (## Next:) diff --git a/docs/versions/v2.35.1/General/Known Issues/.gitkeep b/docs/versions/v2.35.1/General/Known Issues/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/docs/versions/v2.35.1/General/Use Cases/.gitkeep b/docs/versions/v2.35.1/General/Use Cases/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/docs/versions/v2.35.1/README.md b/docs/versions/v2.35.1/README.md new file mode 100644 index 000000000..76fe139ff --- /dev/null +++ b/docs/versions/v2.35.1/README.md @@ -0,0 +1,19 @@ +# v2.35.1 + +Build Tools for VMware Aria is a tool that helps enterprises adhere to Infrastructure-as-Code principles in a wide variety +of VMware tools. + +## Navigation: +* [Core Concepts](./General/Core%20Concepts.md) +* [Getting Started](./General/Getting%20Started.md) +* [Installation](./General/Installation.md) +* [Use Cases](./General/Use%20Cases) +* What's next + * [Examples](./General/Examples) + * [Cheatsheets](./General/Cheatsheets) + * [Guides](./General/Guides) + * [Known Issues](./General/Known%20Issues) +* [Components](./Components) +* [FAQ](./General/FAQ.md) + +## Next: [Release](./Release.md) diff --git a/docs/versions/v2.35.1/Release.md b/docs/versions/v2.35.1/Release.md new file mode 100644 index 000000000..355d66594 --- /dev/null +++ b/docs/versions/v2.35.1/Release.md @@ -0,0 +1,47 @@ +## Breaking Changes + + +## Deprecations + + +## Features + + +## Improvements + +### Fixed importing of vRA content items on vRA 8.13.x + +#### Previous Behavior + +When pushing vRA content items to vRA 8.13.x the pushing fails with the following error: +Cannot invoke "com.vmware.pscoe.iac.artifact.model.vrang.VraNgCatalogItemType.getId()" because "this.type" is null +When the content item naming case in the content.yaml file is different from the file names that are in the content-items directory +they are not pushed to the target environment (skipped). + +#### New Behavior + +When pushing the vRA content items to vRA 8.13.x it no longer fails. The content naming in the content.yaml is no longer case sensitive +againist the file names in the content-items directory, thus the content-items names in the content.yaml file are no longer case sensitive. + +### Fixed the compiled SAGA workflow crashes when no imports are defined in saga yaml + +#### Previous Behaviour + +When no imports were defined in typescript SAGA workflow file format, the compiled vRO workflow failed when being executied in vRO on Initilize scriptable task +with null object error. + +#### New Behaviour + +When no imports are defined in typescript SAGA workflow file format, the compiled vRO workflow runs successfully. + +### Fixed push to vCD failing if API version is >= 38.0 + +#### Previous Behaviour + +When using vCD 10.5 there is a breaking change affecting the way authentication works and as a consequence the push to vCD is failing. + +#### New Behaviour + +This introduces a quick fix to the problem: if API version 38.0 or later is detected, simply use 37.0 which we know works as expected. + +## Upgrade procedure diff --git a/pom.xml b/pom.xml index 8116ca17d..b645f33c8 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ ${project.basedir} - 2.35.1-SNAPSHOT + 2.35.1 diff --git a/typescript/npmconv/package-lock.json b/typescript/npmconv/package-lock.json index 90549703c..bd49b74fb 100644 --- a/typescript/npmconv/package-lock.json +++ b/typescript/npmconv/package-lock.json @@ -1,12 +1,12 @@ { "name": "@vmware-pscoe/npmconv", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@vmware-pscoe/npmconv", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "license": "VMware Confidential", "dependencies": { "command-line-args": "^5.1.1", diff --git a/typescript/npmconv/package.json b/typescript/npmconv/package.json index fd857bb7d..a3acba3da 100644 --- a/typescript/npmconv/package.json +++ b/typescript/npmconv/package.json @@ -1,6 +1,6 @@ { "name": "@vmware-pscoe/npmconv", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "description": "Used for converting pure-typescript npm package to vRO project", "author": "VMware PSCoE", "license": "VMware Confidential", diff --git a/typescript/polyglotpkg/package-lock.json b/typescript/polyglotpkg/package-lock.json index 0ab93209a..df81ab4bd 100644 --- a/typescript/polyglotpkg/package-lock.json +++ b/typescript/polyglotpkg/package-lock.json @@ -1,12 +1,12 @@ { "name": "@vmware-pscoe/polyglotpkg", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@vmware-pscoe/polyglotpkg", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "license": "VMware Confidential", "dependencies": { "adm-zip": "^0.4.14", diff --git a/typescript/polyglotpkg/package.json b/typescript/polyglotpkg/package.json index 43b2a22f9..9563f7373 100644 --- a/typescript/polyglotpkg/package.json +++ b/typescript/polyglotpkg/package.json @@ -1,6 +1,6 @@ { "name": "@vmware-pscoe/polyglotpkg", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "description": "Create a vRO Polyglot or serverless package", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/typescript/vro-scripting-api/package-lock.json b/typescript/vro-scripting-api/package-lock.json index 222bbc45c..baea7586c 100644 --- a/typescript/vro-scripting-api/package-lock.json +++ b/typescript/vro-scripting-api/package-lock.json @@ -1,12 +1,12 @@ { "name": "@vmware-pscoe/vro-scripting-api", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@vmware-pscoe/vro-scripting-api", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "license": "VMware Confidential", "devDependencies": { "@rollup/plugin-commonjs": "21.0.1", diff --git a/typescript/vro-scripting-api/package.json b/typescript/vro-scripting-api/package.json index 3a5ddd863..71918d48d 100644 --- a/typescript/vro-scripting-api/package.json +++ b/typescript/vro-scripting-api/package.json @@ -1,6 +1,6 @@ { "name": "@vmware-pscoe/vro-scripting-api", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "VMware Confidential", "description": "vRO script API for NodeJS", diff --git a/typescript/vropkg/package-lock.json b/typescript/vropkg/package-lock.json index 4cf6ab250..ea155c707 100644 --- a/typescript/vropkg/package-lock.json +++ b/typescript/vropkg/package-lock.json @@ -1,12 +1,12 @@ { "name": "@vmware-pscoe/vropkg", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@vmware-pscoe/vropkg", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "bundleDependencies": [ "abstract-syntax-tree", "archiver", diff --git a/typescript/vropkg/package.json b/typescript/vropkg/package.json index 3e1a5d588..c8e3ec079 100644 --- a/typescript/vropkg/package.json +++ b/typescript/vropkg/package.json @@ -1,6 +1,6 @@ { "name": "@vmware-pscoe/vropkg", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "description": "Used to build vRealize Orchestrator signed package out of it source code (expand to package XML)", "author": "VMware PSCoE", "license": "VMware Confidential", diff --git a/typescript/vrotest/package-lock.json b/typescript/vrotest/package-lock.json index 95f7a021d..0d5bb0a44 100644 --- a/typescript/vrotest/package-lock.json +++ b/typescript/vrotest/package-lock.json @@ -1,12 +1,12 @@ { "name": "@vmware-pscoe/vrotest", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@vmware-pscoe/vrotest", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "bundleDependencies": [ "iconv-lite", "jasmine", diff --git a/typescript/vrotest/package.json b/typescript/vrotest/package.json index 736a7e57b..414dfe53f 100644 --- a/typescript/vrotest/package.json +++ b/typescript/vrotest/package.json @@ -1,6 +1,6 @@ { "name": "@vmware-pscoe/vrotest", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "VMware Confidential", "description": "vRO Test Suite for NodeJS", diff --git a/typescript/vrotsc/package-lock.json b/typescript/vrotsc/package-lock.json index 22fd23969..159aa41bf 100644 --- a/typescript/vrotsc/package-lock.json +++ b/typescript/vrotsc/package-lock.json @@ -1,12 +1,12 @@ { "name": "@vmware-pscoe/vrotsc", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@vmware-pscoe/vrotsc", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "license": "VMware Confidential", "bin": { "vrotsc": "bin/vrotsc" diff --git a/typescript/vrotsc/package.json b/typescript/vrotsc/package.json index 700753f17..5d5c128ed 100644 --- a/typescript/vrotsc/package.json +++ b/typescript/vrotsc/package.json @@ -1,6 +1,6 @@ { "name": "@vmware-pscoe/vrotsc", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "VMware Confidential", "description": "vRO TypeScript to JavaScript transpiler", diff --git a/vro-types/ecmascript/package.json b/vro-types/ecmascript/package.json index e88a9a363..a5de31dd6 100644 --- a/vro-types/ecmascript/package.json +++ b/vro-types/ecmascript/package.json @@ -1,5 +1,5 @@ { "name": "@types/ecmascript", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "private": true } diff --git a/vro-types/jasmine/package.json b/vro-types/jasmine/package.json index 994b4c465..4f5b978d7 100644 --- a/vro-types/jasmine/package.json +++ b/vro-types/jasmine/package.json @@ -1,5 +1,5 @@ { "name": "@types/jasmine", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "private": true } diff --git a/vro-types/node/package.json b/vro-types/node/package.json index 23cc9c821..816be09af 100644 --- a/vro-types/node/package.json +++ b/vro-types/node/package.json @@ -1,5 +1,5 @@ { "name": "@types/node", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "private": true } diff --git a/vro-types/o11n-core/package.json b/vro-types/o11n-core/package.json index ceecd9b57..2dd855dd5 100644 --- a/vro-types/o11n-core/package.json +++ b/vro-types/o11n-core/package.json @@ -1,6 +1,6 @@ { "name": "@types/o11n-core", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "ISC", "private": true diff --git a/vro-types/o11n-plugin-activedirectory/package.json b/vro-types/o11n-plugin-activedirectory/package.json index ee7a93147..c238b146f 100644 --- a/vro-types/o11n-plugin-activedirectory/package.json +++ b/vro-types/o11n-plugin-activedirectory/package.json @@ -1,6 +1,6 @@ { "name": "@types/o11n-plugin-activedirectory", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "ISC", "private": true diff --git a/vro-types/o11n-plugin-amqp/package.json b/vro-types/o11n-plugin-amqp/package.json index 8f143675f..3706b4e94 100644 --- a/vro-types/o11n-plugin-amqp/package.json +++ b/vro-types/o11n-plugin-amqp/package.json @@ -1,6 +1,6 @@ { "name": "@types/o11n-plugin-amqp", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "ISC", "private": true diff --git a/vro-types/o11n-plugin-apic/package.json b/vro-types/o11n-plugin-apic/package.json index 862711fca..1f94ce374 100644 --- a/vro-types/o11n-plugin-apic/package.json +++ b/vro-types/o11n-plugin-apic/package.json @@ -1,6 +1,6 @@ { "name": "@types/o11n-plugin-apic", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "ISC", "private": true diff --git a/vro-types/o11n-plugin-azure/package.json b/vro-types/o11n-plugin-azure/package.json index d51c78f55..e873d5142 100644 --- a/vro-types/o11n-plugin-azure/package.json +++ b/vro-types/o11n-plugin-azure/package.json @@ -1,6 +1,6 @@ { "name": "@types/o11n-plugin-azure", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "ISC", "private": true diff --git a/vro-types/o11n-plugin-dynamictypes/package.json b/vro-types/o11n-plugin-dynamictypes/package.json index 21a8053c4..741697ae1 100644 --- a/vro-types/o11n-plugin-dynamictypes/package.json +++ b/vro-types/o11n-plugin-dynamictypes/package.json @@ -1,6 +1,6 @@ { "name": "@types/o11n-plugin-dynamictypes", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "ISC", "private": true diff --git a/vro-types/o11n-plugin-mail/package.json b/vro-types/o11n-plugin-mail/package.json index fcf9a8839..8572d6df8 100644 --- a/vro-types/o11n-plugin-mail/package.json +++ b/vro-types/o11n-plugin-mail/package.json @@ -1,6 +1,6 @@ { "name": "@types/o11n-plugin-mail", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "ISC", "private": true diff --git a/vro-types/o11n-plugin-mqtt/package.json b/vro-types/o11n-plugin-mqtt/package.json index eb40ba1ee..a6794818e 100644 --- a/vro-types/o11n-plugin-mqtt/package.json +++ b/vro-types/o11n-plugin-mqtt/package.json @@ -1,6 +1,6 @@ { "name": "@types/o11n-plugin-mqtt", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "ISC", "private": true diff --git a/vro-types/o11n-plugin-net/package.json b/vro-types/o11n-plugin-net/package.json index 620f661d5..6b0a64a92 100644 --- a/vro-types/o11n-plugin-net/package.json +++ b/vro-types/o11n-plugin-net/package.json @@ -1,6 +1,6 @@ { "name": "@types/o11n-plugin-net", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "ISC", "private": true diff --git a/vro-types/o11n-plugin-nsx/package.json b/vro-types/o11n-plugin-nsx/package.json index 5762770ae..c11f75f71 100644 --- a/vro-types/o11n-plugin-nsx/package.json +++ b/vro-types/o11n-plugin-nsx/package.json @@ -1,6 +1,6 @@ { "name": "@types/o11n-plugin-nsx", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "ISC", "private": true diff --git a/vro-types/o11n-plugin-powershell/package.json b/vro-types/o11n-plugin-powershell/package.json index 512f668be..dcb9656db 100644 --- a/vro-types/o11n-plugin-powershell/package.json +++ b/vro-types/o11n-plugin-powershell/package.json @@ -1,6 +1,6 @@ { "name": "@types/o11n-plugin-powershell", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "ISC", "private": true diff --git a/vro-types/o11n-plugin-rest/package.json b/vro-types/o11n-plugin-rest/package.json index d53bbd936..f2bca489b 100644 --- a/vro-types/o11n-plugin-rest/package.json +++ b/vro-types/o11n-plugin-rest/package.json @@ -1,6 +1,6 @@ { "name": "@types/o11n-plugin-rest", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "ISC", "private": true diff --git a/vro-types/o11n-plugin-snmp/package.json b/vro-types/o11n-plugin-snmp/package.json index 46bdd1e3c..ae717c622 100644 --- a/vro-types/o11n-plugin-snmp/package.json +++ b/vro-types/o11n-plugin-snmp/package.json @@ -1,6 +1,6 @@ { "name": "@types/o11n-plugin-snmp", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "ISC", "private": true diff --git a/vro-types/o11n-plugin-soap/package.json b/vro-types/o11n-plugin-soap/package.json index 83ddaefa3..a07d6c70b 100644 --- a/vro-types/o11n-plugin-soap/package.json +++ b/vro-types/o11n-plugin-soap/package.json @@ -1,6 +1,6 @@ { "name": "@types/o11n-plugin-soap", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "ISC", "private": true diff --git a/vro-types/o11n-plugin-sql/package.json b/vro-types/o11n-plugin-sql/package.json index df8589c01..6042ab732 100644 --- a/vro-types/o11n-plugin-sql/package.json +++ b/vro-types/o11n-plugin-sql/package.json @@ -1,6 +1,6 @@ { "name": "@types/o11n-plugin-sql", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "ISC", "private": true diff --git a/vro-types/o11n-plugin-ssh/package.json b/vro-types/o11n-plugin-ssh/package.json index ef8b9a03e..5fb260132 100644 --- a/vro-types/o11n-plugin-ssh/package.json +++ b/vro-types/o11n-plugin-ssh/package.json @@ -1,6 +1,6 @@ { "name": "@types/o11n-plugin-ssh", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "ISC", "private": true diff --git a/vro-types/o11n-plugin-vapi/package.json b/vro-types/o11n-plugin-vapi/package.json index 665422552..e24b203c3 100644 --- a/vro-types/o11n-plugin-vapi/package.json +++ b/vro-types/o11n-plugin-vapi/package.json @@ -1,6 +1,6 @@ { "name": "@types/o11n-plugin-vapi", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "ISC", "private": true diff --git a/vro-types/o11n-plugin-vc/package.json b/vro-types/o11n-plugin-vc/package.json index 01af70a3a..2d9b7fac1 100644 --- a/vro-types/o11n-plugin-vc/package.json +++ b/vro-types/o11n-plugin-vc/package.json @@ -1,6 +1,6 @@ { "name": "@types/o11n-plugin-vc", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "ISC", "private": true diff --git a/vro-types/o11n-plugin-vcac/package.json b/vro-types/o11n-plugin-vcac/package.json index 1d33ac6c9..14e007c01 100644 --- a/vro-types/o11n-plugin-vcac/package.json +++ b/vro-types/o11n-plugin-vcac/package.json @@ -1,6 +1,6 @@ { "name": "@types/o11n-plugin-vcac", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "ISC", "private": true diff --git a/vro-types/o11n-plugin-vcaccafe/package.json b/vro-types/o11n-plugin-vcaccafe/package.json index 81f6a6475..f603bbc88 100644 --- a/vro-types/o11n-plugin-vcaccafe/package.json +++ b/vro-types/o11n-plugin-vcaccafe/package.json @@ -1,6 +1,6 @@ { "name": "@types/o11n-plugin-vcaccafe", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "ISC", "private": true diff --git a/vro-types/o11n-plugin-vcloud/package.json b/vro-types/o11n-plugin-vcloud/package.json index 9ecbb9b04..e4eed3b67 100644 --- a/vro-types/o11n-plugin-vcloud/package.json +++ b/vro-types/o11n-plugin-vcloud/package.json @@ -1,6 +1,6 @@ { "name": "@types/o11n-plugin-vcloud", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "ISC", "private": true diff --git a/vro-types/o11n-plugin-vco/package.json b/vro-types/o11n-plugin-vco/package.json index 9a076a514..805c6a7db 100644 --- a/vro-types/o11n-plugin-vco/package.json +++ b/vro-types/o11n-plugin-vco/package.json @@ -1,6 +1,6 @@ { "name": "@types/o11n-plugin-vco", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "ISC", "private": true diff --git a/vro-types/o11n-plugin-xml/package.json b/vro-types/o11n-plugin-xml/package.json index 661a0bab8..82261404b 100644 --- a/vro-types/o11n-plugin-xml/package.json +++ b/vro-types/o11n-plugin-xml/package.json @@ -1,6 +1,6 @@ { "name": "@types/o11n-plugin-xml", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "ISC", "private": true diff --git a/vro-types/tslib/package.json b/vro-types/tslib/package.json index 96f617d67..bb549d6c4 100644 --- a/vro-types/tslib/package.json +++ b/vro-types/tslib/package.json @@ -1,6 +1,6 @@ { "name": "tslib", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "description": "TypeScript compiler requires that tslib library is installed as a NodeJS module. VRO is using separate implementation for tslib, so this library will just provide the types.", "license": "ISC", diff --git a/vro-types/vrotsc-annotations/package.json b/vro-types/vrotsc-annotations/package.json index 3fa7120e4..8877a55f0 100644 --- a/vro-types/vrotsc-annotations/package.json +++ b/vro-types/vrotsc-annotations/package.json @@ -1,6 +1,6 @@ { "name": "@types/vrotsc-annotations", - "version": "2.35.1-SNAPSHOT", + "version": "2.35.1", "author": "VMware PSCoE", "license": "ISC", "private": true