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,7 +1,8 @@
# Release History

## 1.0.0-beta.2 (Unreleased)
## 1.0.0-beta.1 (2021-06-25)

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

## 1.0.0-beta.1 (2021-04-08)

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

Azure Resource Manager ResourceHealth client library for Java.

This package contains Microsoft Azure SDK for ResourceHealth Management SDK. The Resource Health Client. Package tag package-2018-07-01. 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 ResourceHealth Management SDK. The Resource Health Client. Package tag package-2017-07. 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-resourcehealth</artifactId>
<version>1.0.0-beta.1</version>
<version>1.0.0-beta.2</version>
</dependency>
```
[//]: # ({x-version-update-end})
Expand Down Expand Up @@ -74,13 +74,15 @@ See [API design][design] for general introduction on design and key concepts on

## Examples



## Troubleshooting

## Next steps

## Contributing

For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md).
For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/master/CONTRIBUTING.md).

1. Fork it
1. Create your feature branch (`git checkout -b my-new-feature`)
Expand All @@ -93,7 +95,7 @@ For details on contributing to this repository, see the [contributing guide](htt
[docs]: https://azure.github.io/azure-sdk-for-java/
[jdk]: https://docs.microsoft.com/java/azure/jdk/
[azure_subscription]: https://azure.microsoft.com/free/
[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/identity/azure-identity
[azure_core_http_netty]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/core/azure-core-http-netty
[authenticate]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/AUTH.md
[design]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/DESIGN.md
[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/identity/azure-identity
[azure_core_http_netty]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/core/azure-core-http-netty
[authenticate]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/resourcemanager/docs/AUTH.md
[design]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/resourcemanager/docs/DESIGN.md
141 changes: 80 additions & 61 deletions sdk/resourcehealth/azure-resourcemanager-resourcehealth/pom.xml
Original file line number Diff line number Diff line change
@@ -1,67 +1,86 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.azure</groupId>
<artifactId>azure-client-sdk-parent</artifactId>
<version>1.7.0</version> <!-- {x-version-update;com.azure:azure-client-sdk-parent;current} -->
<relativePath>../../parents/azure-client-sdk-parent</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.azure</groupId>
<artifactId>azure-client-sdk-parent</artifactId>
<version>1.7.0</version> <!-- {x-version-update;com.azure:azure-client-sdk-parent;current} -->
<relativePath>../../parents/azure-client-sdk-parent</relativePath>
</parent>

<groupId>com.azure.resourcemanager</groupId>
<artifactId>azure-resourcemanager-resourcehealth</artifactId>
<version>1.0.0-beta.2</version> <!-- {x-version-update;com.azure.resourcemanager:azure-resourcemanager-resourcehealth;current} -->
<packaging>jar</packaging>
<groupId>com.azure.resourcemanager</groupId>
<artifactId>azure-resourcemanager-resourcehealth</artifactId>
<version>1.0.0-beta.2</version> <!-- {x-version-update;com.azure.resourcemanager:azure-resourcemanager-resourcehealth;current} -->
<packaging>jar</packaging>

<name>Microsoft Azure SDK for ResourceHealth Management</name>
<description>This package contains Microsoft Azure SDK for ResourceHealth Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. The Resource Health Client. Package tag package-2018-07-01.</description>
<url>https://github.com/Azure/azure-sdk-for-java</url>
<name>Microsoft Azure SDK for ResourceHealth Management</name>
<description>This package contains Microsoft Azure SDK for ResourceHealth Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. The Resource Health Client. Package tag package-2017-07.</description>
<url>https://github.com/Azure/azure-sdk-for-java</url>

<licenses>
<license>
<name>The MIT License (MIT)</name>
<url>http://opensource.org/licenses/MIT</url>
<distribution>repo</distribution>
</license>
</licenses>
<licenses>
<license>
<name>The MIT License (MIT)</name>
<url>http://opensource.org/licenses/MIT</url>
<distribution>repo</distribution>
</license>
</licenses>

<scm>
<url>https://github.com/Azure/azure-sdk-for-java</url>
<connection>scm:git:[email protected]:Azure/azure-sdk-for-java.git</connection>
<developerConnection>scm:git:[email protected]:Azure/azure-sdk-for-java.git</developerConnection>
<tag>HEAD</tag>
</scm>
<developers>
<developer>
<id>microsoft</id>
<name>Microsoft</name>
</developer>
</developers>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<legal><![CDATA[[INFO] Any downloads listed may be third party software. Microsoft grants you no rights for third party software.]]></legal>
</properties>
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core</artifactId>
<version>1.17.0</version> <!-- {x-version-update;com.azure:azure-core;dependency} -->
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core-management</artifactId>
<version>1.3.0</version> <!-- {x-version-update;com.azure:azure-core-management;dependency} -->
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.5</version> <!-- {x-version-update;org.jacoco:jacoco-maven-plugin;external_dependency} -->
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
<scm>
<url>https://github.com/Azure/azure-sdk-for-java</url>
<connection>scm:git:[email protected]:Azure/azure-sdk-for-java.git</connection>
<developerConnection>scm:git:[email protected]:Azure/azure-sdk-for-java.git</developerConnection>
<tag>HEAD</tag>
</scm>
<developers>
<developer>
<id>microsoft</id>
<name>Microsoft</name>
</developer>
</developers>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<legal><![CDATA[[INFO] Any downloads listed may be third party software. Microsoft grants you no rights for third party software.]]></legal>
</properties>
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core</artifactId>
<version>1.17.0</version> <!-- {x-version-update;com.azure:azure-core;dependency} -->
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core-management</artifactId>
<version>1.3.0</version> <!-- {x-version-update;com.azure:azure-core-management;dependency} -->
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.5</version> <!-- {x-version-update;org.jacoco:jacoco-maven-plugin;external_dependency} -->
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.revapi</groupId>
<artifactId>revapi-maven-plugin</artifactId>
<version>0.11.2</version> <!-- {x-version-update;org.revapi:revapi-maven-plugin;external_dependency} -->
<configuration>
<analysisConfiguration>
<revapi.ignore>
<item>
<code>java.method.addedToInterface</code>
</item>
<item>
<regex>true</regex>
<code>.*</code>
<package>com\.azure\.resourcemanager(\.[^.]+)+\.fluent(\.[^.]+)*</package>
</item>
</revapi.ignore>
</analysisConfiguration>
</configuration>
</plugin>
</plugins>
</build>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -9,26 +9,28 @@
import com.azure.core.http.HttpPipeline;
import com.azure.core.http.HttpPipelineBuilder;
import com.azure.core.http.policy.AddDatePolicy;
import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
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.RetryPolicy;
import com.azure.core.http.policy.UserAgentPolicy;
import com.azure.core.management.http.policy.ArmChallengeAuthenticationPolicy;
import com.azure.core.management.profile.AzureProfile;
import com.azure.core.util.Configuration;
import com.azure.core.util.logging.ClientLogger;
import com.azure.resourcemanager.resourcehealth.fluent.MicrosoftResourceHealth;
import com.azure.resourcemanager.resourcehealth.implementation.AvailabilityStatusesImpl;
import com.azure.resourcemanager.resourcehealth.implementation.ChildAvailabilityStatusesImpl;
import com.azure.resourcemanager.resourcehealth.implementation.ChildResourcesImpl;
import com.azure.resourcemanager.resourcehealth.implementation.EmergingIssuesImpl;
import com.azure.resourcemanager.resourcehealth.implementation.EventsOperationsImpl;
import com.azure.resourcemanager.resourcehealth.implementation.MicrosoftResourceHealthBuilder;
import com.azure.resourcemanager.resourcehealth.implementation.OperationsImpl;
import com.azure.resourcemanager.resourcehealth.models.AvailabilityStatuses;
import com.azure.resourcemanager.resourcehealth.models.ChildAvailabilityStatuses;
import com.azure.resourcemanager.resourcehealth.models.ChildResources;
import com.azure.resourcemanager.resourcehealth.models.EmergingIssues;
import com.azure.resourcemanager.resourcehealth.models.EventsOperations;
import com.azure.resourcemanager.resourcehealth.models.Operations;
import java.time.Duration;
import java.time.temporal.ChronoUnit;
Expand All @@ -38,10 +40,12 @@

/** Entry point to ResourceHealthManager. The Resource Health Client. */
public final class ResourceHealthManager {
private EventsOperations eventsOperations;

private AvailabilityStatuses availabilityStatuses;

private ChildAvailabilityStatuses childAvailabilityStatuses;

private ChildResources childResources;

private Operations operations;

private EmergingIssues emergingIssues;
Expand Down Expand Up @@ -89,6 +93,7 @@ public static final class Configurable {
private HttpClient httpClient;
private HttpLogOptions httpLogOptions;
private final List<HttpPipelinePolicy> policies = new ArrayList<>();
private final List<String> scopes = new ArrayList<>();
private RetryPolicy retryPolicy;
private Duration defaultPollInterval;

Expand Down Expand Up @@ -128,6 +133,17 @@ public Configurable withPolicy(HttpPipelinePolicy policy) {
return this;
}

/**
* Adds the scope to permission sets.
*
* @param scope the scope.
* @return the configurable object itself.
*/
public Configurable withScope(String scope) {
this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null."));
return this;
}

/**
* Sets the retry policy to the HTTP pipeline.
*
Expand Down Expand Up @@ -184,6 +200,9 @@ public ResourceHealthManager authenticate(TokenCredential credential, AzureProfi
userAgentBuilder.append(" (auto-generated)");
}

if (scopes.isEmpty()) {
scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default");
}
if (retryPolicy == null) {
retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
}
Expand All @@ -193,10 +212,7 @@ public ResourceHealthManager authenticate(TokenCredential credential, AzureProfi
HttpPolicyProviders.addBeforeRetryPolicies(policies);
policies.add(retryPolicy);
policies.add(new AddDatePolicy());
policies
.add(
new BearerTokenAuthenticationPolicy(
credential, profile.getEnvironment().getManagementEndpoint() + "/.default"));
policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
policies.addAll(this.policies);
HttpPolicyProviders.addAfterRetryPolicies(policies);
policies.add(new HttpLoggingPolicy(httpLogOptions));
Expand All @@ -209,14 +225,6 @@ public ResourceHealthManager authenticate(TokenCredential credential, AzureProfi
}
}

/** @return Resource collection API of EventsOperations. */
public EventsOperations eventsOperations() {
if (this.eventsOperations == null) {
this.eventsOperations = new EventsOperationsImpl(clientObject.getEventsOperations(), this);
}
return eventsOperations;
}

/** @return Resource collection API of AvailabilityStatuses. */
public AvailabilityStatuses availabilityStatuses() {
if (this.availabilityStatuses == null) {
Expand All @@ -225,6 +233,23 @@ public AvailabilityStatuses availabilityStatuses() {
return availabilityStatuses;
}

/** @return Resource collection API of ChildAvailabilityStatuses. */
public ChildAvailabilityStatuses childAvailabilityStatuses() {
if (this.childAvailabilityStatuses == null) {
this.childAvailabilityStatuses =
new ChildAvailabilityStatusesImpl(clientObject.getChildAvailabilityStatuses(), this);
}
return childAvailabilityStatuses;
}

/** @return Resource collection API of ChildResources. */
public ChildResources childResources() {
if (this.childResources == null) {
this.childResources = new ChildResourcesImpl(clientObject.getChildResources(), this);
}
return childResources;
}

/** @return Resource collection API of Operations. */
public Operations operations() {
if (this.operations == null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@
/** An instance of this class provides access to all the operations defined in AvailabilityStatusesClient. */
public interface AvailabilityStatusesClient {
/**
* Lists the current availability status for all the resources in the subscription.
* Lists the current availability status for all the resources in the subscription. Use the nextLink property in the
* response to get the next page of availability statuses.
*
* @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.
Expand All @@ -24,7 +25,8 @@ public interface AvailabilityStatusesClient {
PagedIterable<AvailabilityStatusInner> listBySubscriptionId();

/**
* Lists the current availability status for all the resources in the subscription.
* Lists the current availability status for all the resources in the subscription. Use the nextLink property in the
* response to get the next page of availability statuses.
*
* @param filter The filter to apply on the operation. For more information please see
* https://docs.microsoft.com/en-us/rest/api/apimanagement/apis?redirectedfrom=MSDN.
Expand All @@ -39,7 +41,8 @@ public interface AvailabilityStatusesClient {
PagedIterable<AvailabilityStatusInner> listBySubscriptionId(String filter, String expand, Context context);

/**
* Lists the current availability status for all the resources in the resource group.
* Lists the current availability status for all the resources in the resource group. Use the nextLink property in
* the response to get the next page of availability statuses.
*
* @param resourceGroupName The name of the resource group.
* @throws IllegalArgumentException thrown if parameters fail the validation.
Expand All @@ -51,7 +54,8 @@ public interface AvailabilityStatusesClient {
PagedIterable<AvailabilityStatusInner> listByResourceGroup(String resourceGroupName);

/**
* Lists the current availability status for all the resources in the resource group.
* Lists the current availability status for all the resources in the resource group. Use the nextLink property in
* the response to get the next page of availability statuses.
*
* @param resourceGroupName The name of the resource group.
* @param filter The filter to apply on the operation. For more information please see
Expand Down Expand Up @@ -105,7 +109,8 @@ Response<AvailabilityStatusInner> getByResourceWithResponse(
String resourceUri, String filter, String expand, Context context);

/**
* Lists all historical availability transitions and impacting events for a single resource.
* Lists all historical availability transitions and impacting events for a single resource. Use the nextLink
* property in the response to get the next page of availability status.
*
* @param resourceUri The fully qualified ID of the resource, including the resource name and resource type.
* Currently the API support not nested and one nesting level resource types :
Expand All @@ -121,7 +126,8 @@ Response<AvailabilityStatusInner> getByResourceWithResponse(
PagedIterable<AvailabilityStatusInner> list(String resourceUri);

/**
* Lists all historical availability transitions and impacting events for a single resource.
* Lists all historical availability transitions and impacting events for a single resource. Use the nextLink
* property in the response to get the next page of availability status.
*
* @param resourceUri The fully qualified ID of the resource, including the resource name and resource type.
* Currently the API support not nested and one nesting level resource types :
Expand Down
Loading