Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-11-15 Thread Ignasi Barrera
Merged and published

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#issuecomment-439219335

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-11-15 Thread Ignasi Barrera
Closed #220.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#event-1969963497

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-11 Thread jclouds-commentator
  Go to 
http://70d990968f075210bd8a-9c548d37cb8b0242bf79fec2ca7da7fc.r52.cf5.rackcdn.com/
 to review your changes.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#issuecomment-428981270

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-11 Thread Trevor Flanagan
@trevorflanagan pushed 1 commit.

ba16be9  JCLOUDS-1458 Create Dimension Data Provider Guide - handling code 
review comments.


-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220/files/2f7f11faed4a9bd3619422e17c19c1ebfa021cd5..ba16be9bafe624e06611eee793f75bd12a7794b3


Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-11 Thread Trevor Flanagan
trevorflanagan commented on this pull request.



> +
+{% highlight java %}
+/*
+ * Deploy Network Domain to the Zone / Datacenter we wish to operate on. The 
response from this API is the Network Domain Identifier.
+ */
+String networkDomainId = api.getNetworkApi().deployNetworkDomain(AU9, 
"jclouds-example", "jclouds-example", "ESSENTIALS");
+{% endhighlight %}
+
+A Network Domain deployment is an asynchronous process. We need to wait for it 
to complete. The Dimension Data provider
+has built in google guice predicates that will block execution and check that 
the Network Domain's State has moved from `PENDING_ADD` to `NORMAL`.
+
+The following is some example code that shows how the to use predicate 
suitable for asserting a Network Domain state has transitioned to the `NORMAL` 
state. The predicate uses the Network Domain Identifier we wish to check the 
state of.
+{% highlight java %}
+Predicate networkDomainNormalPredicate = 
injector.getInstance(Key.get(new TypeLiteral>()
+{
+}, Names.named(NETWORK_DOMAIN_NORMAL_PREDICATE)));

@nacx I understand. In fact our plan was to make this change during the past 
week or two but ran out of time (we have an internal jira for it). I will 
adjust the docs to show what this will eventually look like. Appreciate your 
time on this PR.

One question - is there a planned release date for 2.2.0?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#discussion_r224471761

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-11 Thread Ignasi Barrera
nacx commented on this pull request.



> +
+{% highlight java %}
+/*
+ * Deploy Network Domain to the Zone / Datacenter we wish to operate on. The 
response from this API is the Network Domain Identifier.
+ */
+String networkDomainId = api.getNetworkApi().deployNetworkDomain(AU9, 
"jclouds-example", "jclouds-example", "ESSENTIALS");
+{% endhighlight %}
+
+A Network Domain deployment is an asynchronous process. We need to wait for it 
to complete. The Dimension Data provider
+has built in google guice predicates that will block execution and check that 
the Network Domain's State has moved from `PENDING_ADD` to `NORMAL`.
+
+The following is some example code that shows how the to use predicate 
suitable for asserting a Network Domain state has transitioned to the `NORMAL` 
state. The predicate uses the Network Domain Identifier we wish to check the 
state of.
+{% highlight java %}
+Predicate networkDomainNormalPredicate = 
injector.getInstance(Key.get(new TypeLiteral>()
+{
+}, Names.named(NETWORK_DOMAIN_NORMAL_PREDICATE)));

My intention with the comment was to make this more usable by extracting the 
whole `Key` object into a constant, not just the string. This way users 
wouldn't need to build this ugly construct.

However, if it makes sense to expose this predicate to users, then it's better 
to add the following method to the `NetworkApi` interface:
```java
@Provides
@Named("NETWORK_DOMAIN_NORMAL_PREDICATE")
Predicate networkDomainNormalPredicate();
```

This way useres can jsut get it with `api. 
getNetworkApi().networkDomainNormalPredicate()` (the `@Provides` annotation 
does the magic here), which makes much more sense and is more usable. Apply the 
same pattern to the other user-facing predicates and their corresponding API 
interfaces.

Feel free to open a PR in the provider to add these methods, but let's change 
the docs now and move forward.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#pullrequestreview-163828272

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-11 Thread jclouds-commentator
  Go to 
