Skip to content

Commit eee7889

Browse files
authored
Updated the ci.yml for publishing the new Key Vault Administration package (#14914)
* Updated the ci.yml file for publishing the new Key Vault Administration package. * Fixed Javadoc issue. * Fixed checkstyle and spotbugs errors.
1 parent 259e63f commit eee7889

18 files changed

+198
-149
lines changed

eng/code-quality-reports/src/main/resources/checkstyle/checkstyle-suppressions.xml

+8-1
Original file line numberDiff line numberDiff line change
@@ -299,6 +299,10 @@
299299

300300
<!-- Public API already exposed: Common vocabulary errors, refer to Java Spec: https://azure.github.io/azure-sdk/java_introduction.html,
301301
issue link: https://github.com/Azure/azure-sdk-for-java/issues/5145 -->
302+
<suppress checks="com.azure.tools.checkstyle.checks.ServiceClientCheck"
303+
files="com.azure.security.keyvault.administration.KeyVaultBackupAsyncClient"/>
304+
<suppress checks="com.azure.tools.checkstyle.checks.ServiceClientCheck"
305+
files="com.azure.security.keyvault.administration.KeyVaultBackupClient"/>
302306
<suppress checks="com.azure.tools.checkstyle.checks.ServiceClientCheck"
303307
files="com.azure.security.keyvault.secrets.SecretAsyncClient.java"/>
304308
<suppress checks="com.azure.tools.checkstyle.checks.ServiceClientCheck"
@@ -359,9 +363,10 @@
359363
<!-- Allows the HttpPipelinePolicy derived class in Implementation folder -->
360364
<suppress checks="com.azure.tools.checkstyle.checks.HttpPipelinePolicy" files="com.azure.messaging.servicebus.implementation.ServiceBusTokenCredentialHttpPolicy.java"/>
361365
<suppress checks="com.azure.tools.checkstyle.checks.HttpPipelinePolicy" files="com.azure.storage.common.implementation.policy.SasTokenCredentialPolicy.java"/>
362-
<suppress checks="com.azure.tools.checkstyle.checks.HttpPipelinePolicy" files="com.azure.security.keyvault.secrets.implementation.KeyVaultCredentialPolicy.java"/>
366+
<suppress checks="com.azure.tools.checkstyle.checks.HttpPipelinePolicy" files="com.azure.security.keyvault.administration.implementation.KeyVaultCredentialPolicy.java"/>
363367
<suppress checks="com.azure.tools.checkstyle.checks.HttpPipelinePolicy" files="com.azure.security.keyvault.certificates.implementation.KeyVaultCredentialPolicy.java"/>
364368
<suppress checks="com.azure.tools.checkstyle.checks.HttpPipelinePolicy" files="com.azure.security.keyvault.keys.implementation.KeyVaultCredentialPolicy.java"/>
369+
<suppress checks="com.azure.tools.checkstyle.checks.HttpPipelinePolicy" files="com.azure.security.keyvault.secrets.implementation.KeyVaultCredentialPolicy.java"/>
365370

366371
<!-- Empty while loop waiting for Reactor stream completion -->
367372
<suppress checks="EmptyBlock" files="com.azure.storage.blob.batch.BlobBatch.java"/>
@@ -420,6 +425,8 @@
420425
<suppress checks="LineLength" files="com.azure.ai.formrecognizer.Transforms.java"/>
421426

422427
<suppress checks="Indentation" files="com.azure.ai.formrecognizer.implementation.FormRecognizerClientImpl" />
428+
<suppress checks="Indentation" files="com.azure.security.keyvault.administration.implementation.RoleAssignmentsImpl" />
429+
<suppress checks="Indentation" files="com.azure.security.keyvault.administration.implementation.RoleDefinitionsImpl" />
423430

424431
<suppress checks="GoodLoggingCheck" files="com.azure.ai.formrecognizer.models.FieldValueType.java" />
425432

sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultAccessControlAsyncClient.java

+102-105
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,18 @@
1919
import com.azure.security.keyvault.administration.implementation.KeyVaultAccessControlClientImpl;
2020
import com.azure.security.keyvault.administration.implementation.KeyVaultAccessControlClientImplBuilder;
2121
import com.azure.security.keyvault.administration.implementation.KeyVaultErrorCodeStrings;
22-
import com.azure.security.keyvault.administration.implementation.models.*;
23-
import com.azure.security.keyvault.administration.models.*;
22+
import com.azure.security.keyvault.administration.implementation.models.Permission;
23+
import com.azure.security.keyvault.administration.implementation.models.RoleAssignment;
24+
import com.azure.security.keyvault.administration.implementation.models.RoleAssignmentCreateParameters;
25+
import com.azure.security.keyvault.administration.implementation.models.RoleAssignmentProperties;
26+
import com.azure.security.keyvault.administration.implementation.models.RoleAssignmentPropertiesWithScope;
27+
import com.azure.security.keyvault.administration.implementation.models.RoleDefinition;
28+
import com.azure.security.keyvault.administration.models.KeyVaultPermission;
29+
import com.azure.security.keyvault.administration.models.KeyVaultRoleAssignment;
30+
import com.azure.security.keyvault.administration.models.KeyVaultRoleAssignmentProperties;
31+
import com.azure.security.keyvault.administration.models.KeyVaultRoleAssignmentScope;
32+
import com.azure.security.keyvault.administration.models.KeyVaultRoleDefinition;
33+
import com.azure.security.keyvault.administration.models.KeyVaultRoleDefinitionProperties;
2434
import reactor.core.publisher.Mono;
2535

2636
import java.io.IOException;
@@ -142,7 +152,7 @@ Mono<PagedResponse<KeyVaultRoleDefinition>> listRoleDefinitionsFirstPage(String
142152
.doOnSuccess(response -> logger.info("Listed role definitions for roleScope - {}", roleScope))
143153
.doOnError(error -> logger.warning(String.format("Failed to list role definitions for roleScope - %s",
144154
roleScope), error))
145-
.map(this::transformRoleDefinitionsPagedResponse);
155+
.map(KeyVaultAccessControlAsyncClient::transformRoleDefinitionsPagedResponse);
146156
} catch (RuntimeException e) {
147157
return monoError(logger, e);
148158
}
@@ -168,7 +178,7 @@ Mono<PagedResponse<KeyVaultRoleDefinition>> listRoleDefinitionsNextPage(String c
168178
.doOnSuccess(response -> logger.info("Listed next role definitions page - Page {}", continuationToken))
169179
.doOnError(error -> logger.warning("Failed to list next role definitions page - Page {}",
170180
continuationToken, error))
171-
.map(this::transformRoleDefinitionsPagedResponse);
181+
.map(KeyVaultAccessControlAsyncClient::transformRoleDefinitionsPagedResponse);
172182
} catch (RuntimeException e) {
173183
return monoError(logger, e);
174184
}
@@ -230,7 +240,7 @@ Mono<PagedResponse<KeyVaultRoleAssignment>> listRoleAssignmentsFirstPage(String
230240
.doOnSuccess(response -> logger.info("Listed role assignments for roleScope - {}", roleScope))
231241
.doOnError(error -> logger.warning(String.format("Failed to list role assignments for roleScope - %s",
232242
roleScope), error))
233-
.map(this::transformRoleAssignmentsPagedResponse);
243+
.map(KeyVaultAccessControlAsyncClient::transformRoleAssignmentsPagedResponse);
234244
} catch (RuntimeException e) {
235245
return monoError(logger, e);
236246
}
@@ -256,7 +266,7 @@ Mono<PagedResponse<KeyVaultRoleAssignment>> listRoleAssignmentsNextPage(String c
256266
.doOnSuccess(response -> logger.info("Listed next role assignments page - Page {}", continuationToken))
257267
.doOnError(error -> logger.warning("Failed to list next role assignments page - Page {}",
258268
continuationToken, error))
259-
.map(this::transformRoleAssignmentsPagedResponse);
269+
.map(KeyVaultAccessControlAsyncClient::transformRoleAssignmentsPagedResponse);
260270
} catch (RuntimeException e) {
261271
return monoError(logger, e);
262272
}
@@ -364,7 +374,7 @@ Mono<Response<KeyVaultRoleAssignment>> createRoleAssignmentWithResponse(KeyVault
364374
.doOnRequest(ignored -> logger.info("Creating role assignment - {}", name))
365375
.doOnSuccess(response -> logger.info("Created role assignment - {}", response.getValue().getName()))
366376
.doOnError(error -> logger.warning("Failed to create role assignment - {}", name, error))
367-
.map(this::transformRoleAssignmentResponse);
377+
.map(KeyVaultAccessControlAsyncClient::transformRoleAssignmentResponse);
368378
}
369379

370380
/**
@@ -422,7 +432,7 @@ Mono<Response<KeyVaultRoleAssignment>> getRoleAssignmentWithResponse(KeyVaultRol
422432
.doOnRequest(ignored -> logger.info("Retrieving role assignment - {}", name))
423433
.doOnSuccess(response -> logger.info("Retrieved role assignment - {}", response.getValue().getName()))
424434
.doOnError(error -> logger.warning("Failed to retrieved role assignment - {}", name, error))
425-
.map(this::transformRoleAssignmentResponse);
435+
.map(KeyVaultAccessControlAsyncClient::transformRoleAssignmentResponse);
426436
} catch (RuntimeException e) {
427437
return monoError(logger, e);
428438
}
@@ -483,83 +493,30 @@ Mono<Response<KeyVaultRoleAssignment>> deleteRoleAssignmentWithResponse(KeyVault
483493
.doOnRequest(ignored -> logger.info("Deleting role assignment - {}", name))
484494
.doOnSuccess(response -> logger.info("Deleted role assignment - {}", response.getValue().getName()))
485495
.doOnError(error -> logger.warning("Failed to delete role assignment - {}", name, error))
486-
.map(this::transformRoleAssignmentResponse);
496+
.map(KeyVaultAccessControlAsyncClient::transformRoleAssignmentResponse);
487497
} catch (RuntimeException e) {
488498
return monoError(logger, e);
489499
}
490500
}
491501

492-
private PagedResponse<KeyVaultRoleDefinition> transformRoleDefinitionsPagedResponse(PagedResponse<RoleDefinition> pagedResponse) {
502+
@SuppressWarnings("BoundedWildcard")
503+
private static PagedResponse<KeyVaultRoleDefinition> transformRoleDefinitionsPagedResponse(PagedResponse<RoleDefinition> pagedResponse) {
493504
List<KeyVaultRoleDefinition> keyVaultRoleDefinitions = new ArrayList<>();
494505

495506
for (RoleDefinition roleDefinition : pagedResponse.getValue()) {
496507
keyVaultRoleDefinitions.add(roleDefinitionToKeyVaultRoleDefinition(roleDefinition));
497508
}
498509

499-
return new PagedResponse<KeyVaultRoleDefinition>() {
500-
@Override
501-
public void close() throws IOException {
502-
}
503-
504-
@Override
505-
public IterableStream<KeyVaultRoleDefinition> getElements() {
506-
return new IterableStream<>(keyVaultRoleDefinitions);
507-
}
508-
509-
@Override
510-
public String getContinuationToken() {
511-
return pagedResponse.getContinuationToken();
512-
}
513-
514-
@Override
515-
public int getStatusCode() {
516-
return pagedResponse.getStatusCode();
517-
}
518-
519-
@Override
520-
public HttpHeaders getHeaders() {
521-
return pagedResponse.getHeaders();
522-
}
523-
524-
@Override
525-
public HttpRequest getRequest() {
526-
return pagedResponse.getRequest();
527-
}
528-
529-
@Override
530-
public List<KeyVaultRoleDefinition> getValue() {
531-
return keyVaultRoleDefinitions;
532-
}
533-
};
510+
return new TransformedPagedResponse<>(keyVaultRoleDefinitions, pagedResponse);
534511
}
535512

536-
private Response<KeyVaultRoleAssignment> transformRoleAssignmentResponse(Response<RoleAssignment> response) {
513+
private static Response<KeyVaultRoleAssignment> transformRoleAssignmentResponse(Response<RoleAssignment> response) {
537514
KeyVaultRoleAssignment keyVaultRoleAssignment = roleAssignmentToKeyVaultRoleAssignment(response.getValue());
538515

539-
return new Response<KeyVaultRoleAssignment>() {
540-
@Override
541-
public int getStatusCode() {
542-
return response.getStatusCode();
543-
}
544-
545-
@Override
546-
public HttpHeaders getHeaders() {
547-
return response.getHeaders();
548-
}
549-
550-
@Override
551-
public HttpRequest getRequest() {
552-
return response.getRequest();
553-
}
554-
555-
@Override
556-
public KeyVaultRoleAssignment getValue() {
557-
return keyVaultRoleAssignment;
558-
}
559-
};
516+
return new TransformedResponse<>(keyVaultRoleAssignment, response);
560517
}
561518

562-
private KeyVaultRoleDefinition roleDefinitionToKeyVaultRoleDefinition(RoleDefinition roleDefinition) {
519+
private static KeyVaultRoleDefinition roleDefinitionToKeyVaultRoleDefinition(RoleDefinition roleDefinition) {
563520
List<KeyVaultPermission> keyVaultPermissions = new ArrayList<>();
564521

565522
for (Permission permission : roleDefinition.getPermissions()) {
@@ -574,55 +531,95 @@ private KeyVaultRoleDefinition roleDefinitionToKeyVaultRoleDefinition(RoleDefini
574531
roleDefinition.getAssignableScopes()));
575532
}
576533

577-
private PagedResponse<KeyVaultRoleAssignment> transformRoleAssignmentsPagedResponse(PagedResponse<RoleAssignment> pagedResponse) {
534+
private static PagedResponse<KeyVaultRoleAssignment> transformRoleAssignmentsPagedResponse(PagedResponse<RoleAssignment> pagedResponse) {
578535
List<KeyVaultRoleAssignment> keyVaultRoleAssignments = new ArrayList<>();
579536

580537
for (RoleAssignment roleAssignment : pagedResponse.getValue()) {
581538
keyVaultRoleAssignments.add(roleAssignmentToKeyVaultRoleAssignment(roleAssignment));
582539
}
583540

584-
return new PagedResponse<KeyVaultRoleAssignment>() {
585-
@Override
586-
public void close() throws IOException {
587-
}
588-
589-
@Override
590-
public IterableStream<KeyVaultRoleAssignment> getElements() {
591-
return new IterableStream<>(keyVaultRoleAssignments);
592-
}
593-
594-
@Override
595-
public String getContinuationToken() {
596-
return pagedResponse.getContinuationToken();
597-
}
598-
599-
@Override
600-
public int getStatusCode() {
601-
return pagedResponse.getStatusCode();
602-
}
603-
604-
@Override
605-
public HttpHeaders getHeaders() {
606-
return pagedResponse.getHeaders();
607-
}
608-
609-
@Override
610-
public HttpRequest getRequest() {
611-
return pagedResponse.getRequest();
612-
}
613-
614-
@Override
615-
public List<KeyVaultRoleAssignment> getValue() {
616-
return keyVaultRoleAssignments;
617-
}
618-
};
541+
return new TransformedPagedResponse<>(keyVaultRoleAssignments, pagedResponse);
619542
}
620543

621-
private KeyVaultRoleAssignment roleAssignmentToKeyVaultRoleAssignment(RoleAssignment roleAssignment) {
544+
private static KeyVaultRoleAssignment roleAssignmentToKeyVaultRoleAssignment(RoleAssignment roleAssignment) {
622545
RoleAssignmentPropertiesWithScope propertiesWithScope = roleAssignment.getProperties();
623546

624547
return new KeyVaultRoleAssignment(roleAssignment.getId(), roleAssignment.getName(), roleAssignment.getType(),
625548
new KeyVaultRoleAssignmentProperties(propertiesWithScope.getRoleDefinitionId(),
626549
propertiesWithScope.getPrincipalId()), KeyVaultRoleAssignmentScope.fromString(propertiesWithScope.getScope()));
627550
}
551+
552+
private static final class TransformedPagedResponse<L extends List<T>, T, U> implements PagedResponse<T> {
553+
private final L output;
554+
private final PagedResponse<U> pagedResponse;
555+
556+
TransformedPagedResponse(L output, PagedResponse<U> inputPagedResponse) {
557+
this.output = output;
558+
this.pagedResponse = inputPagedResponse;
559+
}
560+
561+
@Override
562+
public void close() throws IOException {
563+
}
564+
565+
@Override
566+
public IterableStream<T> getElements() {
567+
return new IterableStream<>(output);
568+
}
569+
570+
@Override
571+
public String getContinuationToken() {
572+
return pagedResponse.getContinuationToken();
573+
}
574+
575+
@Override
576+
public int getStatusCode() {
577+
return pagedResponse.getStatusCode();
578+
}
579+
580+
@Override
581+
public HttpHeaders getHeaders() {
582+
return pagedResponse.getHeaders();
583+
}
584+
585+
@Override
586+
public HttpRequest getRequest() {
587+
return pagedResponse.getRequest();
588+
}
589+
590+
@Override
591+
public List<T> getValue() {
592+
return output;
593+
}
594+
}
595+
596+
private static final class TransformedResponse<T, U> implements Response<T> {
597+
private final T output;
598+
private final Response<U> response;
599+
600+
TransformedResponse(T output, Response<U> response) {
601+
this.output = output;
602+
this.response = response;
603+
}
604+
605+
@Override
606+
public int getStatusCode() {
607+
return response.getStatusCode();
608+
}
609+
610+
@Override
611+
public HttpHeaders getHeaders() {
612+
return response.getHeaders();
613+
}
614+
615+
@Override
616+
public HttpRequest getRequest() {
617+
return response.getRequest();
618+
}
619+
620+
@Override
621+
public T getValue() {
622+
return output;
623+
}
624+
}
628625
}

sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultAccessControlClient.java

+6-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@
99
import com.azure.core.http.rest.PagedIterable;
1010
import com.azure.core.http.rest.Response;
1111
import com.azure.core.util.Context;
12-
import com.azure.security.keyvault.administration.models.*;
12+
import com.azure.security.keyvault.administration.models.KeyVaultRoleAssignment;
13+
import com.azure.security.keyvault.administration.models.KeyVaultRoleAssignmentProperties;
14+
import com.azure.security.keyvault.administration.models.KeyVaultRoleAssignmentScope;
15+
import com.azure.security.keyvault.administration.models.KeyVaultRoleDefinition;
1316
import reactor.core.publisher.Mono;
1417

1518
import java.util.UUID;
@@ -170,6 +173,7 @@ public KeyVaultRoleAssignment getRoleAssignment(KeyVaultRoleAssignmentScope role
170173
*
171174
* @param roleScope The {@link KeyVaultRoleAssignmentScope roleScope} of the {@link KeyVaultRoleAssignment}.
172175
* @param name The name of the {@link KeyVaultRoleAssignment}.
176+
* @param context Additional context that is passed through the HTTP pipeline during the service call.
173177
* @return The {@link KeyVaultRoleAssignment}.
174178
* @throws NullPointerException if the {@link KeyVaultRoleAssignmentScope roleScope} or {@link UUID name} are
175179
* {@code null}.
@@ -198,6 +202,7 @@ public KeyVaultRoleAssignment deleteRoleAssignment(KeyVaultRoleAssignmentScope r
198202
*
199203
* @param roleScope The {@link KeyVaultRoleAssignmentScope roleScope} of the {@link KeyVaultRoleAssignment}.
200204
* @param name The name of the {@link KeyVaultRoleAssignment}.
205+
* @param context Additional context that is passed through the HTTP pipeline during the service call.
201206
* @return The {@link KeyVaultRoleAssignment}.
202207
* @throws NullPointerException if the {@link KeyVaultRoleAssignmentScope roleScope} or {@link UUID name} are
203208
* {@code null}.

sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultAccessControlClientBuilder.java

+7-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,13 @@
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.policy.*;
11+
import com.azure.core.http.policy.HttpLogDetailLevel;
12+
import com.azure.core.http.policy.HttpLogOptions;
13+
import com.azure.core.http.policy.HttpLoggingPolicy;
14+
import com.azure.core.http.policy.HttpPipelinePolicy;
15+
import com.azure.core.http.policy.HttpPolicyProviders;
16+
import com.azure.core.http.policy.RetryPolicy;
17+
import com.azure.core.http.policy.UserAgentPolicy;
1218
import com.azure.core.util.Configuration;
1319
import com.azure.core.util.CoreUtils;
1420
import com.azure.core.util.logging.ClientLogger;

0 commit comments

Comments
 (0)