blob: 35319e9195ea82a28f36018fcb88284114c8536b [file] [log] [blame]
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.jclouds.savvis.vpdc;
import java.net.URI;
import org.jclouds.providers.BaseProviderMetadata;
/**
* Implementation of {@link org.jclouds.types.ProviderMetadata} for Savvis Symphony VPDC services.
*
* @author Kedar Dave
*/
public class SavvisSymphonyVPDCProviderMetadata extends BaseProviderMetadata {
public SavvisSymphonyVPDCProviderMetadata() {
this(builder()
.id("savvis-symphonyvpdc")
.name("Savvis Symphony VPDC")
.api(new SavvisSymphonyVPDCApiMetadata())
.homepage(URI.create("https://api.savvis.net/doc/spec/api/index.html"))
.console(URI.create("https://www.savvisstation.com"))
/**
* {@inheritDoc}
* list of data centers from savvisstation colocation guide
* https://www.savvisstation.com/DocumentViewer?GUID=a95f0387-cbfe-43eb-b25b-4f2b0f68498f&sessionid=SavvisCCC%3ac9a8984b9655b01916be587e5204b2cf
* Once we have confirmation from Savvis as to what data centers are used for vpdc deployments,
* iso codes for those will be entered here
*
* City Code
* Lithia Springs, GA AT1
* Waltham, MA BO1
* Waltham, MA BO2
* Waltham, MA B03
* Elk Grove Village, IL CH3
* Chicago, IL CH4
* Sterling, VA DC2
* Sterling, VA DC3
* Sterling, VA DC4 Phase I
* Sterling, VA DC4 Phase II
* Fort Worth, TX DL1
* Fort Worth, TX DL2
* El Segundo, CA LA1
* Jersey City, NJ NJ1
* Weehawken, NJ NJ2
* Piscataway, NJ NJ3
* Piscataway, NJ 2nd floor NJ3
* Weehawken, NJ NJ2X
* Irvine, CA OC2
* Santa Clara, CA SC4
* Santa Clara, CA SC5
* Santa Clara, CA SC8
* Santa Clara, CA SC9
* Tukwila, WA 1st floor SE2
* Montreal, Canada MR1
* Toronto, Canada TR1
* Vancouver, Canada VC1
*/
.iso3166Codes("US", "CA"));
}
// below are so that we can reuse builders, toString, hashCode, etc.
// we have to set concrete classes here, as our base class cannot be
// concrete due to serviceLoader
protected SavvisSymphonyVPDCProviderMetadata(ConcreteBuilder builder) {
super(builder);
}
private static class ConcreteBuilder extends Builder<ConcreteBuilder> {
@Override
public SavvisSymphonyVPDCProviderMetadata build() {
return new SavvisSymphonyVPDCProviderMetadata(this);
}
}
public static ConcreteBuilder builder() {
return new ConcreteBuilder();
}
public ConcreteBuilder toBuilder() {
return builder().fromProviderMetadata(this);
}
}