| /** |
| * 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); |
| } |
| } |