Skip to content

Commit fe8a825

Browse files
[automation] mgmt, update consumption (Azure#22886)
Co-authored-by: Weidong Xu <[email protected]>
1 parent 9538943 commit fe8a825

File tree

45 files changed

+2116
-143
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+2116
-143
lines changed

sdk/consumption/azure-resourcemanager-consumption/CHANGELOG.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,24 @@
11
# Release History
22

3-
## 1.0.0-beta.2 (Unreleased)
3+
## 1.0.0-beta.2 (2021-07-09)
44

5+
- Azure Resource Manager Consumption client library for Java. This package contains Microsoft Azure SDK for Consumption Management SDK. Consumption management client provides access to consumption resources for Azure Enterprise Subscriptions. Package tag package-2019-10. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
6+
7+
### Features Added
8+
9+
#### `models.ReservationRecommendationsListResult` was modified
10+
11+
* `totalCost()` was added
12+
13+
#### `ConsumptionManager$Configurable` was modified
14+
15+
* `withScope(java.lang.String)` was added
16+
17+
#### `models.ModernReservationRecommendation` was modified
18+
19+
* `resourceType()` was added
20+
* `etag()` was added
21+
* `subscriptionId()` was added
522

623
## 1.0.0-beta.1 (2021-04-13)
724

sdk/consumption/azure-resourcemanager-consumption/README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Various documentation is available to help you get started
3232
<dependency>
3333
<groupId>com.azure.resourcemanager</groupId>
3434
<artifactId>azure-resourcemanager-consumption</artifactId>
35-
<version>1.0.0-beta.1</version>
35+
<version>1.0.0-beta.2</version>
3636
</dependency>
3737
```
3838
[//]: # ({x-version-update-end})
@@ -74,6 +74,9 @@ See [API design][design] for general introduction on design and key concepts on
7474

7575
## Examples
7676

77+
[Code snippets and samples](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/SAMPLE.md)
78+
79+
7780
## Troubleshooting
7881

7982
## Next steps
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# Code snippets and samples
2+
3+
4+
### AggregatedCost
5+
6+
- [GetByManagementGroup](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/AggregatedCostGetByManagementGroupSamples.java)
7+
- [GetForBillingPeriodByManagementGroup](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/AggregatedCostGetForBillingPeriodByManagementGroupSamples.java)
8+
9+
### Balances
10+
11+
- [GetByBillingAccount](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/BalancesGetByBillingAccountSamples.java)
12+
- [GetForBillingPeriodByBillingAccount](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/BalancesGetForBillingPeriodByBillingAccountSamples.java)
13+
14+
### Budgets
15+
16+
- [CreateOrUpdate](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/BudgetsCreateOrUpdateSamples.java)
17+
- [Delete](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/BudgetsDeleteSamples.java)
18+
- [Get](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/BudgetsGetSamples.java)
19+
- [List](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/BudgetsListSamples.java)
20+
21+
### Charges
22+
23+
- [List](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/ChargesListSamples.java)
24+
25+
### Credits
26+
27+
- [Get](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/CreditsGetSamples.java)
28+
29+
### EventsOperation
30+
31+
- [List](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/EventsOperationListSamples.java)
32+
33+
### Forecasts
34+
35+
- [List](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/ForecastsListSamples.java)
36+
37+
### LotsOperation
38+
39+
- [List](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/LotsOperationListSamples.java)
40+
41+
### Marketplaces
42+
43+
- [List](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/MarketplacesListSamples.java)
44+
45+
### PriceSheet
46+
47+
- [Get](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/PriceSheetGetSamples.java)
48+
- [GetByBillingPeriod](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/PriceSheetGetByBillingPeriodSamples.java)
49+
50+
### ReservationRecommendationDetails
51+
52+
- [Get](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/ReservationRecommendationDetailsGetSamples.java)
53+
54+
### ReservationRecommendations
55+
56+
- [List](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/ReservationRecommendationsListSamples.java)
57+
58+
### ReservationTransactions
59+
60+
- [List](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/ReservationTransactionsListSamples.java)
61+
- [ListByBillingProfile](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/ReservationTransactionsListByBillingProfileSamples.java)
62+
63+
### ReservationsDetails
64+
65+
- [List](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/ReservationsDetailsListSamples.java)
66+
- [ListByReservationOrder](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/ReservationsDetailsListByReservationOrderSamples.java)
67+
- [ListByReservationOrderAndReservation](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/ReservationsDetailsListByReservationOrderAndReservationSamples.java)
68+
69+
### ReservationsSummaries
70+
71+
- [List](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/ReservationsSummariesListSamples.java)
72+
- [ListByReservationOrder](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/ReservationsSummariesListByReservationOrderSamples.java)
73+
- [ListByReservationOrderAndReservation](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/ReservationsSummariesListByReservationOrderAndReservationSamples.java)
74+
75+
### Tags
76+
77+
- [Get](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/TagsGetSamples.java)
78+
79+
### UsageDetails
80+
81+
- [List](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/consumption/azure-resourcemanager-consumption/src/samples/java/com/azure/resourcemanager/consumption/UsageDetailsListSamples.java)
Lines changed: 80 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,86 @@
11
<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">
2-
<modelVersion>4.0.0</modelVersion>
3-
<parent>
4-
<groupId>com.azure</groupId>
5-
<artifactId>azure-client-sdk-parent</artifactId>
6-
<version>1.7.0</version> <!-- {x-version-update;com.azure:azure-client-sdk-parent;current} -->
7-
<relativePath>../../parents/azure-client-sdk-parent</relativePath>
8-
</parent>
2+
<modelVersion>4.0.0</modelVersion>
3+
<parent>
4+
<groupId>com.azure</groupId>
5+
<artifactId>azure-client-sdk-parent</artifactId>
6+
<version>1.7.0</version> <!-- {x-version-update;com.azure:azure-client-sdk-parent;current} -->
7+
<relativePath>../../parents/azure-client-sdk-parent</relativePath>
8+
</parent>
99

10-
<groupId>com.azure.resourcemanager</groupId>
11-
<artifactId>azure-resourcemanager-consumption</artifactId>
12-
<version>1.0.0-beta.2</version> <!-- {x-version-update;com.azure.resourcemanager:azure-resourcemanager-consumption;current} -->
13-
<packaging>jar</packaging>
10+
<groupId>com.azure.resourcemanager</groupId>
11+
<artifactId>azure-resourcemanager-consumption</artifactId>
12+
<version>1.0.0-beta.2</version> <!-- {x-version-update;com.azure.resourcemanager:azure-resourcemanager-consumption;current} -->
13+
<packaging>jar</packaging>
1414

15-
<name>Microsoft Azure SDK for Consumption Management</name>
16-
<description>This package contains Microsoft Azure SDK for Consumption Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Consumption management client provides access to consumption resources for Azure Enterprise Subscriptions. Package tag package-2019-10.</description>
17-
<url>https://github.com/Azure/azure-sdk-for-java</url>
15+
<name>Microsoft Azure SDK for Consumption Management</name>
16+
<description>This package contains Microsoft Azure SDK for Consumption Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Consumption management client provides access to consumption resources for Azure Enterprise Subscriptions. Package tag package-2019-10.</description>
17+
<url>https://github.com/Azure/azure-sdk-for-java</url>
1818

19-
<licenses>
20-
<license>
21-
<name>The MIT License (MIT)</name>
22-
<url>http://opensource.org/licenses/MIT</url>
23-
<distribution>repo</distribution>
24-
</license>
25-
</licenses>
19+
<licenses>
20+
<license>
21+
<name>The MIT License (MIT)</name>
22+
<url>http://opensource.org/licenses/MIT</url>
23+
<distribution>repo</distribution>
24+
</license>
25+
</licenses>
2626

27-
<scm>
28-
<url>https://github.com/Azure/azure-sdk-for-java</url>
29-
<connection>scm:git:[email protected]:Azure/azure-sdk-for-java.git</connection>
30-
<developerConnection>scm:git:[email protected]:Azure/azure-sdk-for-java.git</developerConnection>
31-
<tag>HEAD</tag>
32-
</scm>
33-
<developers>
34-
<developer>
35-
<id>microsoft</id>
36-
<name>Microsoft</name>
37-
</developer>
38-
</developers>
39-
<properties>
40-
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
41-
<legal><![CDATA[[INFO] Any downloads listed may be third party software. Microsoft grants you no rights for third party software.]]></legal>
42-
</properties>
43-
<dependencies>
44-
<dependency>
45-
<groupId>com.azure</groupId>
46-
<artifactId>azure-core</artifactId>
47-
<version>1.18.0</version> <!-- {x-version-update;com.azure:azure-core;dependency} -->
48-
</dependency>
49-
<dependency>
50-
<groupId>com.azure</groupId>
51-
<artifactId>azure-core-management</artifactId>
52-
<version>1.3.1</version> <!-- {x-version-update;com.azure:azure-core-management;dependency} -->
53-
</dependency>
54-
</dependencies>
55-
<build>
56-
<plugins>
57-
<plugin>
58-
<groupId>org.jacoco</groupId>
59-
<artifactId>jacoco-maven-plugin</artifactId>
60-
<version>0.8.5</version> <!-- {x-version-update;org.jacoco:jacoco-maven-plugin;external_dependency} -->
61-
<configuration>
62-
<skip>true</skip>
63-
</configuration>
64-
</plugin>
65-
</plugins>
66-
</build>
27+
<scm>
28+
<url>https://github.com/Azure/azure-sdk-for-java</url>
29+
<connection>scm:git:[email protected]:Azure/azure-sdk-for-java.git</connection>
30+
<developerConnection>scm:git:[email protected]:Azure/azure-sdk-for-java.git</developerConnection>
31+
<tag>HEAD</tag>
32+
</scm>
33+
<developers>
34+
<developer>
35+
<id>microsoft</id>
36+
<name>Microsoft</name>
37+
</developer>
38+
</developers>
39+
<properties>
40+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
41+
<legal><![CDATA[[INFO] Any downloads listed may be third party software. Microsoft grants you no rights for third party software.]]></legal>
42+
</properties>
43+
<dependencies>
44+
<dependency>
45+
<groupId>com.azure</groupId>
46+
<artifactId>azure-core</artifactId>
47+
<version>1.18.0</version> <!-- {x-version-update;com.azure:azure-core;dependency} -->
48+
</dependency>
49+
<dependency>
50+
<groupId>com.azure</groupId>
51+
<artifactId>azure-core-management</artifactId>
52+
<version>1.3.1</version> <!-- {x-version-update;com.azure:azure-core-management;dependency} -->
53+
</dependency>
54+
</dependencies>
55+
<build>
56+
<plugins>
57+
<plugin>
58+
<groupId>org.jacoco</groupId>
59+
<artifactId>jacoco-maven-plugin</artifactId>
60+
<version>0.8.5</version> <!-- {x-version-update;org.jacoco:jacoco-maven-plugin;external_dependency} -->
61+
<configuration>
62+
<skip>true</skip>
63+
</configuration>
64+
</plugin>
65+
<plugin>
66+
<groupId>org.revapi</groupId>
67+
<artifactId>revapi-maven-plugin</artifactId>
68+
<version>0.11.2</version> <!-- {x-version-update;org.revapi:revapi-maven-plugin;external_dependency} -->
69+
<configuration>
70+
<analysisConfiguration>
71+
<revapi.ignore>
72+
<item>
73+
<code>java.method.addedToInterface</code>
74+
</item>
75+
<item>
76+
<regex>true</regex>
77+
<code>.*</code>
78+
<package>com\.azure\.resourcemanager(\.[^.]+)+\.fluent(\.[^.]+)*</package>
79+
</item>
80+
</revapi.ignore>
81+
</analysisConfiguration>
82+
</configuration>
83+
</plugin>
84+
</plugins>
85+
</build>
6786
</project>

sdk/consumption/azure-resourcemanager-consumption/src/main/java/com/azure/resourcemanager/consumption/ConsumptionManager.java

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@
99
import com.azure.core.http.HttpPipeline;
1010
import com.azure.core.http.HttpPipelineBuilder;
1111
import com.azure.core.http.policy.AddDatePolicy;
12-
import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
1312
import com.azure.core.http.policy.HttpLogOptions;
1413
import com.azure.core.http.policy.HttpLoggingPolicy;
1514
import com.azure.core.http.policy.HttpPipelinePolicy;
1615
import com.azure.core.http.policy.HttpPolicyProviders;
1716
import com.azure.core.http.policy.RequestIdPolicy;
1817
import com.azure.core.http.policy.RetryPolicy;
1918
import com.azure.core.http.policy.UserAgentPolicy;
19+
import com.azure.core.management.http.policy.ArmChallengeAuthenticationPolicy;
2020
import com.azure.core.management.profile.AzureProfile;
2121
import com.azure.core.util.Configuration;
2222
import com.azure.core.util.logging.ClientLogger;
@@ -148,6 +148,7 @@ public static final class Configurable {
148148
private HttpClient httpClient;
149149
private HttpLogOptions httpLogOptions;
150150
private final List<HttpPipelinePolicy> policies = new ArrayList<>();
151+
private final List<String> scopes = new ArrayList<>();
151152
private RetryPolicy retryPolicy;
152153
private Duration defaultPollInterval;
153154

@@ -187,6 +188,17 @@ public Configurable withPolicy(HttpPipelinePolicy policy) {
187188
return this;
188189
}
189190

191+
/**
192+
* Adds the scope to permission sets.
193+
*
194+
* @param scope the scope.
195+
* @return the configurable object itself.
196+
*/
197+
public Configurable withScope(String scope) {
198+
this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null."));
199+
return this;
200+
}
201+
190202
/**
191203
* Sets the retry policy to the HTTP pipeline.
192204
*
@@ -229,7 +241,7 @@ public ConsumptionManager authenticate(TokenCredential credential, AzureProfile
229241
.append("-")
230242
.append("com.azure.resourcemanager.consumption")
231243
.append("/")
232-
.append("1.0.0-beta.1");
244+
.append("1.0.0-beta.2");
233245
if (!Configuration.getGlobalConfiguration().get("AZURE_TELEMETRY_DISABLED", false)) {
234246
userAgentBuilder
235247
.append(" (")
@@ -243,6 +255,9 @@ public ConsumptionManager authenticate(TokenCredential credential, AzureProfile
243255
userAgentBuilder.append(" (auto-generated)");
244256
}
245257

258+
if (scopes.isEmpty()) {
259+
scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default");
260+
}
246261
if (retryPolicy == null) {
247262
retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
248263
}
@@ -252,10 +267,7 @@ public ConsumptionManager authenticate(TokenCredential credential, AzureProfile
252267
HttpPolicyProviders.addBeforeRetryPolicies(policies);
253268
policies.add(retryPolicy);
254269
policies.add(new AddDatePolicy());
255-
policies
256-
.add(
257-
new BearerTokenAuthenticationPolicy(
258-
credential, profile.getEnvironment().getManagementEndpoint() + "/.default"));
270+
policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
259271
policies.addAll(this.policies);
260272
HttpPolicyProviders.addAfterRetryPolicies(policies);
261273
policies.add(new HttpLoggingPolicy(httpLogOptions));

sdk/consumption/azure-resourcemanager-consumption/src/main/java/com/azure/resourcemanager/consumption/fluent/ReservationsSummariesClient.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -100,10 +100,10 @@ PagedIterable<ReservationSummaryInner> listByReservationOrderAndReservation(
100100
* '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for
101101
* BillingProfile scope (modern).
102102
* @param grain Can be daily or monthly.
103-
* @param startDate Start date. Only applicable when querying with billing profile.
104-
* @param endDate End date. Only applicable when querying with billing profile.
105-
* @param filter Required only for daily grain. The properties/UsageDate for start date and end date. The filter
106-
* supports 'le' and 'ge'. Not applicable when querying with billing profile.
103+
* @param startDate Start date. Required only when querying with billing profile.
104+
* @param endDate End date. Required only when querying with billing profile.
105+
* @param filter The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge'. Not
106+
* required when querying with billing profile.
107107
* @param reservationId Reservation Id GUID. Only valid if reservationOrderId is also provided. Filter to a specific
108108
* reservation.
109109
* @param reservationOrderId Reservation Order Id GUID. Required if reservationId is provided. Filter to a specific

0 commit comments

Comments
 (0)