Comments (2)
We have created an issue in Pivotal Tracker to manage this. You can view the current status of your issue at: http://www.pivotaltracker.com/story/show/64510302
from cli.
@drnic this is an absolutely great question and I'm glad that you're asking it.
One big win from generic.Map
is that it has a .Has(key)
method which allows you to test for the existence of a key in the map and determine whether an integer (for example) is actually zero because the user said "set this to zero" or if that was set by default.
I also think (but am not certain) that manifests are slightly more complicated than a single struct could capture. We support inheritance in manifests, parameters for an application can be provided at the top scope, or for a single application and we also validate the contents of manifests so we can provide helpful error messages to users. The flexible, generic interface Map provides made these features fairly easy to implement. Manifests are really surprisingly complicated -- did you know that the v5 cli had a random number generator for manifests?
There are some higher-order functions built up around generic.Map -- namely Merge and Reduce -- that have been helpful, but I fear they may be slightly too clever and may prove to be difficult to maintain as the requirements around manifests change. Excessive use of this generic.Map pattern is probably a code smell -- I'd think twice before introducing it to more structured models with a well defined schema.
from cli.
Related Issues (20)
- CF CLI binaries unavailable HOT 22
- Cli fails to list repo plugins HOT 6
- cf share-service fails with exit code 1 if it is already shared HOT 2
- cf tasks should print the reason for FAILED tasks HOT 1
- Unmapping route: Something unexpected happened. HOT 3
- Typo in the V8 CLI Installation Guide wiki HOT 1
- Display service offerings metadata
- cf cli slow in large space due to page size of 50 when calling CF API
- 'cf a' should print out available information even if an app process was not found HOT 1
- service key as true JSON
- Publish json schema for cf manifest as to enable IDE coding assist features (completion, syntax validation, inline doc) HOT 1
- Update the cli libraries HOT 1
- Using `cf create-service` with v8 CLI does not consider current targeted space HOT 2
- Output CPU Entitlement metrics rather than the old CPU metric HOT 14
- cf restart [APP] --strategy rolling - getting timeout in spite CF_STARTUP_TIMEOUT env variable set to 15 minutes HOT 2
- `{{` in App Environment Variable values break the `cf env` command HOT 2
- CLI V8 fails to install with the official installation method for Debian and Fedora HOT 13
- CLI V8 fails to install on debian with official installation method HOT 1
- "--wait" option doesn't take effective when "cf update-service"
- More-inclusive name for command HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cli.