org.soyatec.windowsazure.management
Class ServiceManagement

java.lang.Object
  extended by org.soyatec.windowsazure.proxy.AbstractProxyDelegate
      extended by org.soyatec.windowsazure.management.ServiceManagement
Direct Known Subclasses:
ServiceManagementRest

public abstract class ServiceManagement
extends AbstractProxyDelegate

The class is to manage storage accounts and hosted services, service deployments, and affinity groups.


Constructor Summary
ServiceManagement(java.lang.String subscriptionId, java.lang.String keyStoreFile, java.lang.String keyStorePassword, java.lang.String trustStoreFile, java.lang.String trustStorePassword, java.lang.String certificateAlias, java.lang.String endPointHost)
          Construct a new ServiceManagement object with a subscription id, store file key, store password key, trust store file, trust store password, certificate alias and endPointHost.
 
Method Summary
abstract  void addCertificate(java.lang.String serviceName, byte[] data, CertificateFormat format, java.lang.String password)
          The Add Certificate operation adds a certificate to the subscription.
abstract  java.lang.String changeDeploymentConfiguration(java.lang.String serviceName, DeploymentSlotType slotType, java.lang.String configurationFileUrl, AsyncResultCallback callback)
          The Change Deployment Configuration operation is to change the configuration of the Deployment.
abstract  java.lang.String changeDeploymentConfiguration(java.lang.String serviceName, java.lang.String deploymentName, java.lang.String configurationFileUrl, AsyncResultCallback callback)
          The Change Deployment Configuration operation is to change the configuration of the Deployment.
abstract  void createAffinityGroup(java.lang.String groupName, java.lang.String label, java.lang.String description, java.lang.String location)
          The Create Affinity Group operation creates a new affinity group for the specified subscription.
abstract  java.lang.String createDeployment(java.lang.String serviceName, DeploymentSlotType slotType, DeploymentConfiguration configuration, AsyncResultCallback callback)
          The Create Deployment operation uploads a new service package and creates a new deployment on staging or production.
abstract  void createHostedService(java.lang.String serviceName, java.lang.String label, java.lang.String description, java.lang.String location, java.lang.String affinityGroup)
          The Create Hosted Service operation creates a new hosted service in Windows Azure.
abstract  void createStorageAccount(java.lang.String accountName, java.lang.String label, java.lang.String description, java.lang.String location, java.lang.String affinityGroup, AsyncResultCallback callback)
          The Create Storage Account operation creates a new storage account in Windows Azure.
abstract  void deleteAffinityGroup(java.lang.String groupName)
          The Delete Affinity Group operation deletes an affinity group in the specified subscription.
abstract  void deleteCertificate(java.lang.String serviceName, java.lang.String thumbprintAlgorithm, java.lang.String thumbprint)
          The Delete Certificate operation deletes a certificate from the subscription's certificate store.
abstract  java.lang.String deleteDeployment(java.lang.String serviceName, DeploymentSlotType slotType, AsyncResultCallback callback)
          The Delete Deployment operation Delete the deployment with the service name, deploymentSlotType and asyncResultCallback.
abstract  java.lang.String deleteDeployment(java.lang.String serviceName, java.lang.String deploymentName, AsyncResultCallback callback)
          The Delete Deployment operation Delete the deployment with the service name, deployment name and asyncResultCallback.
abstract  void deleteHostedService(java.lang.String serviceName)
          The Delete Hosted Service operation deletes the specified hosted service from Windows Azure.
abstract  void deleteStorageAccount(java.lang.String accountName)
          The Delete Storage Account operation deletes the specified storage account from Windows Azure.
abstract  AffinityGroupProperties getAffinityGroupProperties(java.lang.String groupName)
          The Get Affinity Group Properties operation get the Affinity Group Properties with group name.
abstract  Certificate getCertificate(java.lang.String serviceName, java.lang.String thumbprintAlgorithm, java.lang.String thumbprint)
          The Get Certificate operation returns the public data for the specified certificate.
abstract  Deployment getDeployment(java.lang.String serviceName, DeploymentSlotType slotType)
          The Get Deployment operation get the deployment with the service name and deploymentSlotType.
