PowerShell client for OpenStack, built on the OpenStack.NET SDK v1
PowerShell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.vs/PoshStack/v14
Examples
Scripts
bin
.gitignore
PoshStack-Identity.psm1
PoshStack-Init.ps1
PoshStack-OpenStackBlockStorage.psm1
PoshStack-OpenStackCloudQueues.psm1
PoshStack-OpenStackCompute.psm1
PoshStack-OpenStackDNS.psm1
PoshStack-OpenStackDatabases.psm1
PoshStack-OpenStackNetworks.psm1
PoshStack-OpenStackObjectStorage.psm1
PoshStack.nuspec
PoshStack.psd1
PoshStack.pssproj
PoshStack.sln
PoshStackMaster.psm1
Profile.ps1
README.md
poshstack_getting_started_guide.md

README.md

Stories in Ready #PoshStack

Join the chat at https://gitter.im/DonSchenck/PoshStack

#Description PoshStack is a Microsoft PowerShell v3 (or higher) client for OpenStack, built on the OpenStack.NET SDK v1.

The goal of this project is to give complete command line access to the OpenStack automation environment from the Windows PowerShell client, allowing Windows system administrators, DevOps engineers and developers to easily and quickly manage and automate their work.

Installation is so easy...

Prerequisite

PoshStack requires Windows Management Framework 3.0 (or newer).

Installation and Configuration

Installation requires two steps: Install and Configure. PoshStack is installed using PsGet

Install

Open a PowerShell prompt and run the following two lines:

(new-object Net.WebClient).DownloadString("http://psget.net/GetPsGet.ps1") | Invoke-Expression
install-module PoshStack

Configure

Important Note: The CloudAccounts.csv file location and name is specified in the user profile, using the variable "$openstackAccounts". See the included file profile.ps1 for an example

Update the CloudAccounts.csv file with your cloud account credentials:

  • Type - Is this account targeting Rackspace, specifically, or another OpenStack provider? Valid entries are "Rackspace" or "OpenStack".
  • AccountName - User-defined name for the account. This can be pretty much anything you desire, and it's only used in the context of PoshStack. For example, you may choose to name the accounts based on the default regions you assign to them. This CloudName is not the same as your CloudUsername.
  • CloudUsername - This is your Rackspace or Openstack user name.
  • CloudPassword - This is your password. This is not used for Rackspace type accounts.
  • CloudAPIKey - This is your API key. This is not used for OpenStack type accounts.
  • IdentityEndpointUri - This is the endpoint. It is required for OpenStack type accounts. It is not used for Rackspace type accounts.
  • CloudDDI - This is your account number.
  • Region - This is your default region. Hint: For DevStack, this is "RegionOne".

You can see your cloud accounts configuration by running

Show-OpenStackAccounts
An example of the contents of CloudAccounts.csv

Type,AccountName,CloudUsername,CloudPassword,CloudAPIKey,IdentityEndpointUri,Region,TenantId Rackspace,rackIAD,username_here,password_here,apikey_here,foo,IAD,123456 Rackspace,rackDFW,username_here,password_here,apikey_here,foo,dfw,123456 Rackspace,rackORD,username_here,password_here,apikey_here,foo,ord,123456 OpenStack,devstack,username_here,password_here,foo,http://99.99.99.99:5000/v2.0/tokens/,RegionOne,username_here

Contributing is a cinch as well...

Make your contribution to the goodness. Fork the code, pick an issue, and get coding. If you're unsure where to start or what it all means, choose an issue and leave a comment, asking for assistance.