http://9ca7d3582b9c98bb7831-da204afdf4a5179afae59121cbb46ec0.r0.cf5.rackcdn.com/
 to review your changes.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#issuecomment-428912657

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-11 Thread Trevor Flanagan
@trevorflanagan pushed 1 commit.

2f7f11f  JCLOUDS-1458 Create Dimension Data Provider Guide - correcting the 
artifact id.


-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220/files/b13ec1fd226ca3e9c6621357729c26f298f4ee43..2f7f11faed4a9bd3619422e17c19c1ebfa021cd5


Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-11 Thread Trevor Flanagan
trevorflanagan commented on this pull request.



> @@ -69,6 +69,11 @@ The Maven Group ID for all supported providers below is 
> [org.apache.jclouds.prov
 digitalocean
 
 
+
+Dimension Data*

I think this is all that you require @nacx ?


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#pullrequestreview-163735971

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-11 Thread jclouds-commentator
  Go to 
http://8a95420fbf433646c291-b5a21ac7a2034c81ca27936639187c4c.r64.cf5.rackcdn.com/
 to review your changes.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#issuecomment-428869393

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-11 Thread Trevor Flanagan
@trevorflanagan pushed 1 commit.

b13ec1f  JCLOUDS-1458 Create Dimension Data Provider Guide


-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220/files/dfc01f088e10e19ed542d279ba002289bdb28775..b13ec1fd226ca3e9c6621357729c26f298f4ee43


Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-11 Thread Trevor Flanagan
trevorflanagan commented on this pull request.



> +{% highlight java %}
+/*
+ * Deploy Network Domain to the Zone / Datacenter we wish to operate 
on. The response from this API is the Network Domain Identifier.
+ */
+String networkDomainId = api.getNetworkApi().deployNetworkDomain(AU9, 
"jclouds-example", "jclouds-example", "ESSENTIALS");
+{% endhighlight %}
+
+A Network Domain deployment is an asynchronous process. We need to wait for it 
to complete. The Dimension Data provider
+has built in google guice predicates that will block execution and check that 
the Network Domain's State has moved from PENDING_ADD to NORMAL.
+
+Following is some example code that shows how the to use predicate suitable 
for asserting a Network Domain state has transitioned to the NORMAL state. The 
predicate uses the Network Domain Identifier we wish to check the state of.
+{% highlight java %}
+Injector injector = contextBuilder.buildInjector();
+Predicate networkDomainNormalPredicate = 
injector.getInstance(Key.get(new TypeLiteral>()
+{
+}, Names.named("NETWORK_DOMAIN_NORMAL_PREDICATE")));

Fair point, its not done here :-), but it is done in the java class where the 
example came from. I will make the relevant updates.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#discussion_r224352707

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-11 Thread Ignasi Barrera
Could you also add the provider in the providers page, and link to the guide?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#issuecomment-428854692

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-11 Thread Ignasi Barrera
nacx commented on this pull request.