abstract  Deployment getDeployment(java.lang.String serviceName, java.lang.String deploymentName)
          The Get Deployment operation get the deployment with the service name and deployment name.
abstract  HostedServiceProperties getHostedServiceProperties(java.lang.String serviceName, boolean embedDetail)
          The Get Service Properties operation Get the hosted service properties with the service name and embedDetail(true/false).
abstract  int getMaximumThreadCount()
          Get the maximum thead count for polling operation status.
abstract  OperationStatus getOperationStatus(java.lang.String requestId)
          The Get Operation Status Get the operation status with request id.
abstract  int getPollStatusInterval()
          Get the interval in milliseconds for polling operation status in asynchronous operations.
abstract  StorageAccountKey getStorageAccountKeys(java.lang.String serviceName)
          The Get Storage Account Keys operation lists the storage account keys for the specified storage account.
abstract  StorageAccountProperties getStorageAccountProperties(java.lang.String serviceName)
          The Get Storage Account Properties operation get the storage account properties.
 java.lang.String getSubscriptionId()
          Windows aure subscription ID.
 boolean isBlocking()
          Indicate whether the thread will be blocked for some long running operations, such as deployment.
abstract  java.util.List<AffinityGroup> listAffinityGroups()
          The List Affinity Accounts operation lists the affinity groups available under the current subscription.
abstract  java.util.List<Certificate> listCertificates(java.lang.String serviceName)
          The List Certificates operation lists all certificates associated with the specified hosted service.
abstract  java.util.List<HostedService> listHostedServices()
          The List Hosted Services operation lists the hosted services available under the current subscription.
abstract  java.util.List<Location> listLocations()
          The List Locations operation lists all of the data center locations that are valid for your subscription.
abstract  java.util.List<OperatingSystem> listOperatingSystems()
          The List Operating Systems operation lists the versions of the guest operating system that are currently available in Windows Azure.
abstract  java.util.List<OperatingSystemFamily> listOSFamilies()
          The List OS Families operation lists the guest operating system families available in Windows Azure, and also lists the operating system versions available for each family.
abstract  java.util.List<StorageAccount> listStorageAccounts()
          The List Storage Accounts operation lists the storage accounts available under the current subscription.
abstract  java.util.List<SubscriptionOperation> listSubscriptionOperations(java.lang.String startTimeFrame, java.lang.String endTimeFrame)
          The List Subscription Operations operation returns a list of create, update, and delete operations that were performed on a subscription during the specified timeframe.
abstract  java.util.List<SubscriptionOperation> listSubscriptionOperations(java.lang.String startTimeFrame, java.lang.String endTimeFrame, ObjectIdFilter filter, OperationState operationStatus, int limit)
          The List Subscription Operations operation returns a list of create, update, and delete operations that were performed on a subscription during the specified timeframe.
abstract  java.lang.String rebootRoleInstance(java.lang.String serviceName, DeploymentSlotType slotType, java.lang.String roleInstanceName, AsyncResultCallback callback)
          The Reboot Role Instance operation requests a reboot of a role instance that is running in a deployment.
abstract  java.lang.String rebootRoleInstance(java.lang.String serviceName, java.lang.String deploymentName, java.lang.String roleInstanceName, AsyncResultCallback callback)
          The Reboot Role Instance operation requests a reboot of a role instance that is running in a deployment.
abstract  StorageAccountKey regenerateKeys(java.lang.String serviceName, KeyType type)
          The Regenerate Keys operation regenerates the primary or secondary access key for the specified storage account.
abstract  java.lang.String reimageRoleInstance(java.lang.String serviceName, DeploymentSlotType slotType, java.lang.String roleInstanceName, AsyncResultCallback callback)
          The Reimage Role Instance operation requests a reimage of a role instance that is running in a deployment.
abstract  java.lang.String reimageRoleInstance(java.lang.String serviceName, java.lang.String deploymentName, java.lang.String roleInstanceName, AsyncResultCallback callback)
          The Reimage Role Instance operation requests a reimage of a role instance that is running in a deployment.
 void setBlocking(boolean blocking)
          If blocking is true, the thread will be blocked for some long running operations, such as deployment.
abstract  void setMaximumThreadCount(int maximumThreadCount)
          Set the maximum thead count for polling operation status.
