Skip to content

Commit 6fdbc11

Browse files
authored
[Automation] Generate Fluent Lite from imagebuilder#package-2020-02 (Azure#25775)
1 parent e405fae commit 6fdbc11

33 files changed

+1556
-329
lines changed

sdk/boms/azure-spring-boot-bom/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<groupId>com.azure.spring</groupId>
77
<artifactId>azure-spring-boot-bom</artifactId>
8-
<version>3.11.0</version> <!-- {x-version-update;com.azure.spring:azure-spring-boot-bom;current} -->
8+
<version>3.12.0-beta.1</version> <!-- {x-version-update;com.azure.spring:azure-spring-boot-bom;current} -->
99
<packaging>pom</packaging>
1010

1111
<name>Azure Spring Boot BOM</name>

sdk/boms/azure-spring-cloud-dependencies/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>com.azure.spring</groupId>
88
<artifactId>azure-spring-cloud-dependencies</artifactId>
9-
<version>2.11.0</version> <!-- {x-version-update;com.azure.spring:azure-spring-cloud-dependencies;current} -->
9+
<version>2.12.0-beta.1</version> <!-- {x-version-update;com.azure.spring:azure-spring-cloud-dependencies;current} -->
1010
<packaging>pom</packaging>
1111

1212
<name>Azure Spring Cloud Dependencies</name>

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

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

3-
## 1.0.0-beta.2 (Unreleased)
3+
## 1.0.0-beta.2 (2021-12-02)
44

5+
- Azure Resource Manager ImageBuilder client library for Java. This package contains Microsoft Azure SDK for ImageBuilder Management SDK. Azure Virtual Machine Image Builder Client. Package tag package-2020-02. 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+
#### `ImageBuilderManager$Configurable` was modified
10+
11+
* `withScope(java.lang.String)` was added
512

613
## 1.0.0-beta.1 (2021-05-17)
714

sdk/imagebuilder/azure-resourcemanager-imagebuilder/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-imagebuilder</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/imagebuilder/azure-resourcemanager-imagebuilder/SAMPLE.md)
78+
79+
7780
## Troubleshooting
7881

7982
## Next steps

sdk/imagebuilder/azure-resourcemanager-imagebuilder/SAMPLE.md

Lines changed: 427 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 90 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,99 @@
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-imagebuilder</artifactId>
12-
<version>1.0.0-beta.2</version> <!-- {x-version-update;com.azure.resourcemanager:azure-resourcemanager-imagebuilder;current} -->
13-
<packaging>jar</packaging>
10+
<groupId>com.azure.resourcemanager</groupId>
11+
<artifactId>azure-resourcemanager-imagebuilder</artifactId>
12+
<version>1.0.0-beta.2</version> <!-- {x-version-update;com.azure.resourcemanager:azure-resourcemanager-imagebuilder;current} -->
13+
<packaging>jar</packaging>
1414

