/** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for * license information. */ package com.microsoft.azure.management.batch; import com.microsoft.azure.management.apigeneration.Beta; import com.microsoft.azure.management.apigeneration.Fluent; import com.microsoft.azure.management.batch.implementation.ApplicationPackageInner; import com.microsoft.azure.management.resources.fluentcore.arm.models.ExternalChildResource; import com.microsoft.azure.management.resources.fluentcore.model.HasInner; import com.microsoft.rest.ServiceCallback; import com.microsoft.rest.ServiceFuture; import org.joda.time.DateTime; import rx.Completable; /** * An immutable client-side representation of an Azure Batch application package. */ @Fluent public interface ApplicationPackage extends ExternalChildResource<ApplicationPackage, Application>, HasInner<ApplicationPackageInner> { /** * @return the state of the application package */ PackageState state(); /** * @return the format of the application package */ String format(); /** * @return the storage URL of the application package where teh application should be uploaded */ String storageUrl(); /** * @return the expiry of the storage URL for the application package */ DateTime storageUrlExpiry(); /** * @return the last time this application package was activated */ DateTime lastActivationTime(); /** * Activates the application package. * * @param format the format of the uploaded Batch application package, either "zip" or "tar" */ // TODO: this should take an enum @Beta void activate(String format); /** * Activates the application package asynchronously. * * @param format the format of the uploaded Batch application package, either "zip" or "tar" * @return a representation of the deferred computation of this call */ // TODO: this should take an enum @Beta Completable activateAsync(String format); /** * Activates the application package asynchronously. * * @param format the format of the uploaded Batch application package, either "zip" or "tar" * @param callback the callback to call on success or failure * @return a handle to cancel the request */ @Beta ServiceFuture<Void> activateAsync(String format, ServiceCallback<Void> callback); /** * Deletes the application package. */ void delete(); }