Skip to content

Commit b2313e3

Browse files
mgmt, private link for redis (Azure#20918)
* private link for redis * regen redis
1 parent ca9ba01 commit b2313e3

File tree

14 files changed

+213
-92
lines changed

14 files changed

+213
-92
lines changed

sdk/resourcemanager/azure-resourcemanager-network/src/main/java/com/azure/resourcemanager/network/models/PrivateLinkSubResourceName.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,9 @@ public class PrivateLinkSubResourceName extends ExpandableStringEnum<PrivateLink
6161
/** Static value searchService (of cognitive search) for PrivateLinkSubResourceName. */
6262
public static final PrivateLinkSubResourceName SEARCH = fromString("searchService");
6363

64+
/** Static value redisCache (of Redis) for PrivateLinkSubResourceName. */
65+
public static final PrivateLinkSubResourceName REDIS_CACHE = fromString("redisCache");
66+
6467
/**
6568
* Creates or finds a PrivateLinkSubResourceName from its string representation.
6669
*

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
## 2.4.0-beta.1 (Unreleased)
44

5+
- Supported Private Link in `RedisCache`
56

67
## 2.3.0 (2021-03-30)
78

sdk/resourcemanager/azure-resourcemanager-redis/pom.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,8 @@
161161
<artifactId>revapi-maven-plugin</artifactId>
162162
<version>0.11.2</version> <!-- {x-version-update;org.revapi:revapi-maven-plugin;external_dependency} -->
163163
<configuration>
164+
<skip>true</skip>
165+
164166
<analysisConfiguration>
165167
<revapi.ignore>
166168
<item>

sdk/resourcemanager/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/FirewallRulesClientImpl.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ private Mono<PagedResponse<RedisFirewallRuleInner>> listSinglePageAsync(
192192
res.getValue().value(),
193193
res.getValue().nextLink(),
194194
null))
195-
.subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
195+
.contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
196196
}
197197

198198
/**
@@ -373,7 +373,7 @@ public Mono<Response<RedisFirewallRuleInner>> createOrUpdateWithResponseAsync(
373373
parameters,
374374
accept,
375375
context))
376-
.subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
376+
.contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
377377
}
378378

379379
/**
@@ -559,7 +559,7 @@ public Mono<Response<RedisFirewallRuleInner>> getWithResponseAsync(
559559
this.client.getSubscriptionId(),
560560
accept,
561561
context))
562-
.subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
562+
.contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
563563
}
564564

565565
/**
@@ -720,7 +720,7 @@ public Mono<Response<Void>> deleteWithResponseAsync(String resourceGroupName, St
720720
this.client.getSubscriptionId(),
721721
accept,
722722
context))
723-
.subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
723+
.contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
724724
}
725725

726726
/**
@@ -856,7 +856,7 @@ private Mono<PagedResponse<RedisFirewallRuleInner>> listNextSinglePageAsync(Stri
856856
res.getValue().value(),
857857
res.getValue().nextLink(),
858858
null))
859-
.subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
859+
.contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
860860
}
861861

862862
/**

sdk/resourcemanager/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/LinkedServersClientImpl.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ public Mono<Response<Flux<ByteBuffer>>> createWithResponseAsync(
201201
parameters,
202202
accept,
203203
context))
204-
.subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
204+
.contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
205205
}
206206

207207
/**
@@ -515,7 +515,7 @@ public Mono<Response<Void>> deleteWithResponseAsync(
515515
this.client.getSubscriptionId(),
516516
accept,
517517
context))
518-
.subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
518+
.contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
519519
}
520520

521521
/**
@@ -671,7 +671,7 @@ public Mono<Response<RedisLinkedServerWithPropertiesInner>> getWithResponseAsync
671671
this.client.getSubscriptionId(),
672672
accept,
673673
context))
674-
.subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
674+
.contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
675675
}
676676

677677
/**
@@ -839,7 +839,7 @@ private Mono<PagedResponse<RedisLinkedServerWithPropertiesInner>> listSinglePage
839839
res.getValue().value(),
840840
res.getValue().nextLink(),
841841
null))
842-
.subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
842+
.contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
843843
}
844844

845845
/**
@@ -996,7 +996,7 @@ private Mono<PagedResponse<RedisLinkedServerWithPropertiesInner>> listNextSingle
996996
res.getValue().value(),
997997
res.getValue().nextLink(),
998998
null))
999-
.subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
999+
.contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
10001000
}
10011001

10021002
/**

sdk/resourcemanager/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/OperationsClientImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ private Mono<PagedResponse<OperationInner>> listSinglePageAsync() {
108108
res.getValue().value(),
109109
res.getValue().nextLink(),
110110
null))
111-
.subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
111+
.contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
112112
}
113113

114114
/**
@@ -228,7 +228,7 @@ private Mono<PagedResponse<OperationInner>> listNextSinglePageAsync(String nextL
228228
res.getValue().value(),
229229
res.getValue().nextLink(),
230230
null))
231-
.subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
231+
.contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
232232
}
233233

234234
/**

sdk/resourcemanager/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/PatchSchedulesClientImpl.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ private Mono<PagedResponse<RedisPatchScheduleInner>> listByRedisResourceSinglePa
194194
res.getValue().value(),
195195
res.getValue().nextLink(),
196196
null))
197-
.subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
197+
.contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
198198
}
199199

200200
/**
@@ -381,7 +381,7 @@ public Mono<Response<RedisPatchScheduleInner>> createOrUpdateWithResponseAsync(
381381
parameters,
382382
accept,
383383
context))
384-
.subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
384+
.contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
385385
}
386386

387387
/**
@@ -569,7 +569,7 @@ public Mono<Response<Void>> deleteWithResponseAsync(
569569
this.client.getSubscriptionId(),
570570
accept,
571571
context))
572-
.subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
572+
.contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
573573
}
574574

575575
/**
@@ -725,7 +725,7 @@ public Mono<Response<RedisPatchScheduleInner>> getWithResponseAsync(
725725
this.client.getSubscriptionId(),
726726
accept,
727727
context))
728-
.subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
728+
.contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
729729
}
730730

731731
/**
@@ -871,7 +871,7 @@ private Mono<PagedResponse<RedisPatchScheduleInner>> listByRedisResourceNextSing
871871
res.getValue().value(),
872872
res.getValue().nextLink(),
873873
null))
874-
.subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
874+
.contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
875875
}
876876

877877
/**

sdk/resourcemanager/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/PrivateEndpointConnectionsClientImpl.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ private Mono<PagedResponse<PrivateEndpointConnectionInner>> listSinglePageAsync(
183183
res ->
184184
new PagedResponseBase<>(
185185
res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(), null, null))
186-
.subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
186+
.contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
187187
}
188188

189189
/**
@@ -354,7 +354,7 @@ public Mono<Response<PrivateEndpointConnectionInner>> getWithResponseAsync(
354354
this.client.getSubscriptionId(),
355355
accept,
356356
context))
357-
.subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
357+
.contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
358358
}
359359

360360
/**
@@ -539,7 +539,7 @@ public Mono<Response<Flux<ByteBuffer>>> putWithResponseAsync(
539539
properties,
540540
accept,
541541
context))
542-
.subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
542+
.contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
543543
}
544544

545545
/**
@@ -870,7 +870,7 @@ public Mono<Response<Void>> deleteWithResponseAsync(
870870
privateEndpointConnectionName,
871871
accept,
872872
context))
873-
.subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
873+
.contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
874874
}
875875

876876
/**

sdk/resourcemanager/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/PrivateLinkResourcesClientImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ private Mono<PagedResponse<PrivateLinkResourceInner>> listByRedisCacheSinglePage
125125
res ->
126126
new PagedResponseBase<>(
127127
res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(), null, null))
128-
.subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext())));
128+
.contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
129129
}
130130

131131
/**

sdk/resourcemanager/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java

Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,12 @@
33

44
package com.azure.resourcemanager.redis.implementation;
55

6+
import com.azure.core.http.rest.PagedFlux;
67
import com.azure.core.http.rest.PagedIterable;
78
import com.azure.core.util.logging.ClientLogger;
89
import com.azure.resourcemanager.redis.RedisManager;
10+
import com.azure.resourcemanager.redis.fluent.models.PrivateEndpointConnectionInner;
11+
import com.azure.resourcemanager.redis.fluent.models.PrivateLinkResourceInner;
912
import com.azure.resourcemanager.redis.fluent.models.RedisAccessKeysInner;
1013
import com.azure.resourcemanager.redis.fluent.models.RedisLinkedServerWithPropertiesInner;
1114
import com.azure.resourcemanager.redis.fluent.models.RedisResourceInner;
@@ -31,7 +34,12 @@
3134
import com.azure.resourcemanager.redis.models.TlsVersion;
3235
import com.azure.resourcemanager.resources.fluentcore.arm.ResourceUtils;
3336
import com.azure.resourcemanager.resources.fluentcore.arm.models.HasId;
37+
import com.azure.resourcemanager.resources.fluentcore.arm.models.PrivateEndpoint;
38+
import com.azure.resourcemanager.resources.fluentcore.arm.models.PrivateEndpointConnection;
39+
import com.azure.resourcemanager.resources.fluentcore.arm.models.PrivateEndpointConnectionProvisioningState;
40+
import com.azure.resourcemanager.resources.fluentcore.arm.models.PrivateLinkResource;
3441
import com.azure.resourcemanager.resources.fluentcore.arm.models.implementation.GroupableResourceImpl;
42+
import com.azure.resourcemanager.resources.fluentcore.utils.PagedConverter;
3543
import com.azure.resourcemanager.resources.fluentcore.utils.ResourceManagerUtils;
3644
import reactor.core.publisher.Mono;
3745

@@ -641,4 +649,141 @@ public Map<String, ReplicationRole> listLinkedServers() {
641649
}
642650
return result;
643651
}
652+
653+
@Override
654+
public PagedIterable<PrivateLinkResource> listPrivateLinkResources() {
655+
return new PagedIterable<>(listPrivateLinkResourcesAsync());
656+
}
657+
658+
@Override
659+
public PagedFlux<PrivateLinkResource> listPrivateLinkResourcesAsync() {
660+
return PagedConverter.mapPage(this.manager().serviceClient().getPrivateLinkResources()
661+
.listByRedisCacheAsync(this.resourceGroupName(), this.name()), PrivateLinkResourceImpl::new);
662+
}
663+
664+
@Override
665+
public PagedIterable<PrivateEndpointConnection> listPrivateEndpointConnections() {
666+
return new PagedIterable<>(listPrivateEndpointConnectionsAsync());
667+
}
668+
669+
@Override
670+
public PagedFlux<PrivateEndpointConnection> listPrivateEndpointConnectionsAsync() {
671+
return PagedConverter.mapPage(this.manager().serviceClient().getPrivateEndpointConnections()
672+
.listAsync(this.resourceGroupName(), this.name()), PrivateEndpointConnectionImpl::new);
673+
}
674+
675+
@Override
676+
public void approvePrivateEndpointConnection(String privateEndpointConnectionName) {
677+
approvePrivateEndpointConnectionAsync(privateEndpointConnectionName).block();
678+
}
679+
680+
@Override
681+
public Mono<Void> approvePrivateEndpointConnectionAsync(String privateEndpointConnectionName) {
682+
return this.manager().serviceClient().getPrivateEndpointConnections()
683+
.putWithResponseAsync(this.resourceGroupName(), this.name(), privateEndpointConnectionName,
684+
new PrivateEndpointConnectionInner().withPrivateLinkServiceConnectionState(
685+
new com.azure.resourcemanager.redis.models.PrivateLinkServiceConnectionState()
686+
.withStatus(
687+
com.azure.resourcemanager.redis.models.PrivateEndpointServiceConnectionStatus.APPROVED)))
688+
.then();
689+
}
690+
691+
@Override
692+
public void rejectPrivateEndpointConnection(String privateEndpointConnectionName) {
693+
rejectPrivateEndpointConnectionAsync(privateEndpointConnectionName).block();
694+
}
695+
696+
@Override
697+
public Mono<Void> rejectPrivateEndpointConnectionAsync(String privateEndpointConnectionName) {
698+
return this.manager().serviceClient().getPrivateEndpointConnections()
699+
.putWithResponseAsync(this.resourceGroupName(), this.name(), privateEndpointConnectionName,
700+
new PrivateEndpointConnectionInner().withPrivateLinkServiceConnectionState(
701+
new com.azure.resourcemanager.redis.models.PrivateLinkServiceConnectionState()
702+
.withStatus(
703+
com.azure.resourcemanager.redis.models.PrivateEndpointServiceConnectionStatus.REJECTED)))
704+
.then();
705+
}
706+
707+
private static final class PrivateLinkResourceImpl implements PrivateLinkResource {
708+
private final PrivateLinkResourceInner innerModel;
709+
710+
private PrivateLinkResourceImpl(PrivateLinkResourceInner innerModel) {
711+
this.innerModel = innerModel;
712+
}
713+
714+
@Override
715+
public String groupId() {
716+
return innerModel.groupId();
717+
}
718+
719+
@Override
720+
public List<String> requiredMemberNames() {
721+
return Collections.unmodifiableList(innerModel.requiredMembers());
722+
}
723+
724+
@Override
725+
public List<String> requiredDnsZoneNames() {
726+
return Collections.unmodifiableList(innerModel.requiredZoneNames());
727+
}
728+
}
729+
730+
private static final class PrivateEndpointConnectionImpl implements PrivateEndpointConnection {
731+
private final PrivateEndpointConnectionInner innerModel;
732+
733+
private final PrivateEndpoint privateEndpoint;
734+
private final com.azure.resourcemanager.resources.fluentcore.arm.models.PrivateLinkServiceConnectionState
735+
privateLinkServiceConnectionState;
736+
private final PrivateEndpointConnectionProvisioningState provisioningState;
737+
738+
private PrivateEndpointConnectionImpl(PrivateEndpointConnectionInner innerModel) {
739+
this.innerModel = innerModel;
740+
741+
this.privateEndpoint = innerModel.privateEndpoint() == null
742+
? null
743+
: new PrivateEndpoint(innerModel.privateEndpoint().id());
744+
this.privateLinkServiceConnectionState = innerModel.privateLinkServiceConnectionState() == null
745+
? null
746+
: new com.azure.resourcemanager.resources.fluentcore.arm.models.PrivateLinkServiceConnectionState(
747+
innerModel.privateLinkServiceConnectionState().status() == null
748+
? null
749+
: com.azure.resourcemanager.resources.fluentcore.arm.models.PrivateEndpointServiceConnectionStatus
750+
.fromString(innerModel.privateLinkServiceConnectionState().status().toString()),
751+
innerModel.privateLinkServiceConnectionState().description(),
752+
innerModel.privateLinkServiceConnectionState().actionsRequired());
753+
this.provisioningState = innerModel.provisioningState() == null
754+
? null
755+
: PrivateEndpointConnectionProvisioningState.fromString(innerModel.provisioningState().toString());
756+
}
757+
758+
@Override
759+
public String id() {
760+
return innerModel.id();
761+
}
762+
763+
@Override
764+
public String name() {
765+
return innerModel.name();
766+
}
767+
768+
@Override
769+
public String type() {
770+
return innerModel.type();
771+
}
772+
773+
@Override
774+
public PrivateEndpoint privateEndpoint() {
775+
return privateEndpoint;
776+
}
777+
778+
@Override
779+
public com.azure.resourcemanager.resources.fluentcore.arm.models.PrivateLinkServiceConnectionState
780+
privateLinkServiceConnectionState() {
781+
return privateLinkServiceConnectionState;
782+
}
783+
784+
@Override
785+
public PrivateEndpointConnectionProvisioningState provisioningState() {
786+
return provisioningState;
787+
}
788+
}
644789
}

0 commit comments

Comments
 (0)