15-
<name>Microsoft Azure SDK for ImageBuilder Management</name>
16-
<description>This package contains Microsoft Azure SDK for ImageBuilder Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Azure Virtual Machine Image Builder Client. Package tag package-2020-02.</description>
17-
<url>https://github.com/Azure/azure-sdk-for-java</url>
15+
<name>Microsoft Azure SDK for ImageBuilder Management</name>
16+
<description>This package contains Microsoft Azure SDK for ImageBuilder Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Azure Virtual Machine Image Builder Client. Package tag package-2020-02.</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:git@github.com:Azure/azure-sdk-for-java.git</connection>
30-
<developerConnection>scm:git:git@github.com: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-
<jacoco.skip>true</jacoco.skip>
27+
<scm>
28+
<url>https://github.com/Azure/azure-sdk-for-java</url>
29+
<connection>scm:git:git@github.com:Azure/azure-sdk-for-java.git</connection>
30+
<developerConnection>scm:git:git@github.com: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+
<jacoco.skip>true</jacoco.skip>
4242
<codesnippet.skip>false</codesnippet.skip>
4343
<javadocDoclet></javadocDoclet>
4444
<javadocDocletOptions></javadocDocletOptions>
45-
</properties>
46-
<dependencies>
47-
<dependency>
48-
<groupId>com.azure</groupId>
49-
<artifactId>azure-core</artifactId>
50-
<version>1.23.0</version> <!-- {x-version-update;com.azure:azure-core;dependency} -->
51-
</dependency>
52-
<dependency>
53-
<groupId>com.azure</groupId>
54-
<artifactId>azure-core-management</artifactId>
55-
<version>1.4.3</version> <!-- {x-version-update;com.azure:azure-core-management;dependency} -->
56-
</dependency>
57-
<dependency>
58-
<groupId>com.azure</groupId>
59-
<artifactId>azure-identity</artifactId>
60-
<version>1.4.2</version> <!-- {x-version-update;com.azure:azure-identity;dependency} -->
61-
<scope>test</scope>
62-
</dependency>
63-
<dependency>
64-
<groupId>com.azure</groupId>
65-
<artifactId>azure-core-test</artifactId>
66-
<version>1.7.4</version> <!-- {x-version-update;com.azure:azure-core-test;dependency} -->
67-
<scope>test</scope>
68-
</dependency>
69-
<dependency>
70-
<groupId>com.azure.resourcemanager</groupId>
71-
<artifactId>azure-resourcemanager-resources</artifactId>
72-
<version>2.10.0</version> <!-- {x-version-update;com.azure.resourcemanager:azure-resourcemanager-resources;dependency} -->
73-
<scope>test</scope>
74-
</dependency>
75-
</dependencies>
45+
</properties>
46+
<dependencies>
47+
<dependency>
48+
<groupId>com.azure</groupId>
49+
<artifactId>azure-core</artifactId>
50+
<version>1.23.0</version> <!-- {x-version-update;com.azure:azure-core;dependency} -->
51+
</dependency>
52+
<dependency>
53+
<groupId>com.azure</groupId>
54+
<artifactId>azure-core-management</artifactId>
55+
<version>1.4.3</version> <!-- {x-version-update;com.azure:azure-core-management;dependency} -->
56+
</dependency>
57+
<dependency>
58+
<groupId>com.azure</groupId>
59+
<artifactId>azure-identity</artifactId>
60+
<version>1.4.2</version> <!-- {x-version-update;com.azure:azure-identity;dependency} -->
61+
<scope>test</scope>
62+
</dependency>
63+
<dependency>
64+
<groupId>com.azure</groupId>
65+
<artifactId>azure-core-test</artifactId>
66+
<version>1.7.4</version> <!-- {x-version-update;com.azure:azure-core-test;dependency} -->
67+
<scope>test</scope>
68+
</dependency>
69+
<dependency>
70+
<groupId>com.azure.resourcemanager</groupId>
71+
<artifactId>azure-resourcemanager-resources</artifactId>
72+
<version>2.10.0</version> <!-- {x-version-update;com.azure.resourcemanager:azure-resourcemanager-resources;dependency} -->
73+
<scope>test</scope>
74+
</dependency>
75+
</dependencies>
76+
<build>
77+
<plugins>
78+
<plugin>
79+
<groupId>org.revapi</groupId>
80+
<artifactId>revapi-maven-plugin</artifactId>
81+
<version>0.11.2</version> <!-- {x-version-update;org.revapi:revapi-maven-plugin;external_dependency} -->
82+
<configuration>
83+
<analysisConfiguration>
84+
<revapi.ignore>
85+
<item>
86+
<code>java.method.addedToInterface</code>
87+
</item>
88+
<item>
89+
<regex>true</regex>
90+
<code>.*</code>
91+
<package>com\.azure\.resourcemanager(\.[^.]+)+\.fluent(\.[^.]+)*</package>
92+
</item>
93+
</revapi.ignore>
94+
</analysisConfiguration>
95+
</configuration>
96+
</plugin>
97+
</plugins>
98+
</build>
7699
</project>