abstract  void setPollStatusInterval(int interval)
          Set the interval in milliseconds for polling operation status in asynchronous operations.
abstract  java.lang.String swapDeployment(java.lang.String serviceName, java.lang.String productName, java.lang.String sourceName, AsyncResultCallback callback)
          The Swap Deployment operation is to swap deployment.
abstract  void updateAffinityGroup(java.lang.String groupName, java.lang.String label, java.lang.String description)
          The Update Affinity Group operation updates the label and/or the description for an affinity group for the specified subscription.
abstract  java.lang.String updateDeplymentStatus(java.lang.String serviceName, DeploymentSlotType slotType, UpdateStatus status, AsyncResultCallback callback)
          The Update Deployment Status operation is update the status of the Deployment.
abstract  java.lang.String updateDeplymentStatus(java.lang.String serviceName, java.lang.String deploymentName, UpdateStatus status, AsyncResultCallback callback)
          The Update Deployment Status operation is update the status of the Deployment.
abstract  void updateHostedService(java.lang.String serviceName, java.lang.String label, java.lang.String description)
          The Update Hosted Service operation updates the label and/or the description for a hosted service in Windows Azure.
abstract  void updateStorageAccount(java.lang.String accountName, java.lang.String label, java.lang.String description)
          The Update Storage Account operation updates the label and/or the description for a storage account in Windows Azure.
abstract  java.lang.String upgradeDeployment(java.lang.String serviceName, DeploymentSlotType slotType, UpgradeConfiguration configuration, AsyncResultCallback callback)
          The Upgrade Deployment operation initiates an upgrade.
abstract  java.lang.String upgradeDeployment(java.lang.String serviceName, java.lang.String deploymentName, UpgradeConfiguration configuration, AsyncResultCallback callback)
          The Upgrade Deployment operation initiates an upgrade.
abstract  java.lang.String walkUpgradeDomain(java.lang.String serviceName, DeploymentSlotType slotType, int domainId, AsyncResultCallback callback)
          The Walk Upgrade Domain operation is walk upgrade the deployment.
abstract  java.lang.String walkUpgradeDomain(java.lang.String serviceName, java.lang.String deploymentName, int domainId, AsyncResultCallback callback)
          The Walk Upgrade Domain operation is walk upgrade the deployment.
 
Methods inherited from class org.soyatec.windowsazure.proxy.AbstractProxyDelegate
disableProxy, isProxyEnabled, setProxyConfiguration
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ServiceManagement

public ServiceManagement(java.lang.String subscriptionId,
                         java.lang.String keyStoreFile,
                         java.lang.String keyStorePassword,
                         java.lang.String trustStoreFile,
                         java.lang.String trustStorePassword,
                         java.lang.String certificateAlias,
                         java.lang.String endPointHost)
                  throws java.lang.Exception
Construct a new ServiceManagement object with a subscription id, store file key, store password key, trust store file, trust store password, certificate alias and endPointHost.

Throws:
java.lang.Exception
Method Detail

isBlocking

public boolean isBlocking()
Indicate whether the thread will be blocked for some long running operations, such as deployment.

Returns:
true: is blocking / false: not blocking

setBlocking

public void setBlocking(boolean blocking)
If blocking is true, the thread will be blocked for some long running operations, such as deployment.

Parameters:
blocking -

getSubscriptionId

public java.lang.String getSubscriptionId()
Windows aure subscription ID.

Returns:
the subscriptionId

listHostedServices

public abstract java.util.List<HostedService> listHostedServices()
The List Hosted Services operation lists the hosted services available under the current subscription.

Returns:
hostedServices A list of hosted services available under the current subscription.

createDeployment

public abstract java.lang.String createDeployment(java.lang.String serviceName,
                                                  DeploymentSlotType slotType,
                                                  DeploymentConfiguration configuration,
                                                  AsyncResultCallback callback)
The Create Deployment operation uploads a new service package and creates a new deployment on staging or production.

Note that it is possible to call Create Deployment only for a hosted service that has previously been created.

The Create Deployment operation is an asynchronous operation. To determine whether the management service has finished processing the request, call Get Operation Status.

