These forums are a place for learning, helping and sharing experiences with others about any of our products. Feel free to ask a question and get answers from our community and our most advanced users.
Note that these are public forums - anyone can view the discussions here.
VISIT OUR DIFFERENT FORUMS:
Announcements > | |
CloudShell > | TestShell > |
Developers > | BI (Business Inteligence) > |
This is where you can suggest your ideas to help and improve the product for everyone.
Please make sure to read the following article before posting a new idea, to get more information about the required information and ideas lifecycle.
Feel free to vote and comment on other ideas to promote them.
Thanks for everyone who suggested the ideas and voted for them.
Find, download and share integrations that can extend and enhance the CloudShell experience.
Integrations have several levels:
Certified - Officially tested and supported by Quali.
Preview - Provides a sneak peek to what the Quali team is developing. Officially supported by Quali. Feel free to experiment and comment, but please take into consideration that it is not yet tested and released.
Community - Integrations shared by community users. Feel free to look into what other users have contributed, please take into consideration that these integrations are not tested by Quali.
To learn more about creating Shells and integrating with CloudShell, use the following links:
CloudShell's Dev Guide > | Configuration Management > |
Getting started with Shells > | Extending CloudShell with Cloud Providers > |
Getting started with Orchestration > | API Guide > |
To share your integration, follow the instructions in this guide >.
Is there a way to programmatically create resource families and models, either through the API or some other means? I didn't see anything in the CloudShell API Reference about this.
Answer by Yaniv Kalsky · Apr 15, 2017 at 07:39 AM
There is no API for creating a family/model.
Although there is a way using packages/package editor, I think it would be best to align with the resource standards, which our out-of-the-box shells also follows.
You can use shellfoundry to create the basic switch/router families with a relevant model (usually per Vendot+OS), while the actual model number will be set in the Model attribute (all should be covered in the dev guide) - or import some of these shells that are relevant to you and continue from there.
Once you have these, it will be a rare case that you need to add a new family/model.
Yaniv
Answer by Jim Pfleger · Apr 17, 2017 at 04:26 PM
Thanks @Yaniv.K. I was planning to use the resource families and models provided by the shells. However CloudShell 8.0 does not come with any shells, families, or models, and the two Gen 2 shells I've installed so far (Cisco-IOS-Router-Shell-2G and Cisco-IOS-Switch-Shell-2G) did not create any resource families or models. From that I assumed that this was part of the changes in 8.0 - that we would be responsible for creating resource families and models, and tying them to shells. Should the Gen 2 shells still create resource families and models?
Answer by Jim Pfleger · Apr 17, 2017 at 04:39 PM
After digging into this more, I found something confusing. When I said that there were no resource families or models, this was from looking the resource manager:
However, if I add a new resource, I get a different list of available families and models:
Where did CS_Router and CS_Switch come from if they're not in the Resource Manager? Should we even be using the Resource Manager in 8.0? (I noticed that it's not on the SDK OVA.)
Answer by Yaniv Kalsky · Apr 17, 2017 at 06:56 PM
The 2nd gen shells are using these CS_ families and are hidden from the resource families tree - this is because they are now being managed by CloudShell and the standards defines them (This is to prevent user changes that will later can cause conflicts).
Once you have a router/switch 2nd gen shell they are added under these families, the shell will just define the model.
Answer by Jim Pfleger · Apr 17, 2017 at 10:21 PM
It seems (at least for the moment) that there are two completely separate hierarchies for resource families and models. If that's the case, where should we add attributes that we want to use globally (ex: "vendor", "city", "state", "country")? We can add them in resource manager for gen 1 shells, but it's not clear where to add them in gen 2 shells. Is there some proto-shell that everything inherits from, where we could safely add attributes that we want to use everywhere?
Answer by Meni Beso · Apr 18, 2017 at 07:09 AM
Hi @jim.pfleger.vz
As Yaniv pointed out, 2nd Gen Shells follow the CloudShell Standrads.
When you create a 2nd Gen Shell, your shell automatically includes the standard families, models and attributes, you don't need to model them by yourself. This process streamlines the development and also guarantees that the shell data model is defined properly - You can read more in the CloudShell 8.0 Dev Guide.
In CloudShell 8.0, to add custom attributes to 2nd Gen Shells you can use the following API functions:
SetCustomShellAttribute
(modelName='', attributeName='', defaultValue='', restrictedValues=[])
RemoveCustomShellAttribute
(modelName='', attributeName='')
First create the attribute in RM client, then use the 'set' API to associate the attribute with the shell.
Answer by Meni Beso · Apr 18, 2017 at 07:38 AM
Jim,
Also, if you are developing the shell by yourself, you can add 'device related' attributes by extending the shell data model. These attributes will extend the standard data model and will be included in the shell package.
These forums are a place for learning, helping and sharing experiences with others about any of our products. Feel free to ask a question and get answers from our community and our most advanced users.
Note that these are public forums - anyone can view the discussions here.
Announcements | |
CloudShell | TestShell |
Developers | BI (Business Inteligence) |
This is where you can suggest your ideas to help and improve the product for everyone.
Please make sure to read the following article before posting a new idea, to get more information about the required information and ideas lifecycle.
Feel free to vote and comment on other ideas to promote them.
Thanks for everyone who suggested the ideas and voted for them.
Find, download and share integrations that can extend and enhance the CloudShell experience.
Integrations have several levels:
Certified - Officially tested and supported by Quali.
Preview - Provides a sneak peek to what the Quali team is developing. Officially supported by Quali. Feel free to experiment and comment, but please take into consideration that it is not yet tested and released.
Community - Integrations shared by community users. Feel free to look into what other users have contributed, please take into consideration that these integrations are not tested by Quali.
To learn more about creating Shells and integrating with CloudShell, use the following links:
CloudShell's Dev Guide | Configuration Management |
Getting started with Shells | Extending CloudShell with Cloud Providers |
Getting started with Orchestration | API Guide |
To share your integration, follow the instructions in this guide.