Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Release History

## 1.0.0-beta.2 (Unreleased)
## 1.0.0-beta.1 (2022-05-11)

- Azure Resource Manager DesktopVirtualization client library for Java. This package contains Microsoft Azure SDK for DesktopVirtualization Management SDK. Package tag package-preview-2022-02. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).

### Features Added

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Azure Resource Manager DesktopVirtualization client library for Java.

This package contains Microsoft Azure SDK for DesktopVirtualization Management SDK. Package tag package-preview-2021-09. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
This package contains Microsoft Azure SDK for DesktopVirtualization Management SDK. Package tag package-preview-2022-02. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).

## We'd love to hear your feedback

Expand Down Expand Up @@ -32,7 +32,7 @@ Various documentation is available to help you get started
<dependency>
<groupId>com.azure.resourcemanager</groupId>
<artifactId>azure-resourcemanager-desktopvirtualization</artifactId>
<version>1.0.0-beta.1</version>
<version>1.0.0-beta.2</version>
</dependency>
```
[//]: # ({x-version-update-end})
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<packaging>jar</packaging>

<name>Microsoft Azure SDK for DesktopVirtualization Management</name>
<description>This package contains Microsoft Azure SDK for DesktopVirtualization Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Package tag package-preview-2021-09.</description>
<description>This package contains Microsoft Azure SDK for DesktopVirtualization Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Package tag package-preview-2022-02.</description>
<url>https://github.com/Azure/azure-sdk-for-java</url>

<licenses>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,13 @@
import com.azure.core.http.HttpPipelineBuilder;
import com.azure.core.http.HttpPipelinePosition;
import com.azure.core.http.policy.AddDatePolicy;
import com.azure.core.http.policy.AddHeadersFromContextPolicy;
import com.azure.core.http.policy.HttpLogOptions;
import com.azure.core.http.policy.HttpLoggingPolicy;
import com.azure.core.http.policy.HttpPipelinePolicy;
import com.azure.core.http.policy.HttpPolicyProviders;
import com.azure.core.http.policy.RequestIdPolicy;
import com.azure.core.http.policy.RetryOptions;
import com.azure.core.http.policy.RetryPolicy;
import com.azure.core.http.policy.UserAgentPolicy;
import com.azure.core.management.http.policy.ArmChallengeAuthenticationPolicy;
Expand Down Expand Up @@ -116,6 +118,19 @@ public static DesktopVirtualizationManager authenticate(TokenCredential credenti
return configure().authenticate(credential, profile);
}

/**
* Creates an instance of DesktopVirtualization service API entry point.
*
* @param httpPipeline the {@link HttpPipeline} configured with Azure authentication credential.
* @param profile the Azure profile for client.
* @return the DesktopVirtualization service API instance.
*/
public static DesktopVirtualizationManager authenticate(HttpPipeline httpPipeline, AzureProfile profile) {
Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null.");
Objects.requireNonNull(profile, "'profile' cannot be null.");
return new DesktopVirtualizationManager(httpPipeline, profile, null);
}

/**
* Gets a Configurable instance that can be used to create DesktopVirtualizationManager with optional configuration.
*
Expand All @@ -127,13 +142,14 @@ public static Configurable configure() {

/** The Configurable allowing configurations to be set. */
public static final class Configurable {
private final ClientLogger logger = new ClientLogger(Configurable.class);
private static final ClientLogger LOGGER = new ClientLogger(Configurable.class);

private HttpClient httpClient;
private HttpLogOptions httpLogOptions;
private final List<HttpPipelinePolicy> policies = new ArrayList<>();
private final List<String> scopes = new ArrayList<>();
private RetryPolicy retryPolicy;
private RetryOptions retryOptions;
private Duration defaultPollInterval;

private Configurable() {
Expand Down Expand Up @@ -194,16 +210,31 @@ public Configurable withRetryPolicy(RetryPolicy retryPolicy) {
return this;
}

/**
* Sets the retry options for the HTTP pipeline retry policy.
*
* <p>This setting has no effect, if retry policy is set via {@link #withRetryPolicy(RetryPolicy)}.
*
* @param retryOptions the retry options for the HTTP pipeline retry policy.
* @return the configurable object itself.
*/
public Configurable withRetryOptions(RetryOptions retryOptions) {
this.retryOptions = Objects.requireNonNull(retryOptions, "'retryOptions' cannot be null.");
return this;
}

/**
* Sets the default poll interval, used when service does not provide "Retry-After" header.
*
* @param defaultPollInterval the default poll interval.
* @return the configurable object itself.
*/
public Configurable withDefaultPollInterval(Duration defaultPollInterval) {
this.defaultPollInterval = Objects.requireNonNull(defaultPollInterval, "'retryPolicy' cannot be null.");
this.defaultPollInterval =
Objects.requireNonNull(defaultPollInterval, "'defaultPollInterval' cannot be null.");
if (this.defaultPollInterval.isNegative()) {
throw logger.logExceptionAsError(new IllegalArgumentException("'httpPipeline' cannot be negative"));
throw LOGGER
.logExceptionAsError(new IllegalArgumentException("'defaultPollInterval' cannot be negative"));
}
return this;
}
Expand Down Expand Up @@ -243,10 +274,15 @@ public DesktopVirtualizationManager authenticate(TokenCredential credential, Azu
scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default");
}
if (retryPolicy == null) {
retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
if (retryOptions != null) {
retryPolicy = new RetryPolicy(retryOptions);
} else {
retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
}
}
List<HttpPipelinePolicy> policies = new ArrayList<>();
policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
policies.add(new AddHeadersFromContextPolicy());
policies.add(new RequestIdPolicy());
policies
.addAll(
Expand Down Expand Up @@ -277,103 +313,155 @@ public DesktopVirtualizationManager authenticate(TokenCredential credential, Azu
}
}

/** @return Resource collection API of Operations. */
/**
* Gets the resource collection API of Operations.
*
* @return Resource collection API of Operations.
*/
public Operations operations() {
if (this.operations == null) {
this.operations = new OperationsImpl(clientObject.getOperations(), this);
}
return operations;
}

/** @return Resource collection API of Workspaces. */
/**
* Gets the resource collection API of Workspaces.
*
* @return Resource collection API of Workspaces.
*/
public Workspaces workspaces() {
if (this.workspaces == null) {
this.workspaces = new WorkspacesImpl(clientObject.getWorkspaces(), this);
}
return workspaces;
}

/** @return Resource collection API of ScalingPlans. */
/**
* Gets the resource collection API of ScalingPlans.
*
* @return Resource collection API of ScalingPlans.
*/
public ScalingPlans scalingPlans() {
if (this.scalingPlans == null) {
this.scalingPlans = new ScalingPlansImpl(clientObject.getScalingPlans(), this);
}
return scalingPlans;
}

/** @return Resource collection API of ApplicationGroups. */
/**
* Gets the resource collection API of ApplicationGroups.
*
* @return Resource collection API of ApplicationGroups.
*/
public ApplicationGroups applicationGroups() {
if (this.applicationGroups == null) {
this.applicationGroups = new ApplicationGroupsImpl(clientObject.getApplicationGroups(), this);
}
return applicationGroups;
}

/** @return Resource collection API of StartMenuItems. */
/**
* Gets the resource collection API of StartMenuItems.
*
* @return Resource collection API of StartMenuItems.
*/
public StartMenuItems startMenuItems() {
if (this.startMenuItems == null) {
this.startMenuItems = new StartMenuItemsImpl(clientObject.getStartMenuItems(), this);
}
return startMenuItems;
}

/** @return Resource collection API of Applications. */
/**
* Gets the resource collection API of Applications.
*
* @return Resource collection API of Applications.
*/
public Applications applications() {
if (this.applications == null) {
this.applications = new ApplicationsImpl(clientObject.getApplications(), this);
}
return applications;
}

/** @return Resource collection API of Desktops. */
/**
* Gets the resource collection API of Desktops.
*
* @return Resource collection API of Desktops.
*/
public Desktops desktops() {
if (this.desktops == null) {
this.desktops = new DesktopsImpl(clientObject.getDesktops(), this);
}
return desktops;
}

/** @return Resource collection API of HostPools. */
/**
* Gets the resource collection API of HostPools.
*
* @return Resource collection API of HostPools.
*/
public HostPools hostPools() {
if (this.hostPools == null) {
this.hostPools = new HostPoolsImpl(clientObject.getHostPools(), this);
}
return hostPools;
}

/** @return Resource collection API of UserSessions. */
/**
* Gets the resource collection API of UserSessions.
*
* @return Resource collection API of UserSessions.
*/
public UserSessions userSessions() {
if (this.userSessions == null) {
this.userSessions = new UserSessionsImpl(clientObject.getUserSessions(), this);
}
return userSessions;
}

/** @return Resource collection API of SessionHosts. */
/**
* Gets the resource collection API of SessionHosts.
*
* @return Resource collection API of SessionHosts.
*/
public SessionHosts sessionHosts() {
if (this.sessionHosts == null) {
this.sessionHosts = new SessionHostsImpl(clientObject.getSessionHosts(), this);
}
return sessionHosts;
}

/** @return Resource collection API of MsixPackages. */
/**
* Gets the resource collection API of MsixPackages.
*
* @return Resource collection API of MsixPackages.
*/
public MsixPackages msixPackages() {
if (this.msixPackages == null) {
this.msixPackages = new MsixPackagesImpl(clientObject.getMsixPackages(), this);
}
return msixPackages;
}

/** @return Resource collection API of MsixImages. */
/**
* Gets the resource collection API of MsixImages.
*
* @return Resource collection API of MsixImages.
*/
public MsixImages msixImages() {
if (this.msixImages == null) {
this.msixImages = new MsixImagesImpl(clientObject.getMsixImages(), this);
}
return msixImages;
}

/** @return Resource collection API of PrivateEndpointConnections. */
/**
* Gets the resource collection API of PrivateEndpointConnections.
*
* @return Resource collection API of PrivateEndpointConnections.
*/
public PrivateEndpointConnections privateEndpointConnections() {
if (this.privateEndpointConnections == null) {
this.privateEndpointConnections =
Expand All @@ -382,7 +470,11 @@ public PrivateEndpointConnections privateEndpointConnections() {
return privateEndpointConnections;
}

/** @return Resource collection API of PrivateLinkResources. */
/**
* Gets the resource collection API of PrivateLinkResources.
*
* @return Resource collection API of PrivateLinkResources.
*/
public PrivateLinkResources privateLinkResources() {
if (this.privateLinkResources == null) {
this.privateLinkResources = new PrivateLinkResourcesImpl(clientObject.getPrivateLinkResources(), this);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public interface ApplicationGroupsClient {
* @throws IllegalArgumentException thrown if parameters fail the validation.
* @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return an application group.
* @return an application group along with {@link Response}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
Response<ApplicationGroupInner> getByResourceGroupWithResponse(
Expand Down Expand Up @@ -67,7 +67,7 @@ ApplicationGroupInner createOrUpdate(
* @throws IllegalArgumentException thrown if parameters fail the validation.
* @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return represents a ApplicationGroup definition.
* @return represents a ApplicationGroup definition along with {@link Response}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
Response<ApplicationGroupInner> createOrUpdateWithResponse(
Expand All @@ -94,7 +94,7 @@ Response<ApplicationGroupInner> createOrUpdateWithResponse(
* @throws IllegalArgumentException thrown if parameters fail the validation.
* @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return the response.
* @return the {@link Response}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
Response<Void> deleteWithResponse(String resourceGroupName, String applicationGroupName, Context context);
Expand Down Expand Up @@ -122,7 +122,7 @@ Response<ApplicationGroupInner> createOrUpdateWithResponse(
* @throws IllegalArgumentException thrown if parameters fail the validation.
* @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return represents a ApplicationGroup definition.
* @return represents a ApplicationGroup definition along with {@link Response}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
Response<ApplicationGroupInner> updateWithResponse(
Expand All @@ -135,7 +135,7 @@ Response<ApplicationGroupInner> updateWithResponse(
* @throws IllegalArgumentException thrown if parameters fail the validation.
* @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return applicationGroupList.
* @return applicationGroupList as paginated response with {@link PagedIterable}.
*/
@ServiceMethod(returns = ReturnType.COLLECTION)
PagedIterable<ApplicationGroupInner> listByResourceGroup(String resourceGroupName);
Expand All @@ -149,7 +149,7 @@ Response<ApplicationGroupInner> updateWithResponse(
* @throws IllegalArgumentException thrown if parameters fail the validation.
* @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return applicationGroupList.
* @return applicationGroupList as paginated response with {@link PagedIterable}.
*/
@ServiceMethod(returns = ReturnType.COLLECTION)
PagedIterable<ApplicationGroupInner> listByResourceGroup(String resourceGroupName, String filter, Context context);
Expand All @@ -159,7 +159,7 @@ Response<ApplicationGroupInner> updateWithResponse(
*
* @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return applicationGroupList.
* @return applicationGroupList as paginated response with {@link PagedIterable}.
*/
@ServiceMethod(returns = ReturnType.COLLECTION)
PagedIterable<ApplicationGroupInner> list();
Expand All @@ -172,7 +172,7 @@ Response<ApplicationGroupInner> updateWithResponse(
* @throws IllegalArgumentException thrown if parameters fail the validation.
* @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return applicationGroupList.
* @return applicationGroupList as paginated response with {@link PagedIterable}.
*/
@ServiceMethod(returns = ReturnType.COLLECTION)
PagedIterable<ApplicationGroupInner> list(String filter, Context context);
Expand Down
Loading