@Override
 public @Nonnull String[] mapServiceAction(@Nonnull ServiceAction action) {
   if (action.equals(BlobStoreSupport.ANY)) {
     return new String[] {GlacierMethod.GLACIER_PREFIX + "*"};
   } else if (action.equals(BlobStoreSupport.CREATE_BUCKET)) {
     return new String[] {GlacierMethod.GLACIER_PREFIX + "CreateVault"};
   } else if (action.equals(BlobStoreSupport.GET_BUCKET)) {
     return new String[] {GlacierMethod.GLACIER_PREFIX + "DescribeVault"};
   } else if (action.equals(BlobStoreSupport.LIST_BUCKET)) {
     return new String[] {GlacierMethod.GLACIER_PREFIX + "ListVaults"};
   } else if (action.equals(BlobStoreSupport.REMOVE_BUCKET)) {
     return new String[] {GlacierMethod.GLACIER_PREFIX + "DeleteVault"};
   } else if (action.equals(BlobStoreSupport.UPLOAD)) {
     return new String[] {GlacierMethod.GLACIER_PREFIX + "UploadArchive"};
   } else if (action.equals(OfflineStoreSupport.CREATE_REQUEST)) {
     return new String[] {GlacierMethod.GLACIER_PREFIX + "InitiateJob"};
   } else if (action.equals(OfflineStoreSupport.GET_REQUEST)) {
     return new String[] {GlacierMethod.GLACIER_PREFIX + "DescribeJob"};
   } else if (action.equals(OfflineStoreSupport.LIST_REQUEST)) {
     return new String[] {GlacierMethod.GLACIER_PREFIX + "ListJobs"};
   } else if (action.equals(OfflineStoreSupport.GET_REQUEST_RESULT)) {
     return new String[] {GlacierMethod.GLACIER_PREFIX + "GetJobOutput"};
   }
   return new String[0];
 }
 @Override
 public @Nonnull String[] mapServiceAction(@Nonnull ServiceAction action) {
   if (action.equals(VPNSupport.ANY)) {
     return new String[] {EC2Method.EC2_PREFIX + "*"};
   } else if (action.equals(VPNSupport.ATTACH)) {
     return new String[] {EC2Method.EC2_PREFIX + EC2Method.ATTACH_VPN_GATEWAY};
   } else if (action.equals(VPNSupport.CREATE_GATEWAY)) {
     return new String[] {EC2Method.EC2_PREFIX + EC2Method.CREATE_CUSTOMER_GATEWAY};
   } else if (action.equals(VPNSupport.CREATE_VPN)) {
     return new String[] {EC2Method.EC2_PREFIX + EC2Method.CREATE_VPN_GATEWAY};
   } else if (action.equals(VPNSupport.GET_GATEWAY) || action.equals(VPNSupport.LIST_GATEWAY)) {
     return new String[] {
       EC2Method.EC2_PREFIX + EC2Method.DESCRIBE_CUSTOMER_GATEWAYS,
       EC2Method.EC2_PREFIX + EC2Method.DESCRIBE_VPN_CONNECTIONS
     };
   } else if (action.equals(VPNSupport.GET_VPN) || action.equals(VPNSupport.LIST_VPN)) {
     return new String[] {
       EC2Method.EC2_PREFIX + EC2Method.DESCRIBE_VPN_GATEWAYS,
       EC2Method.EC2_PREFIX + EC2Method.DESCRIBE_VPN_CONNECTIONS
     };
   } else if (action.equals(VPNSupport.REMOVE_GATEWAY)) {
     return new String[] {EC2Method.EC2_PREFIX + EC2Method.DELETE_CUSTOMER_GATEWAY};
   } else if (action.equals(VPNSupport.REMOVE_VPN)) {
     return new String[] {EC2Method.EC2_PREFIX + EC2Method.DELETE_VPN_GATEWAY};
   } else if (action.equals(VPNSupport.DETACH)) {
     return new String[] {EC2Method.EC2_PREFIX + EC2Method.DETACH_VPN_GATEWAY};
   }
   return new String[0];
 }