sdk/imagebuilder/azure-resourcemanager-imagebuilder/src/main/java/com/azure/resourcemanager/imagebuilder/ImageBuilderManager.java

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,16 @@
88
import com.azure.core.http.HttpClient;
99
import com.azure.core.http.HttpPipeline;
1010
import com.azure.core.http.HttpPipelineBuilder;
11+
import com.azure.core.http.HttpPipelinePosition;
1112
import com.azure.core.http.policy.AddDatePolicy;
12-
import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
1313
import com.azure.core.http.policy.HttpLogOptions;
1414
import com.azure.core.http.policy.HttpLoggingPolicy;
1515
import com.azure.core.http.policy.HttpPipelinePolicy;
1616
import com.azure.core.http.policy.HttpPolicyProviders;
1717
import com.azure.core.http.policy.RequestIdPolicy;
1818
import com.azure.core.http.policy.RetryPolicy;
1919
import com.azure.core.http.policy.UserAgentPolicy;
20+
import com.azure.core.management.http.policy.ArmChallengeAuthenticationPolicy;
2021
import com.azure.core.management.profile.AzureProfile;
2122
import com.azure.core.util.Configuration;
2223
import com.azure.core.util.logging.ClientLogger;
@@ -31,6 +32,7 @@
3132
import java.util.ArrayList;
3233
import java.util.List;
3334
import java.util.Objects;
35+
import java.util.stream.Collectors;
3436

3537
/** Entry point to ImageBuilderManager. Azure Virtual Machine Image Builder Client. */
3638
public final class ImageBuilderManager {
@@ -81,6 +83,7 @@ public static final class Configurable {
8183
private HttpClient httpClient;
8284
private HttpLogOptions httpLogOptions;
8385
private final List<HttpPipelinePolicy> policies = new ArrayList<>();
86+
private final List<String> scopes = new ArrayList<>();
8487
private RetryPolicy retryPolicy;
8588
private Duration defaultPollInterval;
8689

@@ -120,6 +123,17 @@ public Configurable withPolicy(HttpPipelinePolicy policy) {
120123
return this;
121124
}
122125

126+
/**
127+
* Adds the scope to permission sets.
128+
*
129+
* @param scope the scope.
130+
* @return the configurable object itself.
131+
*/
132+
public Configurable withScope(String scope) {
133+
this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null."));
134+
return this;
135+
}
136+
123137
/**
124138
* Sets the retry policy to the HTTP pipeline.
125139
*
@@ -162,7 +176,7 @@ public ImageBuilderManager authenticate(TokenCredential credential, AzureProfile
162176
.append("-")
163177
.append("com.azure.resourcemanager.imagebuilder")
164178
.append("/")
165-
.append("1.0.0-beta.1");
179+
.append("1.0.0-beta.2");
166180
if (!Configuration.getGlobalConfiguration().get("AZURE_TELEMETRY_DISABLED", false)) {
167181
userAgentBuilder
168182
.append(" (")
@@ -176,20 +190,33 @@ public ImageBuilderManager authenticate(TokenCredential credential, AzureProfile
176190
userAgentBuilder.append(" (auto-generated)");
177191
}
178192

193+
if (scopes.isEmpty()) {
194+
scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default");
195+
}
179196
if (retryPolicy == null) {
180197
retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
181198
}
182199
List<HttpPipelinePolicy> policies = new ArrayList<>();
183200
policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
184201
policies.add(new RequestIdPolicy());
202+
policies
203+
.addAll(
204+
this
205+
.policies
206+
.stream()
207+
.filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
208+
.collect(Collectors.toList()));
185209
HttpPolicyProviders.addBeforeRetryPolicies(policies);
186210
policies.add(retryPolicy);
187211
policies.add(new AddDatePolicy());
212+
policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
188213
policies
189-
.add(
190-
new BearerTokenAuthenticationPolicy(
191-
credential, profile.getEnvironment().getManagementEndpoint() + "/.default"));
192-
policies.addAll(this.policies);
214+
.addAll(
215+
this
216+
.policies
217+
.stream()
218+
.filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
219+
.collect(Collectors.toList()));
193220
HttpPolicyProviders.addAfterRetryPolicies(policies);
194221
policies.add(new HttpLoggingPolicy(httpLogOptions));
195222
HttpPipeline httpPipeline =

0 commit comments

Comments
 (0)