Github user Graeme-Miller commented on a diff in the pull request:
https://github.com/apache/brooklyn-docs/pull/140#discussion_r96874259
--- Diff: guide/ops/locations/_azure-classic.md ---
@@ -0,0 +1,235 @@
+---
+section: Azure Compute Classic
+section_type: inline
+section_position: 2.1
+---
+
+### Azure Compute Classic
+
+Azure is a cloud computing platform and infrastructure created by
Microsoft. Apache Brooklyn includes support for both Azure Classic and Azure
ARM, as
+one of the [Apache jclouds](http://jclouds.org) supported clouds
`Microsoft Azure Compute`.
+
+The two modes of using Azure are the "classic deployment" model and the
newer "resource manager deployment" (ARM)
+model. See
https://azure.microsoft.com/en-gb/documentation/articles/resource-manager-deployment-model/
+for details.
+
+
+#### Setup the Azure credentials
+
+Microsoft Azure requests are signed by SSL certificate. You need to upload
one into your account in order to use an Azure
+location.
+
+{% highlight bash %}
+# create the certificate request
+mkdir -m 700 $HOME/.brooklyn
+openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout
$HOME/.brooklyn/azure.pem -out $HOME/.brooklyn/azure.pem
+# create the p12 file, and note your export password. This will be your
test credentials.
+openssl pkcs12 -export -out $HOME/.brooklyn/azure.p12 -in
$HOME/.brooklyn/azure.pem -name "brooklyn :: $USER"
+# create a cer file
+openssl x509 -inform pem -in $HOME/.brooklyn/azure.pem -outform der -out
$HOME/.brooklyn/azure.cer
+{% endhighlight %}
+
+Finally, upload .cer file to the management console at
https://manage.windowsazure.com/@myId#Workspaces/AdminTasks/ListManagementCertificates
to authorize this certificate.
+
+Please note, you can find the "myId" value for this link by looking at the
URL when logged into the Azure management portal.
+
+**Note**, you will need to use `.p12` format in the `brooklyn.properties`.
+
+
+#### How to configure Apache Brooklyn to use Azure Compute
+
+First, in your `brooklyn.properties` define a location as follows:
+
+{% highlight properties %}
+brooklyn.location.jclouds.azurecompute.identity=$HOME/.brooklyn/azure.p12
+brooklyn.location.jclouds.azurecompute.credential=<P12_EXPORT_PASSWORD>
+brooklyn.location.jclouds.azurecompute.endpoint=https://management.core.windows.net/<YOUR_SUBSCRIPTION_ID>
+brooklyn.location.jclouds.azurecompute.vmNameMaxLength=45
+brooklyn.location.jclouds.azurecompute.jclouds.azurecompute.operation.timeout=120000
+brooklyn.location.jclouds.azurecompute.user=<USER_NAME>
+brooklyn.location.jclouds.azurecompute.password=<PASSWORD>
+{% endhighlight %}
+
+During the VM provisioning, Azure will set up the account with
`<USER_NAME>` and `<PASSWORD>` automatically.
+Notice, `<PASSWORD>` must be a minimum of 8 characters and must contain 3
of the following: a lowercase character, an uppercase
+character, a number, a special character.
+
+To force Apache Brooklyn to use a particular image in Azure, say Ubuntu
14.04.1 64bit, one can add:
+
+
brooklyn.location.jclouds.azurecompute.imageId=b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_1-LTS-amd64-server-20150123-en-us-30GB
+
+From $BROOKLYN_HOME, you can list the image IDs available using the
following command:
+
+ ./bin/client "list-images --location azure-west-europe"
+
+To force Brooklyn to use a particular hardwareSpec in Azure, one can add
something like:
+
+ brooklyn.location.jclouds.azurecompute.hardwareId=BASIC_A2
+
+From $BROOKLYN_HOME, you can list the hardware profile IDs available using
the following command:
+
+ ./bin/client "list-hardware-profiles --location azure-west-europe"
+
+At the time of writing, the classic deployment model has the possible
values shown below.
+See
https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-size-specs/
+for further details, though that description focuses on the new "resource
manager deployment"
+rather than "classic".
+
+ * `Basic_A0` to `Basic_A4`
+ * `Standard_D1` to `Standard_D4`
+ * `Standard_G1` to `Standard_G5`
+ * `ExtraSmall`, `Small`, `Medium`, `Large`, `ExtraLarge`
+
+
+##### Named location
+
+For convenience, you can define a named location, like:
+
+{% highlight properties %}
+brooklyn.location.named.azure-west-europe=jclouds:azurecompute:West Europe
+brooklyn.location.named.azure-west-europe.displayName=Azure West Europe
+brooklyn.location.named.azure-west-europe.imageId=b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_1-LTS-amd64-server-20150123-en-us-30GB
+brooklyn.location.named.azure-west-europe.hardwareId=BASIC_A2
+brooklyn.location.named.azure-west-europe.user=test
+brooklyn.location.named.azure-west-europe.password=MyPassword1!
+{% endhighlight %}
+
+This will create a location named `azure-west-europe`. It will inherit all
the configuration
+defined on `brooklyn.location.jclouds.azurecompute`. It will also augment
and override this
+configuration (e.g. setting the display name, image id and hardware id).
+
+On Linux VMs, The `user` and `password` will create a user with that name
and set its password,
+disabling the normal login user and password defined on the `azurecompute`
location.
+
+
+#### Windows VMs on Azure
+
+The following configuration options are important for provisioning Windows
VMs in Azure:
+
+* `osFamily: windows` tells Apache Brooklyn to consider it as a Windows
machine
+
+* `useJcloudsSshInit: false` tells jclouds to not try to connect to the VM
+
+* `vmNameMaxLength: 15` tells the cloud client to strip the VM to maximum
15 characters.
--- End diff --
should say "strip the VM name"
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---