Граф коммитов

87 Коммитов

Автор SHA1 Сообщение Дата
Louis DeJardin 8056fead2b
Ability to write to stdout or stderr (#128)
* the `write` property takes `stdout` or `stderr` as special values
* currently only works with `template` operations
2019-06-25 13:10:36 -07:00
JSchenken ae90d3ce1a Jschenken/dns example (#126)
* AzureDNS Update example

* update readme.md
2019-04-22 10:29:59 -07:00
Louis DeJardin da112fc02f
Removing readme.md as subworkflows are embedded (#125)
* Removing readme.md as subworkflows are embedded

* The non-yaml text should remain, really.

* Fixing stylecop warnings
2019-04-12 14:01:57 -07:00
Louis DeJardin c2dab3ca72
Dynamic propery names (#124)
* Fixing class names in some tests

* Enabling variable values and output property names

Property names can be evaluated in the same way as values in any
`values` and `output` locations

output:
  ( myKey ): ( theValue )
2019-04-08 15:07:15 -07:00
Louis DeJardin 130939f7cc
Adding search and concat jmespath functions (#123)
* concat(a,b,c) is a cleaner form of join('', [a,b,c])
* `search(expr, json)` can do jmespath lookups by building an expression
2019-03-29 10:24:57 -07:00
Louis DeJardin 1c683af591
Using Newtonsoft for JsonSerializer (#122)
* The YamlDotNet json serializer has one or two
compatibility issues under some conditions
2019-03-27 13:19:20 -07:00
Louis DeJardin a9cfae3858
Updating dependencies (#120)
Using latest version of some nuget dependencies
2019-03-27 10:07:09 -07:00
Louis DeJardin 73effb59aa
Allow swagger.extra to be a string literal (#121)
* Allow swagger.extra to be a string literal

This makes complex scenarios possible where the extra data
needs to contain handlebars template markup which is incompatible
with a yaml file section

* Adding unit test for extra literal string
2019-03-26 16:35:23 -07:00
Louis DeJardin 15ceb581f1
Fix subworkflow values (#119)
* Fixing sub-workflow effective values calculation

* values.yaml contains defaults
* calling workflow operation values overlay those
* optional model yaml calculates extended structure based on result
* workflow root values finally add inputs based on that accumulation
* all values (except workflow root values) can by used by handlebar
  rendering of the workflow

* Adding test for interaction between values and handlebar in subworkflows

* Fixing stylecop warnings and moving global supporessions into ruleset file
2019-03-15 13:32:48 -07:00
Louis DeJardin 546c177c7f
Adding arm template deployment subworkflow to library (#118)
* Adding arm template deployment subworkflow to library

* Adding to sub-workflow readme file

* Updating package description
2019-03-15 11:33:49 -07:00
Louis DeJardin 8a66da47d0
Adding ability to use workflows as a building block (#117)
* Refactoring operation execution into a service class

* Adding support for sub-workflows

* readme.md can be used to import remote sub-workflows
* operation values and outputs used to pass data in and out
* workflow decorator makes remote workflows appear to be nested folders

* Fixing typo in proton subworkflow

* Updating example comments

* Changing the example to use relative paths between subworkflows
2019-03-14 13:43:57 -07:00
Louis DeJardin a69acb064f
build script step should fail on first non-zero exit code (#113)
* Failing unit test was not causing build failure
2019-03-05 16:12:38 -08:00
JSchenken 5978dcbbda
Fix failing ParametersAppearInPathQueryAndBody test (#112) 2019-03-05 10:10:12 -08:00
JSchenken b93056bde6 Update code formatting to fix Code Analysis errors in build (#111)
Simple changes to fix spacing in test file to address build errors from Code Analysis.
2019-03-04 16:20:15 -08:00
Louis DeJardin 9d2cea5919
Try to use service endpoint for any resources (#106)
* Try to use service endpoint for any resources

* Small change to command list
2019-01-29 17:37:58 -08:00
Louis DeJardin 7010076b7a
Adding base64_encode and base64_decode jmespath functions (#105)
Needed to create kubeconfig.json files which contain ca.crt data
2019-01-25 16:23:35 -08:00
Louis DeJardin 0454b47d97
Workaround invalid request json (#104)
* Use newtonsoft instead of yaml until the issue can be resolved.
2019-01-21 16:26:16 -08:00
Louis DeJardin c1f8234b6f
Fixing storage account authentication (#102)
* Fixing storage account authentication

* Adding query-string parameters to canonicalized resource

* Removing debug output
2019-01-21 14:07:59 -08:00
Louis DeJardin c4cc4b0b1f
Rename README.md to readme.md (#100)
Running remotely is case sensitive
2018-12-11 21:34:12 -08:00
Louis DeJardin 40fabb5b2b
Operation foreach (#98)
* Any operation may have a wrapping foreach loop
* foreach.values which are arrays cause the operation to
be executed multiple times
* foreach.output which are arrays are concatinated to produce
final results

Resolves #71
2018-11-08 16:18:59 -08:00
Louis DeJardin de71269f07
Adding org name to private registry repository (#97) 2018-11-07 15:17:45 -08:00
Louis DeJardin ef06307bc6
Change global tool package name to atlas-cli (#96)
* Change global tool package name to atlas-cli

* Also removes chocolatey packaging

* The name of a task changed
2018-11-07 13:04:00 -08:00
Louis DeJardin d4dd6f93ec
Build docker image (#94)
* moves many steps from build-ci.yaml into dockerfile
* updates build agent arm template to include docker extension
* all publish artifacts now build through dockerfile
* tests are run in container
* a docker image is created for executing the atlas command without installing it
2018-10-31 15:54:57 -07:00
Louis DeJardin 471078a048
Fixing bug loading workflows (#93)
If there was a readme.md file with no yaml code blocks
then the workflow's info object ended up being null
2018-10-30 12:11:51 -07:00
Louis DeJardin faece37f35
First fix didn't work (#88) 2018-10-29 17:38:04 -07:00
Louis DeJardin 342b41959c
Location of deployment outputs entity changed (#87) 2018-10-29 16:04:29 -07:00
Louis DeJardin d57beb9333
Adding quick fix for duplicate operationId in a swagger file (#86) 2018-10-29 15:32:06 -07:00
Louis DeJardin 6b09cac1bb
Support workflow metadata and swagger references (#85)
* Blueprint contains yaml information in readme.md
* Swagger documents are imported based on that information
* A request.yaml is generated for each operation in the swagger files
* Adding support for $ref across document boundaries
* Removing unnecessary request yaml files from examples
* Adjusting swagger generation for Azure DevOps APIs
* Assuming the schema.type property defaults to object
* Adding support for allOf schema recursion for top-level body properties
* Fixes for stylecop rules
2018-10-29 14:33:55 -07:00
Louis DeJardin d0abe1729c
Removing an unintentional submodule (#83) 2018-10-22 15:57:50 -07:00
Louis DeJardin 093d3df4e1
Updating looping example (#75)
* show looping by a counter index
* show accumulating data into an array
* show looping foreach object in an array
2018-10-20 12:39:26 -07:00
Louis DeJardin 9c10edd0d5
Found one case where Newtonsoft.Json deserializes more correctly (#80)
* an operation is returning a special escape "\/Date(int)\/"
2018-10-18 00:30:53 -07:00
Louis DeJardin 9dddefbf1f
Adding selection of subscription details to end of output (#78)
* Also writes details to _output/selection.yaml file
* Intended to be helpful looking up tenant and subscription
id when making a values.yaml file
2018-10-16 14:54:18 -07:00
Louis DeJardin 750a91e542
Fix bug with https blueprint provider (#79)
* Fix bug with https blueprint provider
* System.IO.Path methods would encode `/` characters
* Also re-order to try shorter paths first, to reduce
the number of NotFound responses
* Need dot in extension
2018-10-16 14:44:21 -07:00
Marcus Farkas c7e218e6e4 Change program path in launch.json from netcoreapp2.0 to netcoreapp2.1 (#77)
* Updated to match TargetFramework
2018-10-13 17:41:27 -07:00
Marcus Farkas 0bc2677d26 Add {{ yaml }} helper to template engine (#76)
Resolves Microsoft/Atlas#40
2018-10-13 17:31:32 -07:00
Louis DeJardin 76d4f45775
Missed two files in the last change (#74) 2018-10-12 12:42:41 -07:00
Louis DeJardin 9dd25e5db1
Azure DevOps service endpoint has different resource name (#73)
* https://management.azure.com/ seems to be the correct value
2018-10-12 12:21:16 -07:00
Louis DeJardin 9e93d0f8d2
Bug in task versioning (#70)
* Extra quote in sed - wasn't changing task.json versions
2018-10-11 18:57:25 -07:00
Louis DeJardin ec5962a8a2
Pipeline task property for Azure RM connection info (#65)
* Adding support for Azure subscription connection to devops task

* only works for Azure Resource Manager api calls

* request must have matching tenant guid
2018-10-11 18:30:27 -07:00
Srikar Mutnuri 26e4997cb4 Wrong link for Linux tarball (#64)
Edited the link for Linux installation download to point to the tarball, instead of the windows zip.
2018-10-11 11:03:52 -07:00
Louis DeJardin b4c97d45d9
Fixing a bug in listkeys.yaml template files (#63)
* Fixing a bug in listkeys.yaml template files

* `secret:` needs `result.body.` in the jmespath to find the secrets
2018-10-10 14:36:39 -07:00
Louis DeJardin 075bcfbf1f
Https paths for workflow argument (#62)
* Adding blueprint provider for https paths

* enables you to deploy with a publc url as the workflow argument
* logs references to template files as they're used, like any http calls
* github repo urls are re-written as the corresponding raw file location

* Updating readme to show running from url in Getting Started

Resolves #59
2018-10-10 12:52:23 -07:00
Praveen Thirumurugan 04848c3c88 Updated Tutorial Folder from Hello to Demo (#61) 2018-10-10 08:46:34 -07:00
Ajay Saxena 0e4287a674 Adding descriptions to top level commands (#58)
* Initial commit for adding descriptions to top level commands

* Updated descriptions

Resolves #33
2018-10-10 00:06:52 -07:00
Louis DeJardin 83a65a6514
Catch exceptions (#54)
* Implimenting conditional catch with exception details

* Testing for catching result status codes in particular
* Catch can add output to working memory from result and error details
* Catch can stop errors conditionally by jmespath expression
* Improving the exception thrown by response status code
* Adds a request and response to the exception
* adds error.type.name and error.type.fullName properties
2018-10-09 13:51:05 -07:00
Louis DeJardin c4248fa1aa
Adding values to working memory by default. (#57)
* Makes `values: {{{ json }}}` at the top of a workflow unnecessary.
2018-10-08 07:53:24 -07:00
Batyr Nuryyev dcb67cebcb Add JMESPath support for operation write property (#56)
* Added jmespath support for operation write property

* Fix variable in the path
2018-10-08 07:48:20 -07:00
Batyr Nuryyev 50c9965e11 Adds atlas.sh in the Readme (#55)
* Adds atlas.sh in the Readme

* Add dotnet restore for a clean install

Resolves #49
2018-10-07 15:17:34 -07:00
Louis DeJardin 0f192b7e9f
Fixing example 402 following recent change (#53) 2018-10-05 15:19:26 -07:00
Louis DeJardin 1028a4927c
Moving operation result to a sub-object for output query (#52)
* enables a request or template operation to query from existing
working memory as well as the operation's result data

* adds result.status and result.headers.*[*] for request operation

* request.secret also uses result as starting point, so response
headers may be redacted
2018-10-05 15:10:34 -07:00