Parameters:
serviceName - The name of hosted service
slotType - Deployment slot type, either staging or production
configuration - It contains information for deployment, such as service package url, service configuration file, etc.
callback - The callback instance will be notified when the asynchronous operation is completed.
Returns:

getDeployment

public abstract Deployment getDeployment(java.lang.String serviceName,
                                         DeploymentSlotType slotType)
The Get Deployment operation get the deployment with the service name and deploymentSlotType.

Parameters:
serviceName - The name of hosted service
slotType - Deployment slot type, either staging or production
Returns:

getDeployment

public abstract Deployment getDeployment(java.lang.String serviceName,
                                         java.lang.String deploymentName)
The Get Deployment operation get the deployment with the service name and deployment name.

Parameters:
serviceName - The name of hosted service
deploymentName - The name of deployment
Returns:

deleteDeployment

public abstract java.lang.String deleteDeployment(java.lang.String serviceName,
                                                  DeploymentSlotType slotType,
                                                  AsyncResultCallback callback)
The Delete Deployment operation Delete the deployment with the service name, deploymentSlotType and asyncResultCallback.

Parameters:
serviceName - The name of hosted service
slotType - Deployment slot type, either staging or production
callback - The callback instance will be notified when the asynchronous operation is completed.
Returns:

deleteDeployment

public abstract java.lang.String deleteDeployment(java.lang.String serviceName,
                                                  java.lang.String deploymentName,
                                                  AsyncResultCallback callback)
The Delete Deployment operation Delete the deployment with the service name, deployment name and asyncResultCallback.

Parameters:
serviceName - The name of hosted service
deploymentName - The name of deployment
callback - The callback instance will be notified when the asynchronous operation is completed.
Returns:

getHostedServiceProperties

public abstract HostedServiceProperties getHostedServiceProperties(java.lang.String serviceName,
                                                                   boolean embedDetail)
The Get Service Properties operation Get the hosted service properties with the service name and embedDetail(true/false).

Parameters:
serviceName - The name of your hosted service.
embedDetail - When the embedDetail parameter is specified, the management service returns properties for all deployments of the service, as well as for the service itself. The default value is false.
Returns:

getOperationStatus

public abstract OperationStatus getOperationStatus(java.lang.String requestId)
The Get Operation Status Get the operation status with request id.

Parameters:
requestId - the request id of operation
Returns:

listStorageAccounts

public abstract java.util.List<StorageAccount> listStorageAccounts()
The List Storage Accounts operation lists the storage accounts available under the current subscription.

Returns:

listAffinityGroups

public abstract java.util.List<AffinityGroup> listAffinityGroups()
The List Affinity Accounts operation lists the affinity groups available under the current subscription.

Returns:

getStorageAccountKeys

public abstract StorageAccountKey getStorageAccountKeys(java.lang.String serviceName)
The Get Storage Account Keys operation lists the storage account keys for the specified storage account.

Parameters:
serviceName - The name of the desired storage account.
Returns:

regenerateKeys

public abstract StorageAccountKey regenerateKeys(java.lang.String serviceName,
                                                 KeyType type)
The Regenerate Keys operation regenerates the primary or secondary access key for the specified storage account.

Parameters:
serviceName - The name of the desired storage account.
type - Indicate what key should be regenerated.
Returns:

getStorageAccountProperties

public abstract StorageAccountProperties getStorageAccountProperties(java.lang.String serviceName)
The Get Storage Account Properties operation get the storage account properties.

Parameters:
serviceName - The name of the desired storage account.
Returns:

getAffinityGroupProperties

public abstract AffinityGroupProperties getAffinityGroupProperties(java.lang.String groupName)
The Get Affinity Group Properties operation get the Affinity Group Properties with group name.

Parameters:
groupName - The name of the desired affinity group
Returns:

createAffinityGroup

public abstract void createAffinityGroup(java.lang.String groupName,
                                         java.lang.String label,
                                         java.lang.String description,
                                         java.lang.String location)
The Create Affinity Group operation creates a new affinity group for the specified subscription.

Parameters:
groupName - The name of the affinity group that is unique to the subscription.
label - Required. A label for the affinity group. The label may be up to 100 characters in length.
description - Optional. A description for the affinity group. The description may be up to 1024 characters in length.
location - The location where the affinity group will be created. To list available locations, use the List Locations operation.

