Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT License. See License.txt in the project root for license information.
/** * 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.appservice; import com.microsoft.azure.management.apigeneration.Beta; import com.microsoft.azure.management.apigeneration.Fluent; import com.microsoft.azure.management.resources.fluentcore.arm.models.ChildResource; import com.microsoft.azure.management.resources.fluentcore.model.Attachable; import com.microsoft.azure.management.resources.fluentcore.model.HasInner; import com.microsoft.azure.management.appservice.implementation.SiteSourceControlInner;
An immutable representation of a web app source control configuration in a web app.
/** * An immutable representation of a web app source control configuration in a web app. */
@Fluent(ContainerName = "/Microsoft.Azure.Management.AppService.Fluent") @Beta public interface WebAppSourceControl extends HasInner<SiteSourceControlInner>, ChildResource<WebAppBase> {
Returns:the repository or source control url
/** * @return the repository or source control url */
String repositoryUrl();
Returns:the name of the branch to use for deployment
/** * @return the name of the branch to use for deployment */
String branch();
Returns:whether to do manual or continuous integration
/** * @return whether to do manual or continuous integration */
boolean isManualIntegration();
Returns:whether deployment rollback is enabled
/** * @return whether deployment rollback is enabled */
boolean deploymentRollbackEnabled();
Returns:mercurial or Git repository type
/** * @return mercurial or Git repository type */
RepositoryType repositoryType();
The entirety of a web app source control definition.
Type parameters:
/** * The entirety of a web app source control definition. * @param <ParentT> the return type of the final {@link Attachable#attach()} */
interface Definition<ParentT> extends DefinitionStages.Blank<ParentT>, DefinitionStages.WithAttach<ParentT>, DefinitionStages.GitHubWithAttach<ParentT>, DefinitionStages.WithRepositoryType<ParentT>, DefinitionStages.WithBranch<ParentT>, DefinitionStages.WithGitHubBranch<ParentT> { }
Grouping of web app source control definition stages applicable as part of a web app creation.
/** * Grouping of web app source control definition stages applicable as part of a web app creation. */
interface DefinitionStages {
The first stage of a web app source control definition as part of a definition of a web app.
Type parameters:
/** * The first stage of a web app source control definition as part of a definition of a web app. * @param <ParentT> the return type of the final {@link Attachable#attach()} */
interface Blank<ParentT> extends WithRepositoryType<ParentT> { }
A web app source control definition allowing repository type to be specified.
Type parameters:
  • <ParentT> – the stage of the parent definition to return to after attaching this definition
/** * A web app source control definition allowing repository type to be specified. * @param <ParentT> the stage of the parent definition to return to after attaching this definition */
interface WithRepositoryType<ParentT> {
Specifies the repository to be a public external repository, either Git or Mercurial. Continuous integration will not be turned on.
Params:
  • url – the url of the Git repository
Returns:the next stage of the definition
/** * Specifies the repository to be a public external repository, either Git or Mercurial. * Continuous integration will not be turned on. * @param url the url of the Git repository * @return the next stage of the definition */
WithBranch<ParentT> withPublicGitRepository(String url);
Specifies the repository to be a public external repository, either Git or Mercurial. Continuous integration will not be turned on.
Params:
  • url – the url of the Mercurial repository
Returns:the next stage of the definition
/** * Specifies the repository to be a public external repository, either Git or Mercurial. * Continuous integration will not be turned on. * @param url the url of the Mercurial repository * @return the next stage of the definition */
WithBranch<ParentT> withPublicMercurialRepository(String url);
Specifies the repository to be a GitHub repository. Continuous integration will be turned on. This repository can be either public or private, but your GitHub access token must have enough privileges to add a webhook to the repository.
Params:
  • organization – the user name or organization name the GitHub repository belongs to, e.g. Azure
  • repository – the name of the repository, e.g. azure-sdk-for-java
Returns:the next stage of the definition
/** * Specifies the repository to be a GitHub repository. Continuous integration * will be turned on. * This repository can be either public or private, but your GitHub access token * must have enough privileges to add a webhook to the repository. * @param organization the user name or organization name the GitHub repository belongs to, e.g. Azure * @param repository the name of the repository, e.g. azure-sdk-for-java * @return the next stage of the definition */
WithGitHubBranch<ParentT> withContinuouslyIntegratedGitHubRepository(String organization, String repository);
Specifies the repository to be a GitHub repository. Continuous integration will be turned on. This repository can be either public or private, but your GitHub access token must have enough privileges to add a webhook to the repository.
Params:
  • url – the URL pointing to the repository, e.g. https://github.com/Azure/azure-sdk-for-java
Returns:the next stage of the definition
/** * Specifies the repository to be a GitHub repository. Continuous integration * will be turned on. * This repository can be either public or private, but your GitHub access token * must have enough privileges to add a webhook to the repository. * @param url the URL pointing to the repository, e.g. https://github.com/Azure/azure-sdk-for-java * @return the next stage of the definition */
WithGitHubBranch<ParentT> withContinuouslyIntegratedGitHubRepository(String url); }
A web app source control definition allowing branch to be specified.
Type parameters:
  • <ParentT> – the stage of the parent definition to return to after attaching this definition
/** * A web app source control definition allowing branch to be specified. * @param <ParentT> the stage of the parent definition to return to after attaching this definition */
interface WithBranch<ParentT> {
Specifies the branch in the repository to use.
Params:
  • branch – the branch to use
Returns:the next stage of the definition
/** * Specifies the branch in the repository to use. * @param branch the branch to use * @return the next stage of the definition */
WithAttach<ParentT> withBranch(String branch); }
A web app source control definition allowing branch to be specified.
Type parameters:
  • <ParentT> – the stage of the parent definition to return to after attaching this definition
/** * A web app source control definition allowing branch to be specified. * @param <ParentT> the stage of the parent definition to return to after attaching this definition */
interface WithGitHubBranch<ParentT> {
Specifies the branch in the repository to use.
Params:
  • branch – the branch to use
Returns:the next stage of the definition
/** * Specifies the branch in the repository to use. * @param branch the branch to use * @return the next stage of the definition */
GitHubWithAttach<ParentT> withBranch(String branch); }
A web app source control definition allowing GitHub access token to be specified.
Type parameters:
  • <ParentT> – the stage of the parent definition to return to after attaching this definition
/** * A web app source control definition allowing GitHub access token to be specified. * @param <ParentT> the stage of the parent definition to return to after attaching this definition */
interface WithGitHubAccessToken<ParentT> {
Specifies the GitHub personal access token. You can acquire one from https://github.com/settings/tokens.
Params:
  • personalAccessToken – the personal access token from GitHub.
Returns:the next stage of the definition
/** * Specifies the GitHub personal access token. You can acquire one from * https://github.com/settings/tokens. * @param personalAccessToken the personal access token from GitHub. * @return the next stage of the definition */
GitHubWithAttach<ParentT> withGitHubAccessToken(String personalAccessToken); }
The final stage of the web app source control definition.

At this stage, any remaining optional settings can be specified, or the web app source control definition can be attached to the parent web app definition using InDefinition.attach().

Type parameters:
/** The final stage of the web app source control definition. * <p> * At this stage, any remaining optional settings can be specified, or the web app source control definition * can be attached to the parent web app definition using {@link WithAttach#attach()}. * @param <ParentT> the return type of {@link WithAttach#attach()} */
interface WithAttach<ParentT> extends Attachable.InDefinition<ParentT> { }
The final stage of the web app source control definition that binds to a GitHub account.

At this stage, any remaining optional settings can be specified, or the web app source control definition can be attached to the parent web app definition using InDefinition.attach().

Type parameters:
/** The final stage of the web app source control definition that binds to a GitHub account. * <p> * At this stage, any remaining optional settings can be specified, or the web app source control definition * can be attached to the parent web app definition using {@link WithAttach#attach()}. * @param <ParentT> the return type of {@link WithAttach#attach()} */
interface GitHubWithAttach<ParentT> extends WithAttach<ParentT>, WithGitHubAccessToken<ParentT> { } }
The entirety of a web app source control definition as part of a web app update.
Type parameters:
/** The entirety of a web app source control definition as part of a web app update. * @param <ParentT> the return type of the final {@link UpdateDefinitionStages.WithAttach#attach()} */
interface UpdateDefinition<ParentT> extends UpdateDefinitionStages.Blank<ParentT>, UpdateDefinitionStages.WithAttach<ParentT>, UpdateDefinitionStages.GitHubWithAttach<ParentT>, UpdateDefinitionStages.WithRepositoryType<ParentT>, UpdateDefinitionStages.WithBranch<ParentT>, UpdateDefinitionStages.WithGitHubBranch<ParentT> { }
Grouping of web app source control definition stages applicable as part of a web app update.
/** * Grouping of web app source control definition stages applicable as part of a web app update. */
interface UpdateDefinitionStages {
The first stage of a web app source control definition as part of an update of a web app.
Type parameters:
/** * The first stage of a web app source control definition as part of an update of a web app. * @param <ParentT> the return type of the final {@link Attachable#attach()} */
interface Blank<ParentT> extends WithRepositoryType<ParentT> { }
A web app source control definition allowing repository type to be specified.
Type parameters:
  • <ParentT> – the stage of the parent definition to return to after attaching this definition
/** * A web app source control definition allowing repository type to be specified. * @param <ParentT> the stage of the parent definition to return to after attaching this definition */
interface WithRepositoryType<ParentT> {
Specifies the repository to be a public external repository, either Git or Mercurial. Continuous integration will not be turned on.
Params:
  • url – the url of the Git repository
Returns:the next stage of the definition
/** * Specifies the repository to be a public external repository, either Git or Mercurial. * Continuous integration will not be turned on. * @param url the url of the Git repository * @return the next stage of the definition */
WithBranch<ParentT> withPublicGitRepository(String url);
Specifies the repository to be a public external repository, either Git or Mercurial. Continuous integration will not be turned on.
Params:
  • url – the url of the Mercurial repository
Returns:the next stage of the definition
/** * Specifies the repository to be a public external repository, either Git or Mercurial. * Continuous integration will not be turned on. * @param url the url of the Mercurial repository * @return the next stage of the definition */
WithBranch<ParentT> withPublicMercurialRepository(String url);
Specifies the repository to be a GitHub repository. Continuous integration will be turned on. This repository can be either public or private, but your GitHub access token must have enough privileges to add a webhook to the repository.
Params:
  • organization – the user name or organization name the GitHub repository belongs to, e.g. Azure
  • repository – the name of the repository, e.g. azure-sdk-for-java
Returns:the next stage of the definition
/** * Specifies the repository to be a GitHub repository. Continuous integration * will be turned on. * This repository can be either public or private, but your GitHub access token * must have enough privileges to add a webhook to the repository. * @param organization the user name or organization name the GitHub repository belongs to, e.g. Azure * @param repository the name of the repository, e.g. azure-sdk-for-java * @return the next stage of the definition */
WithGitHubBranch<ParentT> withContinuouslyIntegratedGitHubRepository(String organization, String repository);
Specifies the repository to be a GitHub repository. Continuous integration will be turned on. This repository can be either public or private, but your GitHub access token must have enough privileges to add a webhook to the repository.
Params:
  • url – the URL pointing to the repository, e.g. https://github.com/Azure/azure-sdk-for-java
Returns:the next stage of the definition
/** * Specifies the repository to be a GitHub repository. Continuous integration * will be turned on. * This repository can be either public or private, but your GitHub access token * must have enough privileges to add a webhook to the repository. * @param url the URL pointing to the repository, e.g. https://github.com/Azure/azure-sdk-for-java * @return the next stage of the definition */
WithGitHubBranch<ParentT> withContinuouslyIntegratedGitHubRepository(String url); }
A web app source control definition allowing branch to be specified.
Type parameters:
  • <ParentT> – the stage of the parent definition to return to after attaching this definition
/** * A web app source control definition allowing branch to be specified. * @param <ParentT> the stage of the parent definition to return to after attaching this definition */
interface WithBranch<ParentT> {
Specifies the branch in the repository to use.
Params:
  • branch – the branch to use
Returns:the next stage of the definition
/** * Specifies the branch in the repository to use. * @param branch the branch to use * @return the next stage of the definition */
WithAttach<ParentT> withBranch(String branch); }
A web app source control definition allowing branch to be specified.
Type parameters:
  • <ParentT> – the stage of the parent definition to return to after attaching this definition
/** * A web app source control definition allowing branch to be specified. * @param <ParentT> the stage of the parent definition to return to after attaching this definition */
interface WithGitHubBranch<ParentT> {
Specifies the branch in the repository to use.
Params:
  • branch – the branch to use
Returns:the next stage of the definition
/** * Specifies the branch in the repository to use. * @param branch the branch to use * @return the next stage of the definition */
GitHubWithAttach<ParentT> withBranch(String branch); }
A web app source control definition allowing GitHub access token to be specified.
Type parameters:
  • <ParentT> – the stage of the parent definition to return to after attaching this definition
/** * A web app source control definition allowing GitHub access token to be specified. * @param <ParentT> the stage of the parent definition to return to after attaching this definition */
interface WithGitHubAccessToken<ParentT> {
Specifies the GitHub personal access token. You can acquire one from https://github.com/settings/tokens.
Params:
  • personalAccessToken – the personal access token from GitHub.
Returns:the next stage of the definition
/** * Specifies the GitHub personal access token. You can acquire one from * https://github.com/settings/tokens. * @param personalAccessToken the personal access token from GitHub. * @return the next stage of the definition */
GitHubWithAttach<ParentT> withGitHubAccessToken(String personalAccessToken); }
The final stage of the web app source control definition.

At this stage, any remaining optional settings can be specified, or the web app source control definition can be attached to the parent web app update using InUpdate.attach().

Type parameters:
/** The final stage of the web app source control definition. * <p> * At this stage, any remaining optional settings can be specified, or the web app source control definition * can be attached to the parent web app update using {@link WithAttach#attach()}. * @param <ParentT> the return type of {@link WithAttach#attach()} */
interface WithAttach<ParentT> extends Attachable.InUpdate<ParentT> { }
The final stage of the web app source control definition that binds to a GitHub account.

At this stage, any remaining optional settings can be specified, or the web app source control definition can be attached to the parent web app update using InUpdate.attach().

Type parameters:
/** The final stage of the web app source control definition that binds to a GitHub account. * <p> * At this stage, any remaining optional settings can be specified, or the web app source control definition * can be attached to the parent web app update using {@link WithAttach#attach()}. * @param <ParentT> the return type of {@link WithAttach#attach()} */
interface GitHubWithAttach<ParentT> extends WithAttach<ParentT>, WithGitHubAccessToken<ParentT> { } } }