> +
+Dimension Data CloudControl allows for Tags to be applied to assets. There are 
two parts to the tagging process, first a tag key needs to be created, second 
the tag key is applied to an asset. 
+
+Create a tag key. We will use this to tag the assets that we create.
+{% highlight java %}
+String tagKeyId = api.getTagApi().createTagKey("jclouds", "owner of 
the asset", true, false);
+{% endhighlight %}
+
+Follows is the sample code for applying a Tag to the Server. We use AssetType 
SERVER. Pass in the tagKeyId and a value that we want to associate, in this 
case jclouds.
+{% highlight java %}
+api.getTagApi().applyTags(serverId, "SERVER", 
Collections.singletonList(TagInfo.create(tagKeyId, "jclouds")));
+{% endhighlight %}
+
+The full set of AssetTypes are SERVER, NETWORK_DOMAIN, VLAN, CUSTOMER_IMAGE, 
PUBLIC_IP_BLOCK or ACCOUNT.
+
+## Examples:

Instead of doing this, I'd just add one line saying that further and more 
detailed examples can be found in the examples repo under the `dimensiondata` 
folder. Just one line. Otherwise, are we going to add every example we may add 
here? Let's just add that note.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#discussion_r224345951

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-11 Thread Ignasi Barrera
nacx commented on this pull request.



> +{% highlight java %}
+/*
+ * Deploy Network Domain to the Zone / Datacenter we wish to operate 
on. The response from this API is the Network Domain Identifier.
+ */
+String networkDomainId = api.getNetworkApi().deployNetworkDomain(AU9, 
"jclouds-example", "jclouds-example", "ESSENTIALS");
+{% endhighlight %}
+
+A Network Domain deployment is an asynchronous process. We need to wait for it 
to complete. The Dimension Data provider
+has built in google guice predicates that will block execution and check that 
the Network Domain's State has moved from PENDING_ADD to NORMAL.
+
+Following is some example code that shows how the to use predicate suitable 
for asserting a Network Domain state has transitioned to the NORMAL state. The 
predicate uses the Network Domain Identifier we wish to check the state of.
+{% highlight java %}
+Injector injector = contextBuilder.buildInjector();
+Predicate networkDomainNormalPredicate = 
injector.getInstance(Key.get(new TypeLiteral>()
+{
+}, Names.named("NETWORK_DOMAIN_NORMAL_PREDICATE")));

Is it actually done?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#discussion_r224345465

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-11 Thread jclouds-commentator
  Go to 
http://0dbe6aa2010efbcebaa1-1c9655684642689b76e7e9f1381a1c37.r15.cf5.rackcdn.com/
 to review your changes.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#issuecomment-428853991

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-11 Thread Trevor Flanagan
@trevorflanagan pushed 1 commit.

dfc01f0  JCLOUDS-1458 Create Dimension Data Provider Guide


-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220/files/c43833ba02909532e34551dec348c17bb72e089c..dfc01f088e10e19ed542d279ba002289bdb28775


Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-11 Thread jclouds-commentator
  Go to 
http://19e02f0e3cef44b5eb11-580d706b8c642fcfc10fe48652be90dc.r60.cf5.rackcdn.com/
 to review your changes.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#issuecomment-428851837

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-11 Thread Trevor Flanagan
@trevorflanagan pushed 1 commit.

c43833b  JCLOUDS-1458 Create Dimension Data Provider Guide


-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220/files/0b140b717e775cad1f84d7d5815c5078b742352b..c43833ba02909532e34551dec348c17bb72e089c


Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread jclouds-commentator
  Go to 
http://18609a7ef3ac4c75a21c-793bfbe9e44287970dcbcb804c93094e.r66.cf5.rackcdn.com/
 to review your changes.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#issuecomment-428654668

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread Trevor Flanagan
@trevorflanagan pushed 1 commit.

0b140b7  JCLOUDS-1458 Create Dimension Data Provider Guide


-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220/files/3c76242c85565298c74c86f6e45482b699435a54..0b140b717e775cad1f84d7d5815c5078b742352b


Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread jclouds-commentator
  Go to 
http://ef4a4e2541959859528a-c8a2a6c91a1f49a5cab6765d7d3ab6fa.r94.cf5.rackcdn.com/
 to review your changes.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#issuecomment-428653862

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread Trevor Flanagan
@trevorflanagan pushed 1 commit.

3c76242  JCLOUDS-1458 Create Dimension Data Provider Guide


-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220/files/4fef5ecba8e6e06f75443daf1c33f1b112061ebe..3c76242c85565298c74c86f6e45482b699435a54


Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread jclouds-commentator
  Go to 
http://49397c6acbcea17a2367-5bcc5bd927e56f98a69f0d058796dd97.r79.cf5.rackcdn.com/
 to review your changes.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#issuecomment-428649844

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread jclouds-commentator
  Go to 
http://59dadb46f52654dd828d-40841dd8d990a77fc86724dd7fe1da72.r10.cf5.rackcdn.com/
 to review your changes.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#issuecomment-428649017

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread Trevor Flanagan
@trevorflanagan pushed 1 commit.

4fef5ec  JCLOUDS-1458 Create Dimension Data Provider Guide


-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220/files/d934ee619d86bbc70b956ad288717fbd87f39f4f..4fef5ecba8e6e06f75443daf1c33f1b112061ebe


Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread Trevor Flanagan
@trevorflanagan pushed 1 commit.

d934ee6  JCLOUDS-1458 Create Dimension Data Provider Guide


-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220/files/2fa987f00dd8f41f828a41a1a5c7e97373cfcdb2..d934ee619d86bbc70b956ad288717fbd87f39f4f


Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread Trevor Flanagan
@trevorflanagan pushed 1 commit.

2fa987f  JCLOUDS-1458 Create Dimension Data Provider Guide


-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220/files/2e28c0bbd61165e98d47dfadf37a03d8e8a84b79..2fa987f00dd8f41f828a41a1a5c7e97373cfcdb2


Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread jclouds-commentator
  Go to 
http://589f69ff0a8b89655a72-868bb2ecf1d58a4dcb21a8a2d8507ce5.r21.cf5.rackcdn.com/
 to review your changes.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#issuecomment-428647954

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread Trevor Flanagan
@trevorflanagan pushed 5 commits.

e9793c0  JCLOUDS-1458 Create Dimension Data Provider Guide
c0011df  JCLOUDS-1458 Create Dimension Data Provider Guide
c3f804f  JCLOUDS-1458 Create Dimension Data Provider Guide
bb2b4c6  JCLOUDS-1458 Create Dimension Data Provider Guide
2e28c0b  JCLOUDS-1458 Create Dimension Data Provider Guide


-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220/files/65f45b3d3fd884683ade906f78685dd0679c01d2..2e28c0bbd61165e98d47dfadf37a03d8e8a84b79


Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread jclouds-commentator
  Go to 
http://dfd4808121dde423a735-63314837b32833fb4e285cc967cd4941.r53.cf5.rackcdn.com/
 to review your changes.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#issuecomment-428641876

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread Trevor Flanagan
trevorflanagan commented on this pull request.



> +
+Dimension Data CloudControl allows for Tags to be applied to assets. There are 
two parts to the tagging process, first a tag key needs to be created, second 
the tag key is applied to an asset. 
+
+Create a tag key. We will use this to tag the assets that we create.
+{% highlight java %}
+String tagKeyId = api.getTagApi().createTagKey("jclouds", "owner of 
the asset", true, false);
+{% endhighlight %}
+
+Follows is the sample code for applying a Tag to the Server. We use AssetType 
SERVER. Pass in the tagKeyId and a value that we want to associate, in this 
case jclouds.
+{% highlight java %}
+api.getTagApi().applyTags(serverId, "SERVER", 
Collections.singletonList(TagInfo.create(tagKeyId, "jclouds")));
+{% endhighlight %}
+
+The full set of AssetTypes are SERVER, NETWORK_DOMAIN, VLAN, CUSTOMER_IMAGE, 
PUBLIC_IP_BLOCK or ACCOUNT.
+
+## Examples:

I have updated with the assumed links to master (when the 
https://github.com/jclouds/jclouds-examples/pull/94 is merged)

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#discussion_r224152671

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread Trevor Flanagan
trevorflanagan commented on this pull request.



> +
+## How to: Deploy a Network Domain
+
+For more information on Network Domains see 
[here](https://docs.mcp-services.net/display/CCD/Introduction+to+Cloud+Network+Domains+and+VLANs)
+
+The code to deploy a network domain follows.
+
+{% highlight java %}
+/*
+ * Deploy Network Domain to the Zone / Datacenter we wish to operate 
on. The response from this API is the Network Domain Identifier.
+ */
+String networkDomainId = api.getNetworkApi().deployNetworkDomain(AU9, 
"jclouds-example", "jclouds-example", "ESSENTIALS");
+{% endhighlight %}
+
+A Network Domain deployment is an asynchronous process. We need to wait for it 
to complete. The Dimension Data provider
+has built in google guice predicates that will block execution and check that 
the Network Domain's State has moved from PENDING_ADD to NORMAL.

Done

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#discussion_r224152381

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread Trevor Flanagan
trevorflanagan commented on this pull request.



> +{% endhighlight %}
+
+A Vlan deployment is an asynchronous process. We need to wait for it to 
complete. The Dimension Data provider has built in predicates that will block 
execution and check that the Vlan's State has moved from PENDING_ADD to NORMAL.
+
+Following is some example code that shows how the to use predicate suitable 
for asserting a Vlan state has transitioned to the NORMAL state. The predicate 
uses the Vlan Identifier we wish to check the state of.
+{% highlight java %}
+Injector injector = contextBuilder.buildInjector();
+Predicate vlanNormalPredicate = 
injector.getInstance(Key.get(new TypeLiteral>()
+{
+}, Names.named("VLAN_NORMAL_PREDICATE")));
+vlanNormalPredicate.apply(vlanId);
+{% endhighlight %}
+
+## How to: List Os Images
+
+For more information on Os Images see 
[here](https://docs.mcp-services.net/display/CCD/Introduction+to+MCP+2.0+Data+Center+Locations#IntroductiontoMCP2.0DataCenterLocations-CloudImagesandServers)

Done

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#discussion_r224152402

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread Trevor Flanagan
trevorflanagan commented on this pull request.



> +
+A Network Domain deployment is an asynchronous process. We need to wait for it 
to complete. The Dimension Data provider
+has built in google guice predicates that will block execution and check that 
the Network Domain's State has moved from PENDING_ADD to NORMAL.
+
+Following is some example code that shows how the to use predicate suitable 
for asserting a Network Domain state has transitioned to the NORMAL state. The 
predicate uses the Network Domain Identifier we wish to check the state of.
+{% highlight java %}
+Injector injector = contextBuilder.buildInjector();
+Predicate networkDomainNormalPredicate = 
injector.getInstance(Key.get(new TypeLiteral>()
+{
+}, Names.named("NETWORK_DOMAIN_NORMAL_PREDICATE")));
+networkDomainNormalPredicate.apply(networkDomainId);
+{% endhighlight %}
+
+## How to: Deploy a Vlan
+
+For more information on Vlans see 
[here](https://docs.mcp-services.net/display/CCD/Introduction+to+Cloud+Network+Domains+and+VLANs)

Done


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#discussion_r224152360

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread Trevor Flanagan
trevorflanagan commented on this pull request.



> +{% highlight java %}
+/*
+ * Deploy Network Domain to the Zone / Datacenter we wish to operate 
on. The response from this API is the Network Domain Identifier.
+ */
+String networkDomainId = api.getNetworkApi().deployNetworkDomain(AU9, 
"jclouds-example", "jclouds-example", "ESSENTIALS");
+{% endhighlight %}
+
+A Network Domain deployment is an asynchronous process. We need to wait for it 
to complete. The Dimension Data provider
+has built in google guice predicates that will block execution and check that 
the Network Domain's State has moved from PENDING_ADD to NORMAL.
+
+Following is some example code that shows how the to use predicate suitable 
for asserting a Network Domain state has transitioned to the NORMAL state. The 
predicate uses the Network Domain Identifier we wish to check the state of.
+{% highlight java %}
+Injector injector = contextBuilder.buildInjector();
+Predicate networkDomainNormalPredicate = 
injector.getInstance(Key.get(new TypeLiteral>()
+{
+}, Names.named("NETWORK_DOMAIN_NORMAL_PREDICATE")));

Done

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#discussion_r224152328

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread Trevor Flanagan
trevorflanagan commented on this pull request.



> +
+The code to deploy a network domain follows.
+
+{% highlight java %}
+/*
+ * Deploy Network Domain to the Zone / Datacenter we wish to operate 
on. The response from this API is the Network Domain Identifier.
+ */
+String networkDomainId = api.getNetworkApi().deployNetworkDomain(AU9, 
"jclouds-example", "jclouds-example", "ESSENTIALS");
+{% endhighlight %}
+
+A Network Domain deployment is an asynchronous process. We need to wait for it 
to complete. The Dimension Data provider
+has built in google guice predicates that will block execution and check that 
the Network Domain's State has moved from PENDING_ADD to NORMAL.
+
+Following is some example code that shows how the to use predicate suitable 
for asserting a Network Domain state has transitioned to the NORMAL state. The 
predicate uses the Network Domain Identifier we wish to check the state of.
+{% highlight java %}
+Injector injector = contextBuilder.buildInjector();

Done

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#discussion_r224152300

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread Trevor Flanagan
trevorflanagan commented on this pull request.



> +
+## Concepts
+
+The jclouds library wraps the [Dimension Data CloudControl 
API](https://docs.mcp-services.net/display/DEV/Welcome+to+the+CloudControl+documentation+portal).
 All operations are performed over SSL and authenticated using your Dimension 
Data CloudControl credentials. The API can be accessed directly over the 
Internet from any application that can send an HTTPS request and receive an 
HTTPS response.
+
+
+## Getting Started
+
+Before you begin you will need to have a Dimension Data CloudControl account 
for your organization. The credentials will be used to authenticate against the 
API.
+
+The Dimension Data CloudControl provider supports [API version 
2.4](https://docs.mcp-services.net/display/CCD/Understanding+API+v0.9+vs.+API+v2)
 and [MCP 2.0 
datacenters](https://docs.mcp-services.net/display/CCD/Introduction+to+MCP+2.0+Data+Center+Locations)
 only. 
+
+Upgrading to later versions is planned and in progress, see 
[JCLOUDS-1456](https://issues.apache.org/jira/browse/JCLOUDS-1456) and 
[JCLOUDS-1407](https://issues.apache.org/jira/browse/JCLOUDS-1407) for current 
progress.
+
+ 
+### Installation

Done

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#discussion_r224152211

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread Trevor Flanagan
@trevorflanagan pushed 1 commit.

65f45b3  JCLOUDS-1458 Create Dimension Data Provider Guide


-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220/files/74b352415306028ebdb90bb90fb4d006a163ab21..65f45b3d3fd884683ade906f78685dd0679c01d2


Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread Trevor Flanagan
trevorflanagan commented on this pull request.



> +
+The Dimension Data CloudControl organization will be associated with one or 
more [MCP 2.0 Data 
Centers](https://docs.mcp-services.net/display/CCD/Introduction+to+MCP+2.0+Data+Center+Locations).
 A Data Center is a container for the assets that will be deployed and created 
by the jclouds Dimension Data CloudControl Provider.
+
+In jclouds terminology a Zone equates to a Data Center.
+
+The following code example shows you how to programmatically list Data 
Centers: 
+
+{% highlight java %}
+ PagedIterable datacenters = 
api.getInfrastructureApi().listDatacenters();
+{% endhighlight %}
+
+This responds with a paged result set containing the Data Centers visible to 
your organization.
+
+## How to: Deploy a Network Domain
+
+For more information on Network Domains see 
[here](https://docs.mcp-services.net/display/CCD/Introduction+to+Cloud+Network+Domains+and+VLANs)

Done

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#discussion_r224152243

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread Trevor Flanagan
trevorflanagan commented on this pull request.



> +### Terms
+Like any cloud provider, Dimension Data CloudControl has its own set of terms 
in cloud computing. To abstract this into jclouds' Compute interface, these 
terms were associated:
+
+- Node - a `Server`
+- Image - both *user-uploaded* and *provided* `CustomerImage` and `OSImage`
+- Location - `Geographic Region` equates to a jclouds Region (AU, NA, EU etc) 
and `Datacenter` equates to a jclouds Zone (NA9, NA12 etc). There is further 
information on the Geographic Regions 
[here](https://docs.mcp-services.net/display/CCD/Introduction+to+Geographic+Regions).
+- Hardware - number of cores, RAM size and storage size for a given Image
+
+### Getting Started
+
+{% highlight java %}
+ComputeService compute = ContextBuilder.newBuilder( 
"dimensiondata-cloudcontrol" )
+ .credentials( "username", "password" )
+ .buildView( ComputeServiceContext.class )
+ .getComputeService();
+{% endhighlight %} 

This is not yet implemented. I am going to leave a note instead to use the 
unrwapped version of the API for now.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#discussion_r224142592

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread Trevor Flanagan
trevorflanagan commented on this pull request.



> +
+--
+
+## Concepts
+
+The jclouds library wraps the [Dimension Data CloudControl 
API](https://docs.mcp-services.net/display/DEV/Welcome+to+the+CloudControl+documentation+portal).
 All operations are performed over SSL and authenticated using your Dimension 
Data CloudControl credentials. The API can be accessed directly over the 
Internet from any application that can send an HTTPS request and receive an 
HTTPS response.
+
+
+## Getting Started
+
+Before you begin you will need to have a Dimension Data CloudControl account 
for your organization. The credentials will be used to authenticate against the 
API.
+
+The Dimension Data CloudControl provider supports [API version 
2.4](https://docs.mcp-services.net/display/CCD/Understanding+API+v0.9+vs.+API+v2)
 and [MCP 2.0 
datacenters](https://docs.mcp-services.net/display/CCD/Introduction+to+MCP+2.0+Data+Center+Locations)
 only. 
+
+Upgrading to later versions is planned and in progress, see 
[JCLOUDS-1456](https://issues.apache.org/jira/browse/JCLOUDS-1456) and 
[JCLOUDS-1407](https://issues.apache.org/jira/browse/JCLOUDS-1407) for current 
progress.
+

Great idea, I will make this adjustment.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#discussion_r224090121

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread Ignasi Barrera
nacx requested changes on this pull request.

Thanks for taking your time to write the docs @trevorflanagan. This is highly 
appreciated!

> +
+--
+
+## Concepts
+
+The jclouds library wraps the [Dimension Data CloudControl 
API](https://docs.mcp-services.net/display/DEV/Welcome+to+the+CloudControl+documentation+portal).
 All operations are performed over SSL and authenticated using your Dimension 
Data CloudControl credentials. The API can be accessed directly over the 
Internet from any application that can send an HTTPS request and receive an 
HTTPS response.
+
+
+## Getting Started
+
+Before you begin you will need to have a Dimension Data CloudControl account 
for your organization. The credentials will be used to authenticate against the 
API.
+
+The Dimension Data CloudControl provider supports [API version 
2.4](https://docs.mcp-services.net/display/CCD/Understanding+API+v0.9+vs.+API+v2)
 and [MCP 2.0 
datacenters](https://docs.mcp-services.net/display/CCD/Introduction+to+MCP+2.0+Data+Center+Locations)
 only. 
+
+Upgrading to later versions is planned and in progress, see 
[JCLOUDS-1456](https://issues.apache.org/jira/browse/JCLOUDS-1456) and 
[JCLOUDS-1407](https://issues.apache.org/jira/browse/JCLOUDS-1407) for current 
progress.
+

Instead of linking to specific issues (which will become obsolete quite soon) 
you could add a generic message and point to a JIRA search on the 
`dimensiondata` label.

> +
+## Concepts
+
+The jclouds library wraps the [Dimension Data CloudControl 
API](https://docs.mcp-services.net/display/DEV/Welcome+to+the+CloudControl+documentation+portal).
 All operations are performed over SSL and authenticated using your Dimension 
Data CloudControl credentials. The API can be accessed directly over the 
Internet from any application that can send an HTTPS request and receive an 
HTTPS response.
+
+
+## Getting Started
+
+Before you begin you will need to have a Dimension Data CloudControl account 
for your organization. The credentials will be used to authenticate against the 
API.
+
+The Dimension Data CloudControl provider supports [API version 
2.4](https://docs.mcp-services.net/display/CCD/Understanding+API+v0.9+vs.+API+v2)
 and [MCP 2.0 
datacenters](https://docs.mcp-services.net/display/CCD/Introduction+to+MCP+2.0+Data+Center+Locations)
 only. 
+
+Upgrading to later versions is planned and in progress, see 
[JCLOUDS-1456](https://issues.apache.org/jira/browse/JCLOUDS-1456) and 
[JCLOUDS-1407](https://issues.apache.org/jira/browse/JCLOUDS-1407) for current 
progress.
+
+ 
+### Installation

Remove this section contents and just point to the=jclouds 
[Install](https://jclouds.apache.org/start/install/) page.

> +### Terms
+Like any cloud provider, Dimension Data CloudControl has its own set of terms 
in cloud computing. To abstract this into jclouds' Compute interface, these 
terms were associated:
+
+- Node - a `Server`
+- Image - both *user-uploaded* and *provided* `CustomerImage` and `OSImage`
+- Location - `Geographic Region` equates to a jclouds Region (AU, NA, EU etc) 
and `Datacenter` equates to a jclouds Zone (NA9, NA12 etc). There is further 
information on the Geographic Regions 
[here](https://docs.mcp-services.net/display/CCD/Introduction+to+Geographic+Regions).
+- Hardware - number of cores, RAM size and storage size for a given Image
+
+### Getting Started
+
+{% highlight java %}
+ComputeService compute = ContextBuilder.newBuilder( 
"dimensiondata-cloudcontrol" )
+ .credentials( "username", "password" )
+ .buildView( ComputeServiceContext.class )
+ .getComputeService();
+{% endhighlight %} 

AFAIK there is no `ComputeSerrvice` implementation yet. Does this work?

> +
+The Dimension Data CloudControl organization will be associated with one or 
more [MCP 2.0 Data 
Centers](https://docs.mcp-services.net/display/CCD/Introduction+to+MCP+2.0+Data+Center+Locations).
 A Data Center is a container for the assets that will be deployed and created 
by the jclouds Dimension Data CloudControl Provider.
+
+In jclouds terminology a Zone equates to a Data Center.
+
+The following code example shows you how to programmatically list Data 
Centers: 
+
+{% highlight java %}
+ PagedIterable datacenters = 
api.getInfrastructureApi().listDatacenters();
+{% endhighlight %}
+
+This responds with a paged result set containing the Data Centers visible to 
your organization.
+
+## How to: Deploy a Network Domain
+
+For more information on Network Domains see 
[here](https://docs.mcp-services.net/display/CCD/Introduction+to+Cloud+Network+Domains+and+VLANs)

[minor] punctuation at the end.

> +The following code example shows you how to programmatically list Data 
> Centers: 
+
+{% highlight java %}
+ PagedIterable datacenters = 
api.getInfrastructureApi().listDatacenters();
+{% endhighlight %}
+
+This responds with a paged result set containing the 

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread jclouds-commentator
  Go to 
http://91b48a972d456b89e214-28ffb5d120641c204869a8ee37f192ce.r58.cf5.rackcdn.com/
 to review your changes.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#issuecomment-428473689

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-10 Thread Trevor Flanagan
@trevorflanagan pushed 1 commit.

74b3524  JCLOUDS-1458 Create Dimension Data Provider Guide


-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220/files/3dd85f6698116976df279c87ea32099dd2f198d5..74b352415306028ebdb90bb90fb4d006a163ab21


Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-09 Thread jclouds-commentator
  Go to 
http://accd3709b7a55da9df0d-c0a64f0a7a230e85fd6006b0aa0dd8ed.r73.cf5.rackcdn.com/
 to review your changes.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#issuecomment-428282079

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-09 Thread DimensionDataDublin
rebuild please

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#issuecomment-428281561

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-09 Thread jclouds-commentator
  Go to 
http://6f26d677a008a480bd27-cf03c8b1a081d6a868473e6763309c09.r65.cf5.rackcdn.com/
 to review your changes.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#issuecomment-428281744

Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-09 Thread Trevor Flanagan
@trevorflanagan pushed 1 commit.

3dd85f6  JCLOUDS-1458 Create Dimension Data Provider Guide


-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220/files/f25a0b2973dc3aa48e260f88c154ba099659eb75..3dd85f6698116976df279c87ea32099dd2f198d5


Re: [jclouds/jclouds-site] JCLOUDS-1458 Create Dimension Data Provider Guide (#220)

2018-10-09 Thread jclouds-commentator
  Go to 
http://216cd6483f2adf366ed9-a13eb3890e9ab55c2c58f293d5274ab2.r70.cf5.rackcdn.com/
 to review your changes.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-site/pull/220#issuecomment-428279149