deleteAffinityGroup

public abstract void deleteAffinityGroup(java.lang.String groupName)
The Delete Affinity Group operation deletes an affinity group in the specified subscription.

Parameters:
groupName - The name of the desired affinity group

updateAffinityGroup

public abstract void updateAffinityGroup(java.lang.String groupName,
                                         java.lang.String label,
                                         java.lang.String description)
The Update Affinity Group operation updates the label and/or the description for an affinity group for the specified subscription.

Parameters:
groupName - The name of the desired affinity group
label - Required. A label for the affinity group. The label may be up to 100 characters in length.
description - Optional. A description for the affinity group. The description may be up to 1024 characters in length.

updateDeplymentStatus

public abstract java.lang.String updateDeplymentStatus(java.lang.String serviceName,
                                                       DeploymentSlotType slotType,
                                                       UpdateStatus status,
                                                       AsyncResultCallback callback)
The Update Deployment Status operation is update the status of the Deployment.

Parameters:
serviceName - The name of hosted service
slotType - Deployment slot type, either staging or production
status - The deployment status, either running or suspended
callback -
Returns:

updateDeplymentStatus

public abstract java.lang.String updateDeplymentStatus(java.lang.String serviceName,
                                                       java.lang.String deploymentName,
                                                       UpdateStatus status,
                                                       AsyncResultCallback callback)
The Update Deployment Status operation is update the status of the Deployment.

Parameters:
serviceName - The name of hosted service
deploymentName - The unique name of your deployment
status - The deployment status, either running or suspended
callback - The callback instance will be notified when the asynchronous operation is completed.
Returns:

upgradeDeployment

public abstract java.lang.String upgradeDeployment(java.lang.String serviceName,
                                                   DeploymentSlotType slotType,
                                                   UpgradeConfiguration configuration,
                                                   AsyncResultCallback callback)
The Upgrade Deployment operation initiates an upgrade. The Upgrade Deployment operation is an asynchronous operation. To determine whether the Management service has finished processing the request, call Get Operation Status.

Parameters:
serviceName - The name of hosted service
slotType - Deployment slot type, either staging or production
configuration - It contains information for upgrade, including the service package url, the role name etc.
callback - The callback instance will be notified when the asynchronous operation is completed.
Returns:

upgradeDeployment

public abstract java.lang.String upgradeDeployment(java.lang.String serviceName,
                                                   java.lang.String deploymentName,
                                                   UpgradeConfiguration configuration,
                                                   AsyncResultCallback callback)
The Upgrade Deployment operation initiates an upgrade. The Upgrade Deployment operation is an asynchronous operation. To determine whether the Management service has finished processing the request, call Get Operation Status.

Parameters:
serviceName - The name of hosted service
deploymentName - The name of deployment
configuration - It contains information for upgrade, including the service package url, the role name etc.
callback - The callback instance will be notified when the asynchronous operation is completed.
Returns:

walkUpgradeDomain

public abstract java.lang.String walkUpgradeDomain(java.lang.String serviceName,
                                                   java.lang.String deploymentName,
                                                   int domainId,
                                                   AsyncResultCallback callback)
The Walk Upgrade Domain operation is walk upgrade the deployment.

Parameters:
serviceName - The name of hosted service
deploymentName - The name of deployment
domainId - An integer value that identifies the upgrade domain to walk. Upgrade domains are identified with a zero-based index: the first upgrade domain has an ID of 0, the second has an ID of 1, and so on.
callback - The callback instance will be notified when the asynchronous operation is completed.
Returns:

walkUpgradeDomain

public abstract java.lang.String walkUpgradeDomain(java.lang.String serviceName,
                                                   DeploymentSlotType slotType,
                                                   int domainId,
                                                   AsyncResultCallback callback)
The Walk Upgrade Domain operation is walk upgrade the deployment.

Parameters:
serviceName - The name of hosted service
slotType - Deployment slot type, either staging or production
domainId - An integer value that identifies the upgrade domain to walk. Upgrade domains are identified with a zero-based index: the first upgrade domain has an ID of 0, the second has an ID of 1, and so on.
callback - The callback instance will be notified when the asynchronous operation is completed.
Returns:

changeDeploymentConfiguration

public abstract java.lang.String changeDeploymentConfiguration(java.lang.String serviceName,
                                                               DeploymentSlotType slotType,
                                                               java.lang.String configurationFileUrl,
                                                               AsyncResultCallback callback)
The Change Deployment Configuration operation is to change the configuration of the Deployment.

Parameters:
serviceName - The name of hosted service
slotType - Deployment slot type, either staging or production
configurationFileUrl - The file path of service configuration file.
callback - The callback instance will be notified when the asynchronous operation is completed.
Returns:

changeDeploymentConfiguration

public abstract java.lang.String changeDeploymentConfiguration(java.lang.String serviceName,
                                                               java.lang.String deploymentName,
                                                               java.lang.String configurationFileUrl,
                                                               AsyncResultCallback callback)
The Change Deployment Configuration operation is to change the configuration of the Deployment.

Parameters:
serviceName - The name of hosted service
deploymentName - The name of deployment
configurationFileUrl - The file path of service configuration file.
callback - The callback instance will be notified when the asynchronous operation is completed.
Returns:

swapDeployment

public abstract java.lang.String swapDeployment(java.lang.String serviceName,
                                                java.lang.String productName,
                                                java.lang.String sourceName,
                                                AsyncResultCallback callback)
The Swap Deployment operation is to swap deployment.

Parameters:
serviceName - The name of hosted service.
productName - The name of the production deployment.
sourceName - The name of the source deployment, which will be swapped withproduction.
callback - The callback instance will be notified when the asynchronous operation is completed.
Returns:

listCertificates

public abstract java.util.List<Certificate> listCertificates(java.lang.String serviceName)
The List Certificates operation lists all certificates associated with the specified hosted service.

Parameters:
serviceName - The name of hosted service
Returns:

getCertificate

public abstract Certificate getCertificate(java.lang.String serviceName,
                                           java.lang.String thumbprintAlgorithm,
                                           java.lang.String thumbprint)
The Get Certificate operation returns the public data for the specified certificate.

Parameters:
serviceName - The name of hosted service
thumbprintAlgorithm - The algorithm for the certificate's thumbprint
thumbprint - The hexadecimal representation of the thumbprint
Returns:

deleteCertificate

public abstract void deleteCertificate(java.lang.String serviceName,
                                       java.lang.String thumbprintAlgorithm,
                                       java.lang.String thumbprint)
The Delete Certificate operation deletes a certificate from the subscription's certificate store. see http://msdn.microsoft.com/en-us/library/ee460803.aspx

Parameters:
serviceName - The name of hosted service
thumbprintAlgorithm - The algorithm for the certificate's thumbprint
thumbprint - The hexadecimal representation of the thumbprint

addCertificate

public abstract void addCertificate(java.lang.String serviceName,
                                    byte[] data,
                                    CertificateFormat format,
                                    java.lang.String password)
The Add Certificate operation adds a certificate to the subscription. See http://msdn.microsoft.com/en-us/library/ee460817.aspx for more detail.

Parameters:
serviceName - The name of hosted service
data - The content of certificate file in byte array.
format - The format of certificate file
password - The password of certificate file

listOperatingSystems

public abstract java.util.List<OperatingSystem> listOperatingSystems()
The List Operating Systems operation lists the versions of the guest operating system that are currently available in Windows Azure. Currently Windows Azure supports two operating system families: the Windows Azure guest operating system that is substantially compatible with Windows Server 2008 SP2, and the Windows Azure guest operating system that is substantially compatible with Windows Server 2008 R2. http://msdn.microsoft.com/en-us/library/ff684168.aspx


setPollStatusInterval

public abstract void setPollStatusInterval(int interval)
Set the interval in milliseconds for polling operation status in asynchronous operations.

Parameters:
interval - the interval in milliseconds for polling operation status

getMaximumThreadCount

public abstract int getMaximumThreadCount()
Get the maximum thead count for polling operation status.

Returns:

setMaximumThreadCount

public abstract void setMaximumThreadCount(int maximumThreadCount)
Set the maximum thead count for polling operation status. Note that all running tasks in pool will be stopped.

Parameters:
maximumThreadCount -

getPollStatusInterval

public abstract int getPollStatusInterval()
Get the interval in milliseconds for polling operation status in asynchronous operations.

Returns:
the interval in milliseconds for polling operation status

listOSFamilies

public abstract java.util.List<OperatingSystemFamily> listOSFamilies()
The List OS Families operation lists the guest operating system families available in Windows Azure, and also lists the operating system versions available for each family. Currently Windows Azure supports two operating system families: the Windows Azure guest operating system that is substantially compatible with Windows Server 2008 SP2, and the Windows Azure guest operating system that is substantially compatible with Windows Server 2008 R2.

Returns:
a list of OperatingSystemFamily

listLocations

public abstract java.util.List<Location> listLocations()
The List Locations operation lists all of the data center locations that are valid for your subscription.

Returns:
a list of locations

createHostedService

public abstract void createHostedService(java.lang.String serviceName,
                                         java.lang.String label,
                                         java.lang.String description,
                                         java.lang.String location,
                                         java.lang.String affinityGroup)
The Create Hosted Service operation creates a new hosted service in Windows Azure.

Parameters:
serviceName - Required. A name for the hosted service that is unique to the subscription. It is also used as the prefix of service URL.
label - Required. A label for the hosted service. The label may be up to 100 characters in length.
description - Optional. A description for the hosted service. The description may be up to 1024 characters in length.
location - The location where the hosted service will be created. To list available locations, use the listLocations operation.
affinityGroup - The name of an existing affinity group associated with this subscription. To list available affinity groups, use the listAffinityGroups operation.

deleteHostedService

public abstract void deleteHostedService(java.lang.String serviceName)
The Delete Hosted Service operation deletes the specified hosted service from Windows Azure.

Parameters:
serviceName - The name of your hosted service.

updateHostedService

public abstract void updateHostedService(java.lang.String serviceName,
                                         java.lang.String label,
                                         java.lang.String description)
The Update Hosted Service operation updates the label and/or the description for a hosted service in Windows Azure.

Parameters:
serviceName - The name of your hosted service.
label - A label for the hosted service. The label may be up to 100 characters in length. You must specify a value for either Label or Description, or for both.
description - A description for the hosted service. The description may be up to 1024 characters in length. You must specify a value for either Label or Description, or for both.

rebootRoleInstance

public abstract java.lang.String rebootRoleInstance(java.lang.String serviceName,
                                                    DeploymentSlotType slotType,
                                                    java.lang.String roleInstanceName,
                                                    AsyncResultCallback callback)
The Reboot Role Instance operation requests a reboot of a role instance that is running in a deployment. The Reboot Role Instance operation is an asynchronous operation.

Parameters:
serviceName - The name of your hosted service.
slotType - Deployment slot type, either staging or production
roleInstanceName - The name of role instance
callback - The callback instance will be notified when the asynchronous operation is completed.
Returns:

rebootRoleInstance

public abstract java.lang.String rebootRoleInstance(java.lang.String serviceName,
                                                    java.lang.String deploymentName,
                                                    java.lang.String roleInstanceName,
                                                    AsyncResultCallback callback)
The Reboot Role Instance operation requests a reboot of a role instance that is running in a deployment. The Reboot Role Instance operation is an asynchronous operation.

Parameters:
serviceName - The name of your hosted service.
deploymentName - The name of deployment
roleInstanceName - The name of role instance
callback - The callback instance will be notified when the asynchronous operation is completed.
Returns:

reimageRoleInstance

public abstract java.lang.String reimageRoleInstance(java.lang.String serviceName,
                                                     DeploymentSlotType slotType,
                                                     java.lang.String roleInstanceName,
                                                     AsyncResultCallback callback)
The Reimage Role Instance operation requests a reimage of a role instance that is running in a deployment. The Reimage Role Instance operation is an asynchronous operation.

Parameters:
serviceName - The name of your hosted service.
slotType - Deployment slot type, either staging or production
roleInstanceName - The name of role instance
callback - The callback instance will be notified when the asynchronous operation is completed.
Returns:

reimageRoleInstance

public abstract java.lang.String reimageRoleInstance(java.lang.String serviceName,
                                                     java.lang.String deploymentName,
                                                     java.lang.String roleInstanceName,
                                                     AsyncResultCallback callback)
The Reimage Role Instance operation requests a reimage of a role instance that is running in a deployment. The Reimage Role Instance operation is an asynchronous operation.

Parameters:
serviceName - The name of your hosted service.
deploymentName - The name of deployment
roleInstanceName - The name of role instance
callback - The callback instance will be notified when the asynchronous operation is completed.
Returns:

listSubscriptionOperations

public abstract java.util.List<SubscriptionOperation> listSubscriptionOperations(java.lang.String startTimeFrame,
                                                                                 java.lang.String endTimeFrame)
The List Subscription Operations operation returns a list of create, update, and delete operations that were performed on a subscription during the specified timeframe. See http://msdn.microsoft.com/en-us/library/gg715318.aspx for more detail.

Parameters:
startTimeFrame - The start of the timeframe to begin listing subscription operations in UTC format. This parameter and the parameter indicate the timeframe to retrieve subscription operations. This parameter cannot indicate a start date of more than 90 days in the past.
endTimeFrame - The end of the timeframe to begin listing subscription operations in UTC format. This parameter and the parameter indicate the timeframe to retrieve subscription operations.
Returns:

listSubscriptionOperations

public abstract java.util.List<SubscriptionOperation> listSubscriptionOperations(java.lang.String startTimeFrame,
                                                                                 java.lang.String endTimeFrame,
                                                                                 ObjectIdFilter filter,
                                                                                 OperationState operationStatus,
                                                                                 int limit)
The List Subscription Operations operation returns a list of create, update, and delete operations that were performed on a subscription during the specified timeframe. See http://msdn.microsoft.com/en-us/library/gg715318.aspx for more detail.

Parameters:
startTimeFrame - The start of the timeframe to begin listing subscription operations in UTC format. This parameter and the parameter indicate the timeframe to retrieve subscription operations. This parameter cannot indicate a start date of more than 90 days in the past.
endTimeFrame - The end of the timeframe to begin listing subscription operations in UTC format. This parameter and the parameter indicate the timeframe to retrieve subscription operations.
filter - Optional. Returns subscription operations only for the specified object type and object ID. This parameter must be set equal to the URL value for performing an HTTP GET on the object. If no object is specified, a filter is not applied.
operationStatus - Optional. Returns subscription operations only for the specified result status, either Succeeded, Failed, or InProgress. This filter can be combined with the ObjectIdFilter to select subscription operations for an object with a specific result status. If no result status is specified, a filter is not applied.
limit - The number of Subscription Operation that should be returned. If you specify -1, it will return all Subscription Operations during the specified timeframe.
Returns:

createStorageAccount

public abstract void createStorageAccount(java.lang.String accountName,
                                          java.lang.String label,
                                          java.lang.String description,
                                          java.lang.String location,
                                          java.lang.String affinityGroup,
                                          AsyncResultCallback callback)
The Create Storage Account operation creates a new storage account in Windows Azure.

Parameters:
accountName - Required. A name for the storage account that is unique to the subscription.
label - Required. A label for the storage account. The label may be up to 100 characters in length.
description - Optional. A description for the storage account. The description may be up to 1024 characters in length.
location - Required if AffinityGroup is not specified. The location where the storage account is created. Specify either Location or AffinityGroup, but not both.
affinityGroup - Required if Location is not specified. The name of an existing affinity group in the specified subscription. Specify either Location or AffinityGroup, but not both.
callback - The callback instance will be notified when the asynchronous operation is completed.

deleteStorageAccount

public abstract void deleteStorageAccount(java.lang.String accountName)
The Delete Storage Account operation deletes the specified storage account from Windows Azure.

Parameters:
accountName - the name of the storage account

updateStorageAccount

public abstract void updateStorageAccount(java.lang.String accountName,
                                          java.lang.String label,
                                          java.lang.String description)
The Update Storage Account operation updates the label and/or the description for a storage account in Windows Azure.

Parameters:
accountName - the name of the storage account
label - Optional. A label for the storage account. The label may be up to 100 characters in length. You must specify a value for either Label or Description, or for both.
description - Optional. A description for the storage account. The description may be up to 1024 characters in length. You must specify a value for either Label or Description, or for both.