privateEndpointConnections() {
+ return this.privateEndpointConnections;
+ }
+
/**
* Validates the instance.
*
@@ -225,6 +240,9 @@ public void validate() {
} else {
sku().validate();
}
+ if (privateEndpointConnections() != null) {
+ privateEndpointConnections().forEach(e -> e.validate());
+ }
}
private static final ClientLogger LOGGER = new ClientLogger(ElasticSanProperties.class);
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/ElasticSanRPOperationInner.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/ElasticSanRPOperationInner.java
deleted file mode 100644
index 6c35b7a966c09..0000000000000
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/ElasticSanRPOperationInner.java
+++ /dev/null
@@ -1,92 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-// Code generated by Microsoft (R) AutoRest Code Generator.
-
-package com.azure.resourcemanager.elasticsan.fluent.models;
-
-import com.azure.core.annotation.Fluent;
-import com.azure.core.util.logging.ClientLogger;
-import com.azure.resourcemanager.elasticsan.models.ElasticSanOperationDisplay;
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-/** Description of a ElasticSan RP Operation. */
-@Fluent
-public final class ElasticSanRPOperationInner {
- /*
- * The name of the operation being performed on this particular object
- */
- @JsonProperty(value = "name", required = true)
- private String name;
-
- /*
- * Indicates whether the operation applies to data-plane.
- */
- @JsonProperty(value = "isDataAction", access = JsonProperty.Access.WRITE_ONLY)
- private Boolean isDataAction;
-
- /*
- * Additional metadata about RP operation.
- */
- @JsonProperty(value = "display", access = JsonProperty.Access.WRITE_ONLY)
- private ElasticSanOperationDisplay display;
-
- /** Creates an instance of ElasticSanRPOperationInner class. */
- public ElasticSanRPOperationInner() {
- }
-
- /**
- * Get the name property: The name of the operation being performed on this particular object.
- *
- * @return the name value.
- */
- public String name() {
- return this.name;
- }
-
- /**
- * Set the name property: The name of the operation being performed on this particular object.
- *
- * @param name the name value to set.
- * @return the ElasticSanRPOperationInner object itself.
- */
- public ElasticSanRPOperationInner withName(String name) {
- this.name = name;
- return this;
- }
-
- /**
- * Get the isDataAction property: Indicates whether the operation applies to data-plane.
- *
- * @return the isDataAction value.
- */
- public Boolean isDataAction() {
- return this.isDataAction;
- }
-
- /**
- * Get the display property: Additional metadata about RP operation.
- *
- * @return the display value.
- */
- public ElasticSanOperationDisplay display() {
- return this.display;
- }
-
- /**
- * Validates the instance.
- *
- * @throws IllegalArgumentException thrown if the instance is not valid.
- */
- public void validate() {
- if (name() == null) {
- throw LOGGER
- .logExceptionAsError(
- new IllegalArgumentException("Missing required property name in model ElasticSanRPOperationInner"));
- }
- if (display() != null) {
- display().validate();
- }
- }
-
- private static final ClientLogger LOGGER = new ClientLogger(ElasticSanRPOperationInner.class);
-}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/OperationInner.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/OperationInner.java
new file mode 100644
index 0000000000000..7267d72080c78
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/OperationInner.java
@@ -0,0 +1,127 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.elasticsan.models.ActionType;
+import com.azure.resourcemanager.elasticsan.models.OperationDisplay;
+import com.azure.resourcemanager.elasticsan.models.Origin;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * REST API Operation
+ *
+ * Details of a REST API operation, returned from the Resource Provider Operations API.
+ */
+@Fluent
+public final class OperationInner {
+ /*
+ * The name of the operation, as per Resource-Based Access Control (RBAC). Examples:
+ * "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action"
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * Whether the operation applies to data-plane. This is "true" for data-plane operations and "false" for
+ * ARM/control-plane operations.
+ */
+ @JsonProperty(value = "isDataAction", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean isDataAction;
+
+ /*
+ * Localized display information for this particular operation.
+ */
+ @JsonProperty(value = "display")
+ private OperationDisplay display;
+
+ /*
+ * The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default
+ * value is "user,system"
+ */
+ @JsonProperty(value = "origin", access = JsonProperty.Access.WRITE_ONLY)
+ private Origin origin;
+
+ /*
+ * Enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs.
+ */
+ @JsonProperty(value = "actionType", access = JsonProperty.Access.WRITE_ONLY)
+ private ActionType actionType;
+
+ /** Creates an instance of OperationInner class. */
+ public OperationInner() {
+ }
+
+ /**
+ * Get the name property: The name of the operation, as per Resource-Based Access Control (RBAC). Examples:
+ * "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action".
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the isDataAction property: Whether the operation applies to data-plane. This is "true" for data-plane
+ * operations and "false" for ARM/control-plane operations.
+ *
+ * @return the isDataAction value.
+ */
+ public Boolean isDataAction() {
+ return this.isDataAction;
+ }
+
+ /**
+ * Get the display property: Localized display information for this particular operation.
+ *
+ * @return the display value.
+ */
+ public OperationDisplay display() {
+ return this.display;
+ }
+
+ /**
+ * Set the display property: Localized display information for this particular operation.
+ *
+ * @param display the display value to set.
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withDisplay(OperationDisplay display) {
+ this.display = display;
+ return this;
+ }
+
+ /**
+ * Get the origin property: The intended executor of the operation; as in Resource Based Access Control (RBAC) and
+ * audit logs UX. Default value is "user,system".
+ *
+ * @return the origin value.
+ */
+ public Origin origin() {
+ return this.origin;
+ }
+
+ /**
+ * Get the actionType property: Enum. Indicates the action type. "Internal" refers to actions that are for internal
+ * only APIs.
+ *
+ * @return the actionType value.
+ */
+ public ActionType actionType() {
+ return this.actionType;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (display() != null) {
+ display().validate();
+ }
+ }
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/PrivateEndpointConnectionInner.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/PrivateEndpointConnectionInner.java
new file mode 100644
index 0000000000000..54553043d1bbe
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/PrivateEndpointConnectionInner.java
@@ -0,0 +1,150 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.elasticsan.models.PrivateEndpoint;
+import com.azure.resourcemanager.elasticsan.models.PrivateLinkServiceConnectionState;
+import com.azure.resourcemanager.elasticsan.models.ProvisioningStates;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Response for PrivateEndpoint Connection object. */
+@Fluent
+public final class PrivateEndpointConnectionInner extends ProxyResource {
+ /*
+ * Private Endpoint Connection Properties.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private PrivateEndpointConnectionProperties innerProperties = new PrivateEndpointConnectionProperties();
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of PrivateEndpointConnectionInner class. */
+ public PrivateEndpointConnectionInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Private Endpoint Connection Properties.
+ *
+ * @return the innerProperties value.
+ */
+ private PrivateEndpointConnectionProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning State of Private Endpoint connection resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningStates provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the privateEndpoint property: Private Endpoint resource.
+ *
+ * @return the privateEndpoint value.
+ */
+ public PrivateEndpoint privateEndpoint() {
+ return this.innerProperties() == null ? null : this.innerProperties().privateEndpoint();
+ }
+
+ /**
+ * Set the privateEndpoint property: Private Endpoint resource.
+ *
+ * @param privateEndpoint the privateEndpoint value to set.
+ * @return the PrivateEndpointConnectionInner object itself.
+ */
+ public PrivateEndpointConnectionInner withPrivateEndpoint(PrivateEndpoint privateEndpoint) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PrivateEndpointConnectionProperties();
+ }
+ this.innerProperties().withPrivateEndpoint(privateEndpoint);
+ return this;
+ }
+
+ /**
+ * Get the privateLinkServiceConnectionState property: Private Link Service Connection State.
+ *
+ * @return the privateLinkServiceConnectionState value.
+ */
+ public PrivateLinkServiceConnectionState privateLinkServiceConnectionState() {
+ return this.innerProperties() == null ? null : this.innerProperties().privateLinkServiceConnectionState();
+ }
+
+ /**
+ * Set the privateLinkServiceConnectionState property: Private Link Service Connection State.
+ *
+ * @param privateLinkServiceConnectionState the privateLinkServiceConnectionState value to set.
+ * @return the PrivateEndpointConnectionInner object itself.
+ */
+ public PrivateEndpointConnectionInner withPrivateLinkServiceConnectionState(
+ PrivateLinkServiceConnectionState privateLinkServiceConnectionState) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PrivateEndpointConnectionProperties();
+ }
+ this.innerProperties().withPrivateLinkServiceConnectionState(privateLinkServiceConnectionState);
+ return this;
+ }
+
+ /**
+ * Get the groupIds property: List of resources private endpoint is mapped.
+ *
+ * @return the groupIds value.
+ */
+ public List groupIds() {
+ return this.innerProperties() == null ? null : this.innerProperties().groupIds();
+ }
+
+ /**
+ * Set the groupIds property: List of resources private endpoint is mapped.
+ *
+ * @param groupIds the groupIds value to set.
+ * @return the PrivateEndpointConnectionInner object itself.
+ */
+ public PrivateEndpointConnectionInner withGroupIds(List groupIds) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PrivateEndpointConnectionProperties();
+ }
+ this.innerProperties().withGroupIds(groupIds);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property innerProperties in model PrivateEndpointConnectionInner"));
+ } else {
+ innerProperties().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(PrivateEndpointConnectionInner.class);
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/PrivateEndpointConnectionProperties.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/PrivateEndpointConnectionProperties.java
new file mode 100644
index 0000000000000..84e7815ae752c
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/PrivateEndpointConnectionProperties.java
@@ -0,0 +1,137 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.elasticsan.models.PrivateEndpoint;
+import com.azure.resourcemanager.elasticsan.models.PrivateLinkServiceConnectionState;
+import com.azure.resourcemanager.elasticsan.models.ProvisioningStates;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Response for PrivateEndpoint connection properties. */
+@Fluent
+public final class PrivateEndpointConnectionProperties {
+ /*
+ * Provisioning State of Private Endpoint connection resource
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningStates provisioningState;
+
+ /*
+ * Private Endpoint resource
+ */
+ @JsonProperty(value = "privateEndpoint")
+ private PrivateEndpoint privateEndpoint;
+
+ /*
+ * Private Link Service Connection State.
+ */
+ @JsonProperty(value = "privateLinkServiceConnectionState", required = true)
+ private PrivateLinkServiceConnectionState privateLinkServiceConnectionState;
+
+ /*
+ * List of resources private endpoint is mapped
+ */
+ @JsonProperty(value = "groupIds")
+ private List groupIds;
+
+ /** Creates an instance of PrivateEndpointConnectionProperties class. */
+ public PrivateEndpointConnectionProperties() {
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning State of Private Endpoint connection resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningStates provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the privateEndpoint property: Private Endpoint resource.
+ *
+ * @return the privateEndpoint value.
+ */
+ public PrivateEndpoint privateEndpoint() {
+ return this.privateEndpoint;
+ }
+
+ /**
+ * Set the privateEndpoint property: Private Endpoint resource.
+ *
+ * @param privateEndpoint the privateEndpoint value to set.
+ * @return the PrivateEndpointConnectionProperties object itself.
+ */
+ public PrivateEndpointConnectionProperties withPrivateEndpoint(PrivateEndpoint privateEndpoint) {
+ this.privateEndpoint = privateEndpoint;
+ return this;
+ }
+
+ /**
+ * Get the privateLinkServiceConnectionState property: Private Link Service Connection State.
+ *
+ * @return the privateLinkServiceConnectionState value.
+ */
+ public PrivateLinkServiceConnectionState privateLinkServiceConnectionState() {
+ return this.privateLinkServiceConnectionState;
+ }
+
+ /**
+ * Set the privateLinkServiceConnectionState property: Private Link Service Connection State.
+ *
+ * @param privateLinkServiceConnectionState the privateLinkServiceConnectionState value to set.
+ * @return the PrivateEndpointConnectionProperties object itself.
+ */
+ public PrivateEndpointConnectionProperties withPrivateLinkServiceConnectionState(
+ PrivateLinkServiceConnectionState privateLinkServiceConnectionState) {
+ this.privateLinkServiceConnectionState = privateLinkServiceConnectionState;
+ return this;
+ }
+
+ /**
+ * Get the groupIds property: List of resources private endpoint is mapped.
+ *
+ * @return the groupIds value.
+ */
+ public List groupIds() {
+ return this.groupIds;
+ }
+
+ /**
+ * Set the groupIds property: List of resources private endpoint is mapped.
+ *
+ * @param groupIds the groupIds value to set.
+ * @return the PrivateEndpointConnectionProperties object itself.
+ */
+ public PrivateEndpointConnectionProperties withGroupIds(List groupIds) {
+ this.groupIds = groupIds;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (privateEndpoint() != null) {
+ privateEndpoint().validate();
+ }
+ if (privateLinkServiceConnectionState() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property privateLinkServiceConnectionState in model"
+ + " PrivateEndpointConnectionProperties"));
+ } else {
+ privateLinkServiceConnectionState().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(PrivateEndpointConnectionProperties.class);
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/PrivateLinkResourceListResultInner.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/PrivateLinkResourceListResultInner.java
new file mode 100644
index 0000000000000..205a3d912d737
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/PrivateLinkResourceListResultInner.java
@@ -0,0 +1,70 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.elasticsan.models.PrivateLinkResource;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** A list of private link resources. */
+@Fluent
+public final class PrivateLinkResourceListResultInner {
+ /*
+ * Array of private link resources
+ */
+ @JsonProperty(value = "value")
+ private List value;
+
+ /*
+ * URI to fetch the next section of the paginated response.
+ */
+ @JsonProperty(value = "nextLink", access = JsonProperty.Access.WRITE_ONLY)
+ private String nextLink;
+
+ /** Creates an instance of PrivateLinkResourceListResultInner class. */
+ public PrivateLinkResourceListResultInner() {
+ }
+
+ /**
+ * Get the value property: Array of private link resources.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: Array of private link resources.
+ *
+ * @param value the value value to set.
+ * @return the PrivateLinkResourceListResultInner object itself.
+ */
+ public PrivateLinkResourceListResultInner withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Get the nextLink property: URI to fetch the next section of the paginated response.
+ *
+ * @return the nextLink value.
+ */
+ public String nextLink() {
+ return this.nextLink;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() != null) {
+ value().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/PrivateLinkResourceProperties.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/PrivateLinkResourceProperties.java
new file mode 100644
index 0000000000000..648a7ece79b29
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/PrivateLinkResourceProperties.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Properties of a private link resource. */
+@Fluent
+public final class PrivateLinkResourceProperties {
+ /*
+ * The private link resource group id.
+ */
+ @JsonProperty(value = "groupId", access = JsonProperty.Access.WRITE_ONLY)
+ private String groupId;
+
+ /*
+ * The private link resource required member names.
+ */
+ @JsonProperty(value = "requiredMembers", access = JsonProperty.Access.WRITE_ONLY)
+ private List requiredMembers;
+
+ /*
+ * The private link resource Private link DNS zone name.
+ */
+ @JsonProperty(value = "requiredZoneNames")
+ private List requiredZoneNames;
+
+ /** Creates an instance of PrivateLinkResourceProperties class. */
+ public PrivateLinkResourceProperties() {
+ }
+
+ /**
+ * Get the groupId property: The private link resource group id.
+ *
+ * @return the groupId value.
+ */
+ public String groupId() {
+ return this.groupId;
+ }
+
+ /**
+ * Get the requiredMembers property: The private link resource required member names.
+ *
+ * @return the requiredMembers value.
+ */
+ public List requiredMembers() {
+ return this.requiredMembers;
+ }
+
+ /**
+ * Get the requiredZoneNames property: The private link resource Private link DNS zone name.
+ *
+ * @return the requiredZoneNames value.
+ */
+ public List requiredZoneNames() {
+ return this.requiredZoneNames;
+ }
+
+ /**
+ * Set the requiredZoneNames property: The private link resource Private link DNS zone name.
+ *
+ * @param requiredZoneNames the requiredZoneNames value to set.
+ * @return the PrivateLinkResourceProperties object itself.
+ */
+ public PrivateLinkResourceProperties withRequiredZoneNames(List requiredZoneNames) {
+ this.requiredZoneNames = requiredZoneNames;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/VolumeGroupInner.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/VolumeGroupInner.java
index 1a6216157b1ef..7e96c62d9916f 100644
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/VolumeGroupInner.java
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/VolumeGroupInner.java
@@ -11,9 +11,8 @@
import com.azure.resourcemanager.elasticsan.models.NetworkRuleSet;
import com.azure.resourcemanager.elasticsan.models.ProvisioningStates;
import com.azure.resourcemanager.elasticsan.models.StorageTargetType;
-import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
-import java.util.Map;
+import java.util.List;
/** Response for Volume Group request. */
@Fluent
@@ -25,18 +24,11 @@ public final class VolumeGroupInner extends ProxyResource {
private VolumeGroupProperties innerProperties;
/*
- * Resource metadata required by ARM RPC
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
*/
@JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
private SystemData systemData;
- /*
- * Azure resource tags.
- */
- @JsonProperty(value = "tags")
- @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
- private Map tags;
-
/** Creates an instance of VolumeGroupInner class. */
public VolumeGroupInner() {
}
@@ -51,7 +43,7 @@ private VolumeGroupProperties innerProperties() {
}
/**
- * Get the systemData property: Resource metadata required by ARM RPC.
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
*
* @return the systemData value.
*/
@@ -59,26 +51,6 @@ public SystemData systemData() {
return this.systemData;
}
- /**
- * Get the tags property: Azure resource tags.
- *
- * @return the tags value.
- */
- public Map tags() {
- return this.tags;
- }
-
- /**
- * Set the tags property: Azure resource tags.
- *
- * @param tags the tags value to set.
- * @return the VolumeGroupInner object itself.
- */
- public VolumeGroupInner withTags(Map tags) {
- this.tags = tags;
- return this;
- }
-
/**
* Get the provisioningState property: State of the operation on the resource.
*
@@ -157,6 +129,15 @@ public VolumeGroupInner withNetworkAcls(NetworkRuleSet networkAcls) {
return this;
}
+ /**
+ * Get the privateEndpointConnections property: The list of Private Endpoint Connections.
+ *
+ * @return the privateEndpointConnections value.
+ */
+ public List privateEndpointConnections() {
+ return this.innerProperties() == null ? null : this.innerProperties().privateEndpointConnections();
+ }
+
/**
* Validates the instance.
*
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/VolumeGroupProperties.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/VolumeGroupProperties.java
index bdc39d865a99e..36be8777650c9 100644
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/VolumeGroupProperties.java
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/VolumeGroupProperties.java
@@ -10,6 +10,7 @@
import com.azure.resourcemanager.elasticsan.models.ProvisioningStates;
import com.azure.resourcemanager.elasticsan.models.StorageTargetType;
import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
/** VolumeGroup response properties. */
@Fluent
@@ -38,6 +39,12 @@ public final class VolumeGroupProperties {
@JsonProperty(value = "networkAcls")
private NetworkRuleSet networkAcls;
+ /*
+ * The list of Private Endpoint Connections.
+ */
+ @JsonProperty(value = "privateEndpointConnections", access = JsonProperty.Access.WRITE_ONLY)
+ private List privateEndpointConnections;
+
/** Creates an instance of VolumeGroupProperties class. */
public VolumeGroupProperties() {
}
@@ -111,6 +118,15 @@ public VolumeGroupProperties withNetworkAcls(NetworkRuleSet networkAcls) {
return this;
}
+ /**
+ * Get the privateEndpointConnections property: The list of Private Endpoint Connections.
+ *
+ * @return the privateEndpointConnections value.
+ */
+ public List privateEndpointConnections() {
+ return this.privateEndpointConnections;
+ }
+
/**
* Validates the instance.
*
@@ -120,5 +136,8 @@ public void validate() {
if (networkAcls() != null) {
networkAcls().validate();
}
+ if (privateEndpointConnections() != null) {
+ privateEndpointConnections().forEach(e -> e.validate());
+ }
}
}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/VolumeInner.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/VolumeInner.java
index 8dc75e25414bb..436a736906a6a 100644
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/VolumeInner.java
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/VolumeInner.java
@@ -7,11 +7,10 @@
import com.azure.core.annotation.Fluent;
import com.azure.core.management.ProxyResource;
import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
import com.azure.resourcemanager.elasticsan.models.IscsiTargetInfo;
import com.azure.resourcemanager.elasticsan.models.SourceCreationData;
-import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
-import java.util.Map;
/** Response for Volume request. */
@Fluent
@@ -19,22 +18,15 @@ public final class VolumeInner extends ProxyResource {
/*
* Properties of Volume.
*/
- @JsonProperty(value = "properties")
- private VolumeProperties innerProperties;
+ @JsonProperty(value = "properties", required = true)
+ private VolumeProperties innerProperties = new VolumeProperties();
/*
- * Resource metadata required by ARM RPC
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
*/
@JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
private SystemData systemData;
- /*
- * Azure resource tags.
- */
- @JsonProperty(value = "tags")
- @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
- private Map tags;
-
/** Creates an instance of VolumeInner class. */
public VolumeInner() {
}
@@ -49,7 +41,7 @@ private VolumeProperties innerProperties() {
}
/**
- * Get the systemData property: Resource metadata required by ARM RPC.
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
*
* @return the systemData value.
*/
@@ -57,26 +49,6 @@ public SystemData systemData() {
return this.systemData;
}
- /**
- * Get the tags property: Azure resource tags.
- *
- * @return the tags value.
- */
- public Map tags() {
- return this.tags;
- }
-
- /**
- * Set the tags property: Azure resource tags.
- *
- * @param tags the tags value to set.
- * @return the VolumeInner object itself.
- */
- public VolumeInner withTags(Map tags) {
- this.tags = tags;
- return this;
- }
-
/**
* Get the volumeId property: Unique Id of the volume in GUID format.
*
@@ -114,8 +86,8 @@ public VolumeInner withCreationData(SourceCreationData creationData) {
*
* @return the sizeGiB value.
*/
- public Long sizeGiB() {
- return this.innerProperties() == null ? null : this.innerProperties().sizeGiB();
+ public long sizeGiB() {
+ return this.innerProperties() == null ? 0L : this.innerProperties().sizeGiB();
}
/**
@@ -124,7 +96,7 @@ public Long sizeGiB() {
* @param sizeGiB the sizeGiB value to set.
* @return the VolumeInner object itself.
*/
- public VolumeInner withSizeGiB(Long sizeGiB) {
+ public VolumeInner withSizeGiB(long sizeGiB) {
if (this.innerProperties() == null) {
this.innerProperties = new VolumeProperties();
}
@@ -147,8 +119,14 @@ public IscsiTargetInfo storageTarget() {
* @throws IllegalArgumentException thrown if the instance is not valid.
*/
public void validate() {
- if (innerProperties() != null) {
+ if (innerProperties() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property innerProperties in model VolumeInner"));
+ } else {
innerProperties().validate();
}
}
+
+ private static final ClientLogger LOGGER = new ClientLogger(VolumeInner.class);
}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/VolumeProperties.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/VolumeProperties.java
index 8e21e6267facb..0dbabf2eebe0d 100644
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/VolumeProperties.java
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/fluent/models/VolumeProperties.java
@@ -27,8 +27,8 @@ public final class VolumeProperties {
/*
* Volume size.
*/
- @JsonProperty(value = "sizeGiB")
- private Long sizeGiB;
+ @JsonProperty(value = "sizeGiB", required = true)
+ private long sizeGiB;
/*
* Storage target information
@@ -74,7 +74,7 @@ public VolumeProperties withCreationData(SourceCreationData creationData) {
*
* @return the sizeGiB value.
*/
- public Long sizeGiB() {
+ public long sizeGiB() {
return this.sizeGiB;
}
@@ -84,7 +84,7 @@ public Long sizeGiB() {
* @param sizeGiB the sizeGiB value to set.
* @return the VolumeProperties object itself.
*/
- public VolumeProperties withSizeGiB(Long sizeGiB) {
+ public VolumeProperties withSizeGiB(long sizeGiB) {
this.sizeGiB = sizeGiB;
return this;
}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/ElasticSanImpl.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/ElasticSanImpl.java
index 1a5be336923d2..c90cbea8350e6 100644
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/ElasticSanImpl.java
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/ElasticSanImpl.java
@@ -8,13 +8,16 @@
import com.azure.core.management.SystemData;
import com.azure.core.util.Context;
import com.azure.resourcemanager.elasticsan.fluent.models.ElasticSanInner;
+import com.azure.resourcemanager.elasticsan.fluent.models.PrivateEndpointConnectionInner;
import com.azure.resourcemanager.elasticsan.models.ElasticSan;
import com.azure.resourcemanager.elasticsan.models.ElasticSanUpdate;
+import com.azure.resourcemanager.elasticsan.models.PrivateEndpointConnection;
import com.azure.resourcemanager.elasticsan.models.ProvisioningStates;
import com.azure.resourcemanager.elasticsan.models.Sku;
import java.util.Collections;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
public final class ElasticSanImpl implements ElasticSan, ElasticSan.Definition, ElasticSan.Update {
private ElasticSanInner innerObject;
@@ -95,6 +98,20 @@ public Long totalSizeTiB() {
return this.innerModel().totalSizeTiB();
}
+ public List privateEndpointConnections() {
+ List inner = this.innerModel().privateEndpointConnections();
+ if (inner != null) {
+ return Collections
+ .unmodifiableList(
+ inner
+ .stream()
+ .map(inner1 -> new PrivateEndpointConnectionImpl(inner1, this.manager()))
+ .collect(Collectors.toList()));
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
public Region region() {
return Region.fromName(this.regionName());
}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/ElasticSanManagementImpl.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/ElasticSanManagementImpl.java
index b17e3e3b58705..971d737d3a639 100644
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/ElasticSanManagementImpl.java
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/ElasticSanManagementImpl.java
@@ -25,6 +25,8 @@
import com.azure.resourcemanager.elasticsan.fluent.ElasticSanManagement;
import com.azure.resourcemanager.elasticsan.fluent.ElasticSansClient;
import com.azure.resourcemanager.elasticsan.fluent.OperationsClient;
+import com.azure.resourcemanager.elasticsan.fluent.PrivateEndpointConnectionsClient;
+import com.azure.resourcemanager.elasticsan.fluent.PrivateLinkResourcesClient;
import com.azure.resourcemanager.elasticsan.fluent.SkusClient;
import com.azure.resourcemanager.elasticsan.fluent.VolumeGroupsClient;
import com.azure.resourcemanager.elasticsan.fluent.VolumesClient;
@@ -172,6 +174,30 @@ public VolumesClient getVolumes() {
return this.volumes;
}
+ /** The PrivateEndpointConnectionsClient object to access its operations. */
+ private final PrivateEndpointConnectionsClient privateEndpointConnections;
+
+ /**
+ * Gets the PrivateEndpointConnectionsClient object to access its operations.
+ *
+ * @return the PrivateEndpointConnectionsClient object.
+ */
+ public PrivateEndpointConnectionsClient getPrivateEndpointConnections() {
+ return this.privateEndpointConnections;
+ }
+
+ /** The PrivateLinkResourcesClient object to access its operations. */
+ private final PrivateLinkResourcesClient privateLinkResources;
+
+ /**
+ * Gets the PrivateLinkResourcesClient object to access its operations.
+ *
+ * @return the PrivateLinkResourcesClient object.
+ */
+ public PrivateLinkResourcesClient getPrivateLinkResources() {
+ return this.privateLinkResources;
+ }
+
/**
* Initializes an instance of ElasticSanManagement client.
*
@@ -194,12 +220,14 @@ public VolumesClient getVolumes() {
this.defaultPollInterval = defaultPollInterval;
this.subscriptionId = subscriptionId;
this.endpoint = endpoint;
- this.apiVersion = "2021-11-20-preview";
+ this.apiVersion = "2022-12-01-preview";
this.operations = new OperationsClientImpl(this);
this.skus = new SkusClientImpl(this);
this.elasticSans = new ElasticSansClientImpl(this);
this.volumeGroups = new VolumeGroupsClientImpl(this);
this.volumes = new VolumesClientImpl(this);
+ this.privateEndpointConnections = new PrivateEndpointConnectionsClientImpl(this);
+ this.privateLinkResources = new PrivateLinkResourcesClientImpl(this);
}
/**
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/ElasticSanRPOperationImpl.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/ElasticSanRPOperationImpl.java
deleted file mode 100644
index f356292f67b28..0000000000000
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/ElasticSanRPOperationImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-// Code generated by Microsoft (R) AutoRest Code Generator.
-
-package com.azure.resourcemanager.elasticsan.implementation;
-
-import com.azure.resourcemanager.elasticsan.fluent.models.ElasticSanRPOperationInner;
-import com.azure.resourcemanager.elasticsan.models.ElasticSanOperationDisplay;
-import com.azure.resourcemanager.elasticsan.models.ElasticSanRPOperation;
-
-public final class ElasticSanRPOperationImpl implements ElasticSanRPOperation {
- private ElasticSanRPOperationInner innerObject;
-
- private final com.azure.resourcemanager.elasticsan.ElasticSanManager serviceManager;
-
- ElasticSanRPOperationImpl(
- ElasticSanRPOperationInner innerObject, com.azure.resourcemanager.elasticsan.ElasticSanManager serviceManager) {
- this.innerObject = innerObject;
- this.serviceManager = serviceManager;
- }
-
- public String name() {
- return this.innerModel().name();
- }
-
- public Boolean isDataAction() {
- return this.innerModel().isDataAction();
- }
-
- public ElasticSanOperationDisplay display() {
- return this.innerModel().display();
- }
-
- public ElasticSanRPOperationInner innerModel() {
- return this.innerObject;
- }
-
- private com.azure.resourcemanager.elasticsan.ElasticSanManager manager() {
- return this.serviceManager;
- }
-}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/ElasticSansClientImpl.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/ElasticSansClientImpl.java
index 02b2e71175c44..17d73123079cd 100644
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/ElasticSansClientImpl.java
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/ElasticSansClientImpl.java
@@ -65,7 +65,7 @@ public final class ElasticSansClientImpl implements ElasticSansClient {
*/
@Host("{$host}")
@ServiceInterface(name = "ElasticSanManagement")
- private interface ElasticSansService {
+ public interface ElasticSansService {
@Headers({"Content-Type: application/json"})
@Get("/subscriptions/{subscriptionId}/providers/Microsoft.ElasticSan/elasticSans")
@ExpectedResponses({200})
@@ -79,8 +79,7 @@ Mono> list(
@Headers({"Content-Type: application/json"})
@Get(
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan"
- + "/elasticSans")
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans")
@ExpectedResponses({200})
@UnexpectedResponseExceptionType(ManagementException.class)
Mono> listByResourceGroup(
@@ -93,9 +92,8 @@ Mono> listByResourceGroup(
@Headers({"Content-Type: application/json"})
@Put(
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan"
- + "/elasticSans/{elasticSanName}")
- @ExpectedResponses({200, 202})
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}")
+ @ExpectedResponses({200, 201})
@UnexpectedResponseExceptionType(ManagementException.class)
Mono>> create(
@HostParam("$host") String endpoint,
@@ -109,8 +107,7 @@ Mono>> create(
@Headers({"Content-Type: application/json"})
@Patch(
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan"
- + "/elasticSans/{elasticSanName}")
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}")
@ExpectedResponses({200, 202})
@UnexpectedResponseExceptionType(ManagementException.class)
Mono>> update(
@@ -125,8 +122,7 @@ Mono>> update(
@Headers({"Content-Type: application/json"})
@Delete(
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan"
- + "/elasticSans/{elasticSanName}")
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}")
@ExpectedResponses({200, 202, 204})
@UnexpectedResponseExceptionType(ManagementException.class)
Mono>> delete(
@@ -140,8 +136,7 @@ Mono>> delete(
@Headers({"Content-Type: application/json"})
@Get(
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan"
- + "/elasticSans/{elasticSanName}")
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}")
@ExpectedResponses({200})
@UnexpectedResponseExceptionType(ManagementException.class)
Mono> getByResourceGroup(
@@ -653,7 +648,7 @@ private PollerFlux, ElasticSanInner> beginCreateAsyn
@ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
public SyncPoller, ElasticSanInner> beginCreate(
String resourceGroupName, String elasticSanName, ElasticSanInner parameters) {
- return beginCreateAsync(resourceGroupName, elasticSanName, parameters).getSyncPoller();
+ return this.beginCreateAsync(resourceGroupName, elasticSanName, parameters).getSyncPoller();
}
/**
@@ -671,7 +666,7 @@ public SyncPoller, ElasticSanInner> beginCreate(
@ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
public SyncPoller, ElasticSanInner> beginCreate(
String resourceGroupName, String elasticSanName, ElasticSanInner parameters, Context context) {
- return beginCreateAsync(resourceGroupName, elasticSanName, parameters, context).getSyncPoller();
+ return this.beginCreateAsync(resourceGroupName, elasticSanName, parameters, context).getSyncPoller();
}
/**
@@ -918,7 +913,7 @@ private PollerFlux, ElasticSanInner> beginUpdateAsyn
@ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
public SyncPoller, ElasticSanInner> beginUpdate(
String resourceGroupName, String elasticSanName, ElasticSanUpdate parameters) {
- return beginUpdateAsync(resourceGroupName, elasticSanName, parameters).getSyncPoller();
+ return this.beginUpdateAsync(resourceGroupName, elasticSanName, parameters).getSyncPoller();
}
/**
@@ -936,7 +931,7 @@ public SyncPoller, ElasticSanInner> beginUpdate(
@ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
public SyncPoller, ElasticSanInner> beginUpdate(
String resourceGroupName, String elasticSanName, ElasticSanUpdate parameters, Context context) {
- return beginUpdateAsync(resourceGroupName, elasticSanName, parameters, context).getSyncPoller();
+ return this.beginUpdateAsync(resourceGroupName, elasticSanName, parameters, context).getSyncPoller();
}
/**
@@ -1157,7 +1152,7 @@ private PollerFlux, Void> beginDeleteAsync(
*/
@ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
public SyncPoller, Void> beginDelete(String resourceGroupName, String elasticSanName) {
- return beginDeleteAsync(resourceGroupName, elasticSanName).getSyncPoller();
+ return this.beginDeleteAsync(resourceGroupName, elasticSanName).getSyncPoller();
}
/**
@@ -1174,7 +1169,7 @@ public SyncPoller, Void> beginDelete(String resourceGroupName,
@ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
public SyncPoller, Void> beginDelete(
String resourceGroupName, String elasticSanName, Context context) {
- return beginDeleteAsync(resourceGroupName, elasticSanName, context).getSyncPoller();
+ return this.beginDeleteAsync(resourceGroupName, elasticSanName, context).getSyncPoller();
}
/**
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/OperationImpl.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/OperationImpl.java
new file mode 100644
index 0000000000000..e3ce260f9a46b
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/OperationImpl.java
@@ -0,0 +1,50 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.implementation;
+
+import com.azure.resourcemanager.elasticsan.fluent.models.OperationInner;
+import com.azure.resourcemanager.elasticsan.models.ActionType;
+import com.azure.resourcemanager.elasticsan.models.Operation;
+import com.azure.resourcemanager.elasticsan.models.OperationDisplay;
+import com.azure.resourcemanager.elasticsan.models.Origin;
+
+public final class OperationImpl implements Operation {
+ private OperationInner innerObject;
+
+ private final com.azure.resourcemanager.elasticsan.ElasticSanManager serviceManager;
+
+ OperationImpl(OperationInner innerObject, com.azure.resourcemanager.elasticsan.ElasticSanManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public Boolean isDataAction() {
+ return this.innerModel().isDataAction();
+ }
+
+ public OperationDisplay display() {
+ return this.innerModel().display();
+ }
+
+ public Origin origin() {
+ return this.innerModel().origin();
+ }
+
+ public ActionType actionType() {
+ return this.innerModel().actionType();
+ }
+
+ public OperationInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.elasticsan.ElasticSanManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/OperationsClientImpl.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/OperationsClientImpl.java
index 116f9e542908e..7a955f46f96b8 100644
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/OperationsClientImpl.java
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/OperationsClientImpl.java
@@ -25,8 +25,8 @@
import com.azure.core.util.Context;
import com.azure.core.util.FluxUtil;
import com.azure.resourcemanager.elasticsan.fluent.OperationsClient;
-import com.azure.resourcemanager.elasticsan.fluent.models.ElasticSanRPOperationInner;
-import com.azure.resourcemanager.elasticsan.models.ElasticSanOperationListResult;
+import com.azure.resourcemanager.elasticsan.fluent.models.OperationInner;
+import com.azure.resourcemanager.elasticsan.models.OperationListResult;
import reactor.core.publisher.Mono;
/** An instance of this class provides access to all the operations defined in OperationsClient. */
@@ -54,12 +54,12 @@ public final class OperationsClientImpl implements OperationsClient {
*/
@Host("{$host}")
@ServiceInterface(name = "ElasticSanManagement")
- private interface OperationsService {
+ public interface OperationsService {
@Headers({"Content-Type: application/json"})
@Get("/providers/Microsoft.ElasticSan/operations")
@ExpectedResponses({200})
@UnexpectedResponseExceptionType(ManagementException.class)
- Mono> list(
+ Mono> list(
@HostParam("$host") String endpoint,
@QueryParam("api-version") String apiVersion,
@HeaderParam("Accept") String accept,
@@ -75,7 +75,7 @@ Mono> list(
* Mono}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
- private Mono> listSinglePageAsync() {
+ private Mono> listSinglePageAsync() {
if (this.client.getEndpoint() == null) {
return Mono
.error(
@@ -86,7 +86,7 @@ private Mono> listSinglePageAsync() {
return FluxUtil
.withContext(
context -> service.list(this.client.getEndpoint(), this.client.getApiVersion(), accept, context))
- .>map(
+ .>map(
res ->
new PagedResponseBase<>(
res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(), null, null))
@@ -104,7 +104,7 @@ private Mono> listSinglePageAsync() {
* Mono}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
- private Mono> listSinglePageAsync(Context context) {
+ private Mono> listSinglePageAsync(Context context) {
if (this.client.getEndpoint() == null) {
return Mono
.error(
@@ -129,7 +129,7 @@ private Mono> listSinglePageAsync(Cont
* @return a list of ElasticSan operations as paginated response with {@link PagedFlux}.
*/
@ServiceMethod(returns = ReturnType.COLLECTION)
- private PagedFlux listAsync() {
+ private PagedFlux listAsync() {
return new PagedFlux<>(() -> listSinglePageAsync());
}
@@ -143,7 +143,7 @@ private PagedFlux listAsync() {
* @return a list of ElasticSan operations as paginated response with {@link PagedFlux}.
*/
@ServiceMethod(returns = ReturnType.COLLECTION)
- private PagedFlux listAsync(Context context) {
+ private PagedFlux listAsync(Context context) {
return new PagedFlux<>(() -> listSinglePageAsync(context));
}
@@ -155,7 +155,7 @@ private PagedFlux listAsync(Context context) {
* @return a list of ElasticSan operations as paginated response with {@link PagedIterable}.
*/
@ServiceMethod(returns = ReturnType.COLLECTION)
- public PagedIterable list() {
+ public PagedIterable list() {
return new PagedIterable<>(listAsync());
}
@@ -169,7 +169,7 @@ public PagedIterable list() {
* @return a list of ElasticSan operations as paginated response with {@link PagedIterable}.
*/
@ServiceMethod(returns = ReturnType.COLLECTION)
- public PagedIterable list(Context context) {
+ public PagedIterable list(Context context) {
return new PagedIterable<>(listAsync(context));
}
}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/OperationsImpl.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/OperationsImpl.java
index 65ef49da713b0..968122db7012d 100644
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/OperationsImpl.java
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/OperationsImpl.java
@@ -8,8 +8,8 @@
import com.azure.core.util.Context;
import com.azure.core.util.logging.ClientLogger;
import com.azure.resourcemanager.elasticsan.fluent.OperationsClient;
-import com.azure.resourcemanager.elasticsan.fluent.models.ElasticSanRPOperationInner;
-import com.azure.resourcemanager.elasticsan.models.ElasticSanRPOperation;
+import com.azure.resourcemanager.elasticsan.fluent.models.OperationInner;
+import com.azure.resourcemanager.elasticsan.models.Operation;
import com.azure.resourcemanager.elasticsan.models.Operations;
public final class OperationsImpl implements Operations {
@@ -25,14 +25,14 @@ public OperationsImpl(
this.serviceManager = serviceManager;
}
- public PagedIterable list() {
- PagedIterable inner = this.serviceClient().list();
- return Utils.mapPage(inner, inner1 -> new ElasticSanRPOperationImpl(inner1, this.manager()));
+ public PagedIterable list() {
+ PagedIterable inner = this.serviceClient().list();
+ return Utils.mapPage(inner, inner1 -> new OperationImpl(inner1, this.manager()));
}
- public PagedIterable list(Context context) {
- PagedIterable inner = this.serviceClient().list(context);
- return Utils.mapPage(inner, inner1 -> new ElasticSanRPOperationImpl(inner1, this.manager()));
+ public PagedIterable list(Context context) {
+ PagedIterable inner = this.serviceClient().list(context);
+ return Utils.mapPage(inner, inner1 -> new OperationImpl(inner1, this.manager()));
}
private OperationsClient serviceClient() {
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/PrivateEndpointConnectionImpl.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/PrivateEndpointConnectionImpl.java
new file mode 100644
index 0000000000000..742b6e663da6e
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/PrivateEndpointConnectionImpl.java
@@ -0,0 +1,147 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.implementation;
+
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.elasticsan.fluent.models.PrivateEndpointConnectionInner;
+import com.azure.resourcemanager.elasticsan.models.PrivateEndpoint;
+import com.azure.resourcemanager.elasticsan.models.PrivateEndpointConnection;
+import com.azure.resourcemanager.elasticsan.models.PrivateLinkServiceConnectionState;
+import com.azure.resourcemanager.elasticsan.models.ProvisioningStates;
+import java.util.Collections;
+import java.util.List;
+
+public final class PrivateEndpointConnectionImpl
+ implements PrivateEndpointConnection, PrivateEndpointConnection.Definition {
+ private PrivateEndpointConnectionInner innerObject;
+
+ private final com.azure.resourcemanager.elasticsan.ElasticSanManager serviceManager;
+
+ PrivateEndpointConnectionImpl(
+ PrivateEndpointConnectionInner innerObject,
+ com.azure.resourcemanager.elasticsan.ElasticSanManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public ProvisioningStates provisioningState() {
+ return this.innerModel().provisioningState();
+ }
+
+ public PrivateEndpoint privateEndpoint() {
+ return this.innerModel().privateEndpoint();
+ }
+
+ public PrivateLinkServiceConnectionState privateLinkServiceConnectionState() {
+ return this.innerModel().privateLinkServiceConnectionState();
+ }
+
+ public List groupIds() {
+ List inner = this.innerModel().groupIds();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public PrivateEndpointConnectionInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.elasticsan.ElasticSanManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String elasticSanName;
+
+ private String privateEndpointConnectionName;
+
+ public PrivateEndpointConnectionImpl withExistingElasticSan(String resourceGroupName, String elasticSanName) {
+ this.resourceGroupName = resourceGroupName;
+ this.elasticSanName = elasticSanName;
+ return this;
+ }
+
+ public PrivateEndpointConnection create() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getPrivateEndpointConnections()
+ .create(
+ resourceGroupName, elasticSanName, privateEndpointConnectionName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public PrivateEndpointConnection create(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getPrivateEndpointConnections()
+ .create(resourceGroupName, elasticSanName, privateEndpointConnectionName, this.innerModel(), context);
+ return this;
+ }
+
+ PrivateEndpointConnectionImpl(String name, com.azure.resourcemanager.elasticsan.ElasticSanManager serviceManager) {
+ this.innerObject = new PrivateEndpointConnectionInner();
+ this.serviceManager = serviceManager;
+ this.privateEndpointConnectionName = name;
+ }
+
+ public PrivateEndpointConnection refresh() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getPrivateEndpointConnections()
+ .getWithResponse(resourceGroupName, elasticSanName, privateEndpointConnectionName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public PrivateEndpointConnection refresh(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getPrivateEndpointConnections()
+ .getWithResponse(resourceGroupName, elasticSanName, privateEndpointConnectionName, context)
+ .getValue();
+ return this;
+ }
+
+ public PrivateEndpointConnectionImpl withPrivateLinkServiceConnectionState(
+ PrivateLinkServiceConnectionState privateLinkServiceConnectionState) {
+ this.innerModel().withPrivateLinkServiceConnectionState(privateLinkServiceConnectionState);
+ return this;
+ }
+
+ public PrivateEndpointConnectionImpl withPrivateEndpoint(PrivateEndpoint privateEndpoint) {
+ this.innerModel().withPrivateEndpoint(privateEndpoint);
+ return this;
+ }
+
+ public PrivateEndpointConnectionImpl withGroupIds(List groupIds) {
+ this.innerModel().withGroupIds(groupIds);
+ return this;
+ }
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/PrivateEndpointConnectionsClientImpl.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/PrivateEndpointConnectionsClientImpl.java
new file mode 100644
index 0000000000000..d2d5b1f29f1fc
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/PrivateEndpointConnectionsClientImpl.java
@@ -0,0 +1,1067 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.Delete;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Put;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.elasticsan.fluent.PrivateEndpointConnectionsClient;
+import com.azure.resourcemanager.elasticsan.fluent.models.PrivateEndpointConnectionInner;
+import com.azure.resourcemanager.elasticsan.models.PrivateEndpointConnectionListResult;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in PrivateEndpointConnectionsClient. */
+public final class PrivateEndpointConnectionsClientImpl implements PrivateEndpointConnectionsClient {
+ /** The proxy service used to perform REST calls. */
+ private final PrivateEndpointConnectionsService service;
+
+ /** The service client containing this operation class. */
+ private final ElasticSanManagementImpl client;
+
+ /**
+ * Initializes an instance of PrivateEndpointConnectionsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ PrivateEndpointConnectionsClientImpl(ElasticSanManagementImpl client) {
+ this.service =
+ RestProxy
+ .create(
+ PrivateEndpointConnectionsService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for ElasticSanManagementPrivateEndpointConnections to be used by the
+ * proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "ElasticSanManagement")
+ public interface PrivateEndpointConnectionsService {
+ @Headers({"Content-Type: application/json"})
+ @Put(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}")
+ @ExpectedResponses({200, 201})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> create(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("elasticSanName") String elasticSanName,
+ @PathParam("privateEndpointConnectionName") String privateEndpointConnectionName,
+ @QueryParam("api-version") String apiVersion,
+ @BodyParam("application/json") PrivateEndpointConnectionInner parameters,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("elasticSanName") String elasticSanName,
+ @PathParam("privateEndpointConnectionName") String privateEndpointConnectionName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Delete(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}")
+ @ExpectedResponses({200, 202, 204})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("elasticSanName") String elasticSanName,
+ @PathParam("privateEndpointConnectionName") String privateEndpointConnectionName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("elasticSanName") String elasticSanName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Update the state of specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @param parameters Private Endpoint Connection Approval object.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for PrivateEndpoint Connection object along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createWithResponseAsync(
+ String resourceGroupName,
+ String elasticSanName,
+ String privateEndpointConnectionName,
+ PrivateEndpointConnectionInner parameters) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (elasticSanName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter elasticSanName is required and cannot be null."));
+ }
+ if (privateEndpointConnectionName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter privateEndpointConnectionName is required and cannot be null."));
+ }
+ if (parameters == null) {
+ return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ } else {
+ parameters.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .create(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ elasticSanName,
+ privateEndpointConnectionName,
+ this.client.getApiVersion(),
+ parameters,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Update the state of specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @param parameters Private Endpoint Connection Approval object.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for PrivateEndpoint Connection object along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createWithResponseAsync(
+ String resourceGroupName,
+ String elasticSanName,
+ String privateEndpointConnectionName,
+ PrivateEndpointConnectionInner parameters,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (elasticSanName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter elasticSanName is required and cannot be null."));
+ }
+ if (privateEndpointConnectionName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter privateEndpointConnectionName is required and cannot be null."));
+ }
+ if (parameters == null) {
+ return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ } else {
+ parameters.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .create(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ elasticSanName,
+ privateEndpointConnectionName,
+ this.client.getApiVersion(),
+ parameters,
+ accept,
+ context);
+ }
+
+ /**
+ * Update the state of specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @param parameters Private Endpoint Connection Approval object.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of response for PrivateEndpoint Connection object.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, PrivateEndpointConnectionInner> beginCreateAsync(
+ String resourceGroupName,
+ String elasticSanName,
+ String privateEndpointConnectionName,
+ PrivateEndpointConnectionInner parameters) {
+ Mono>> mono =
+ createWithResponseAsync(resourceGroupName, elasticSanName, privateEndpointConnectionName, parameters);
+ return this
+ .client
+ .getLroResult(
+ mono,
+ this.client.getHttpPipeline(),
+ PrivateEndpointConnectionInner.class,
+ PrivateEndpointConnectionInner.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Update the state of specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @param parameters Private Endpoint Connection Approval object.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of response for PrivateEndpoint Connection object.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, PrivateEndpointConnectionInner> beginCreateAsync(
+ String resourceGroupName,
+ String elasticSanName,
+ String privateEndpointConnectionName,
+ PrivateEndpointConnectionInner parameters,
+ Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono =
+ createWithResponseAsync(
+ resourceGroupName, elasticSanName, privateEndpointConnectionName, parameters, context);
+ return this
+ .client
+ .getLroResult(
+ mono,
+ this.client.getHttpPipeline(),
+ PrivateEndpointConnectionInner.class,
+ PrivateEndpointConnectionInner.class,
+ context);
+ }
+
+ /**
+ * Update the state of specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @param parameters Private Endpoint Connection Approval object.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of response for PrivateEndpoint Connection object.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, PrivateEndpointConnectionInner> beginCreate(
+ String resourceGroupName,
+ String elasticSanName,
+ String privateEndpointConnectionName,
+ PrivateEndpointConnectionInner parameters) {
+ return this
+ .beginCreateAsync(resourceGroupName, elasticSanName, privateEndpointConnectionName, parameters)
+ .getSyncPoller();
+ }
+
+ /**
+ * Update the state of specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @param parameters Private Endpoint Connection Approval object.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of response for PrivateEndpoint Connection object.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, PrivateEndpointConnectionInner> beginCreate(
+ String resourceGroupName,
+ String elasticSanName,
+ String privateEndpointConnectionName,
+ PrivateEndpointConnectionInner parameters,
+ Context context) {
+ return this
+ .beginCreateAsync(resourceGroupName, elasticSanName, privateEndpointConnectionName, parameters, context)
+ .getSyncPoller();
+ }
+
+ /**
+ * Update the state of specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @param parameters Private Endpoint Connection Approval object.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for PrivateEndpoint Connection object on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createAsync(
+ String resourceGroupName,
+ String elasticSanName,
+ String privateEndpointConnectionName,
+ PrivateEndpointConnectionInner parameters) {
+ return beginCreateAsync(resourceGroupName, elasticSanName, privateEndpointConnectionName, parameters)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Update the state of specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @param parameters Private Endpoint Connection Approval object.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for PrivateEndpoint Connection object on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createAsync(
+ String resourceGroupName,
+ String elasticSanName,
+ String privateEndpointConnectionName,
+ PrivateEndpointConnectionInner parameters,
+ Context context) {
+ return beginCreateAsync(resourceGroupName, elasticSanName, privateEndpointConnectionName, parameters, context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Update the state of specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @param parameters Private Endpoint Connection Approval object.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for PrivateEndpoint Connection object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PrivateEndpointConnectionInner create(
+ String resourceGroupName,
+ String elasticSanName,
+ String privateEndpointConnectionName,
+ PrivateEndpointConnectionInner parameters) {
+ return createAsync(resourceGroupName, elasticSanName, privateEndpointConnectionName, parameters).block();
+ }
+
+ /**
+ * Update the state of specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @param parameters Private Endpoint Connection Approval object.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for PrivateEndpoint Connection object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PrivateEndpointConnectionInner create(
+ String resourceGroupName,
+ String elasticSanName,
+ String privateEndpointConnectionName,
+ PrivateEndpointConnectionInner parameters,
+ Context context) {
+ return createAsync(resourceGroupName, elasticSanName, privateEndpointConnectionName, parameters, context)
+ .block();
+ }
+
+ /**
+ * Gets the specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified private endpoint connection associated with the Elastic San along with {@link Response} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String resourceGroupName, String elasticSanName, String privateEndpointConnectionName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (elasticSanName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter elasticSanName is required and cannot be null."));
+ }
+ if (privateEndpointConnectionName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter privateEndpointConnectionName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ elasticSanName,
+ privateEndpointConnectionName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets the specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified private endpoint connection associated with the Elastic San along with {@link Response} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String resourceGroupName, String elasticSanName, String privateEndpointConnectionName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (elasticSanName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter elasticSanName is required and cannot be null."));
+ }
+ if (privateEndpointConnectionName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter privateEndpointConnectionName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ elasticSanName,
+ privateEndpointConnectionName,
+ this.client.getApiVersion(),
+ accept,
+ context);
+ }
+
+ /**
+ * Gets the specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified private endpoint connection associated with the Elastic San on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(
+ String resourceGroupName, String elasticSanName, String privateEndpointConnectionName) {
+ return getWithResponseAsync(resourceGroupName, elasticSanName, privateEndpointConnectionName)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Gets the specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified private endpoint connection associated with the Elastic San along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(
+ String resourceGroupName, String elasticSanName, String privateEndpointConnectionName, Context context) {
+ return getWithResponseAsync(resourceGroupName, elasticSanName, privateEndpointConnectionName, context).block();
+ }
+
+ /**
+ * Gets the specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified private endpoint connection associated with the Elastic San.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PrivateEndpointConnectionInner get(
+ String resourceGroupName, String elasticSanName, String privateEndpointConnectionName) {
+ return getWithResponse(resourceGroupName, elasticSanName, privateEndpointConnectionName, Context.NONE)
+ .getValue();
+ }
+
+ /**
+ * Deletes the specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(
+ String resourceGroupName, String elasticSanName, String privateEndpointConnectionName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (elasticSanName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter elasticSanName is required and cannot be null."));
+ }
+ if (privateEndpointConnectionName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter privateEndpointConnectionName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .delete(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ elasticSanName,
+ privateEndpointConnectionName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Deletes the specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(
+ String resourceGroupName, String elasticSanName, String privateEndpointConnectionName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (elasticSanName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter elasticSanName is required and cannot be null."));
+ }
+ if (privateEndpointConnectionName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter privateEndpointConnectionName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .delete(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ elasticSanName,
+ privateEndpointConnectionName,
+ this.client.getApiVersion(),
+ accept,
+ context);
+ }
+
+ /**
+ * Deletes the specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(
+ String resourceGroupName, String elasticSanName, String privateEndpointConnectionName) {
+ Mono>> mono =
+ deleteWithResponseAsync(resourceGroupName, elasticSanName, privateEndpointConnectionName);
+ return this
+ .client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), Void.class, Void.class, this.client.getContext());
+ }
+
+ /**
+ * Deletes the specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(
+ String resourceGroupName, String elasticSanName, String privateEndpointConnectionName, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono =
+ deleteWithResponseAsync(resourceGroupName, elasticSanName, privateEndpointConnectionName, context);
+ return this
+ .client
+ .getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class, context);
+ }
+
+ /**
+ * Deletes the specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(
+ String resourceGroupName, String elasticSanName, String privateEndpointConnectionName) {
+ return this.beginDeleteAsync(resourceGroupName, elasticSanName, privateEndpointConnectionName).getSyncPoller();
+ }
+
+ /**
+ * Deletes the specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(
+ String resourceGroupName, String elasticSanName, String privateEndpointConnectionName, Context context) {
+ return this
+ .beginDeleteAsync(resourceGroupName, elasticSanName, privateEndpointConnectionName, context)
+ .getSyncPoller();
+ }
+
+ /**
+ * Deletes the specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(
+ String resourceGroupName, String elasticSanName, String privateEndpointConnectionName) {
+ return beginDeleteAsync(resourceGroupName, elasticSanName, privateEndpointConnectionName)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Deletes the specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(
+ String resourceGroupName, String elasticSanName, String privateEndpointConnectionName, Context context) {
+ return beginDeleteAsync(resourceGroupName, elasticSanName, privateEndpointConnectionName, context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Deletes the specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void delete(String resourceGroupName, String elasticSanName, String privateEndpointConnectionName) {
+ deleteAsync(resourceGroupName, elasticSanName, privateEndpointConnectionName).block();
+ }
+
+ /**
+ * Deletes the specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void delete(
+ String resourceGroupName, String elasticSanName, String privateEndpointConnectionName, Context context) {
+ deleteAsync(resourceGroupName, elasticSanName, privateEndpointConnectionName, context).block();
+ }
+
+ /**
+ * List all Private Endpoint Connections associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of private endpoint connections associated with SAN along with {@link PagedResponse} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(
+ String resourceGroupName, String elasticSanName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (elasticSanName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter elasticSanName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ elasticSanName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(), null, null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * List all Private Endpoint Connections associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of private endpoint connections associated with SAN along with {@link PagedResponse} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(
+ String resourceGroupName, String elasticSanName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (elasticSanName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter elasticSanName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ elasticSanName,
+ this.client.getApiVersion(),
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(), null, null));
+ }
+
+ /**
+ * List all Private Endpoint Connections associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of private endpoint connections associated with SAN as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(String resourceGroupName, String elasticSanName) {
+ return new PagedFlux<>(() -> listSinglePageAsync(resourceGroupName, elasticSanName));
+ }
+
+ /**
+ * List all Private Endpoint Connections associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of private endpoint connections associated with SAN as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(
+ String resourceGroupName, String elasticSanName, Context context) {
+ return new PagedFlux<>(() -> listSinglePageAsync(resourceGroupName, elasticSanName, context));
+ }
+
+ /**
+ * List all Private Endpoint Connections associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of private endpoint connections associated with SAN as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(String resourceGroupName, String elasticSanName) {
+ return new PagedIterable<>(listAsync(resourceGroupName, elasticSanName));
+ }
+
+ /**
+ * List all Private Endpoint Connections associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of private endpoint connections associated with SAN as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(
+ String resourceGroupName, String elasticSanName, Context context) {
+ return new PagedIterable<>(listAsync(resourceGroupName, elasticSanName, context));
+ }
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/PrivateEndpointConnectionsImpl.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/PrivateEndpointConnectionsImpl.java
new file mode 100644
index 0000000000000..bcfc8e168cbd4
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/PrivateEndpointConnectionsImpl.java
@@ -0,0 +1,210 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.SimpleResponse;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.elasticsan.fluent.PrivateEndpointConnectionsClient;
+import com.azure.resourcemanager.elasticsan.fluent.models.PrivateEndpointConnectionInner;
+import com.azure.resourcemanager.elasticsan.models.PrivateEndpointConnection;
+import com.azure.resourcemanager.elasticsan.models.PrivateEndpointConnections;
+
+public final class PrivateEndpointConnectionsImpl implements PrivateEndpointConnections {
+ private static final ClientLogger LOGGER = new ClientLogger(PrivateEndpointConnectionsImpl.class);
+
+ private final PrivateEndpointConnectionsClient innerClient;
+
+ private final com.azure.resourcemanager.elasticsan.ElasticSanManager serviceManager;
+
+ public PrivateEndpointConnectionsImpl(
+ PrivateEndpointConnectionsClient innerClient,
+ com.azure.resourcemanager.elasticsan.ElasticSanManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public Response getWithResponse(
+ String resourceGroupName, String elasticSanName, String privateEndpointConnectionName, Context context) {
+ Response inner =
+ this
+ .serviceClient()
+ .getWithResponse(resourceGroupName, elasticSanName, privateEndpointConnectionName, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new PrivateEndpointConnectionImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public PrivateEndpointConnection get(
+ String resourceGroupName, String elasticSanName, String privateEndpointConnectionName) {
+ PrivateEndpointConnectionInner inner =
+ this.serviceClient().get(resourceGroupName, elasticSanName, privateEndpointConnectionName);
+ if (inner != null) {
+ return new PrivateEndpointConnectionImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public void delete(String resourceGroupName, String elasticSanName, String privateEndpointConnectionName) {
+ this.serviceClient().delete(resourceGroupName, elasticSanName, privateEndpointConnectionName);
+ }
+
+ public void delete(
+ String resourceGroupName, String elasticSanName, String privateEndpointConnectionName, Context context) {
+ this.serviceClient().delete(resourceGroupName, elasticSanName, privateEndpointConnectionName, context);
+ }
+
+ public PagedIterable list(String resourceGroupName, String elasticSanName) {
+ PagedIterable inner =
+ this.serviceClient().list(resourceGroupName, elasticSanName);
+ return Utils.mapPage(inner, inner1 -> new PrivateEndpointConnectionImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list(
+ String resourceGroupName, String elasticSanName, Context context) {
+ PagedIterable inner =
+ this.serviceClient().list(resourceGroupName, elasticSanName, context);
+ return Utils.mapPage(inner, inner1 -> new PrivateEndpointConnectionImpl(inner1, this.manager()));
+ }
+
+ public PrivateEndpointConnection getById(String id) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String elasticSanName = Utils.getValueFromIdByName(id, "elasticSans");
+ if (elasticSanName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'elasticSans'.", id)));
+ }
+ String privateEndpointConnectionName = Utils.getValueFromIdByName(id, "privateEndpointConnections");
+ if (privateEndpointConnectionName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment 'privateEndpointConnections'.",
+ id)));
+ }
+ return this
+ .getWithResponse(resourceGroupName, elasticSanName, privateEndpointConnectionName, Context.NONE)
+ .getValue();
+ }
+
+ public Response getByIdWithResponse(String id, Context context) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String elasticSanName = Utils.getValueFromIdByName(id, "elasticSans");
+ if (elasticSanName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'elasticSans'.", id)));
+ }
+ String privateEndpointConnectionName = Utils.getValueFromIdByName(id, "privateEndpointConnections");
+ if (privateEndpointConnectionName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment 'privateEndpointConnections'.",
+ id)));
+ }
+ return this.getWithResponse(resourceGroupName, elasticSanName, privateEndpointConnectionName, context);
+ }
+
+ public void deleteById(String id) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String elasticSanName = Utils.getValueFromIdByName(id, "elasticSans");
+ if (elasticSanName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'elasticSans'.", id)));
+ }
+ String privateEndpointConnectionName = Utils.getValueFromIdByName(id, "privateEndpointConnections");
+ if (privateEndpointConnectionName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment 'privateEndpointConnections'.",
+ id)));
+ }
+ this.delete(resourceGroupName, elasticSanName, privateEndpointConnectionName, Context.NONE);
+ }
+
+ public void deleteByIdWithResponse(String id, Context context) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String elasticSanName = Utils.getValueFromIdByName(id, "elasticSans");
+ if (elasticSanName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'elasticSans'.", id)));
+ }
+ String privateEndpointConnectionName = Utils.getValueFromIdByName(id, "privateEndpointConnections");
+ if (privateEndpointConnectionName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment 'privateEndpointConnections'.",
+ id)));
+ }
+ this.delete(resourceGroupName, elasticSanName, privateEndpointConnectionName, context);
+ }
+
+ private PrivateEndpointConnectionsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.elasticsan.ElasticSanManager manager() {
+ return this.serviceManager;
+ }
+
+ public PrivateEndpointConnectionImpl define(String name) {
+ return new PrivateEndpointConnectionImpl(name, this.manager());
+ }
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/PrivateLinkResourceListResultImpl.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/PrivateLinkResourceListResultImpl.java
new file mode 100644
index 0000000000000..7bd18a681ddb7
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/PrivateLinkResourceListResultImpl.java
@@ -0,0 +1,45 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.implementation;
+
+import com.azure.resourcemanager.elasticsan.fluent.models.PrivateLinkResourceListResultInner;
+import com.azure.resourcemanager.elasticsan.models.PrivateLinkResource;
+import com.azure.resourcemanager.elasticsan.models.PrivateLinkResourceListResult;
+import java.util.Collections;
+import java.util.List;
+
+public final class PrivateLinkResourceListResultImpl implements PrivateLinkResourceListResult {
+ private PrivateLinkResourceListResultInner innerObject;
+
+ private final com.azure.resourcemanager.elasticsan.ElasticSanManager serviceManager;
+
+ PrivateLinkResourceListResultImpl(
+ PrivateLinkResourceListResultInner innerObject,
+ com.azure.resourcemanager.elasticsan.ElasticSanManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public List value() {
+ List inner = this.innerModel().value();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public String nextLink() {
+ return this.innerModel().nextLink();
+ }
+
+ public PrivateLinkResourceListResultInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.elasticsan.ElasticSanManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/PrivateLinkResourcesClientImpl.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/PrivateLinkResourcesClientImpl.java
new file mode 100644
index 0000000000000..a4baf80293fde
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/PrivateLinkResourcesClientImpl.java
@@ -0,0 +1,215 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.implementation;
+
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.elasticsan.fluent.PrivateLinkResourcesClient;
+import com.azure.resourcemanager.elasticsan.fluent.models.PrivateLinkResourceListResultInner;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in PrivateLinkResourcesClient. */
+public final class PrivateLinkResourcesClientImpl implements PrivateLinkResourcesClient {
+ /** The proxy service used to perform REST calls. */
+ private final PrivateLinkResourcesService service;
+
+ /** The service client containing this operation class. */
+ private final ElasticSanManagementImpl client;
+
+ /**
+ * Initializes an instance of PrivateLinkResourcesClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ PrivateLinkResourcesClientImpl(ElasticSanManagementImpl client) {
+ this.service =
+ RestProxy
+ .create(PrivateLinkResourcesService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for ElasticSanManagementPrivateLinkResources to be used by the proxy
+ * service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "ElasticSanManagement")
+ public interface PrivateLinkResourcesService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateLinkResources")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByElasticSan(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("elasticSanName") String elasticSanName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Gets the private link resources that need to be created for a elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the private link resources that need to be created for a elastic San along with {@link Response} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByElasticSanWithResponseAsync(
+ String resourceGroupName, String elasticSanName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (elasticSanName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter elasticSanName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .listByElasticSan(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ elasticSanName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets the private link resources that need to be created for a elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the private link resources that need to be created for a elastic San along with {@link Response} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByElasticSanWithResponseAsync(
+ String resourceGroupName, String elasticSanName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (elasticSanName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter elasticSanName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByElasticSan(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ elasticSanName,
+ this.client.getApiVersion(),
+ accept,
+ context);
+ }
+
+ /**
+ * Gets the private link resources that need to be created for a elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the private link resources that need to be created for a elastic San on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono listByElasticSanAsync(
+ String resourceGroupName, String elasticSanName) {
+ return listByElasticSanWithResponseAsync(resourceGroupName, elasticSanName)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Gets the private link resources that need to be created for a elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the private link resources that need to be created for a elastic San along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response listByElasticSanWithResponse(
+ String resourceGroupName, String elasticSanName, Context context) {
+ return listByElasticSanWithResponseAsync(resourceGroupName, elasticSanName, context).block();
+ }
+
+ /**
+ * Gets the private link resources that need to be created for a elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the private link resources that need to be created for a elastic San.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PrivateLinkResourceListResultInner listByElasticSan(String resourceGroupName, String elasticSanName) {
+ return listByElasticSanWithResponse(resourceGroupName, elasticSanName, Context.NONE).getValue();
+ }
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/PrivateLinkResourcesImpl.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/PrivateLinkResourcesImpl.java
new file mode 100644
index 0000000000000..d37945e3aa034
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/PrivateLinkResourcesImpl.java
@@ -0,0 +1,61 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.implementation;
+
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.SimpleResponse;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.elasticsan.fluent.PrivateLinkResourcesClient;
+import com.azure.resourcemanager.elasticsan.fluent.models.PrivateLinkResourceListResultInner;
+import com.azure.resourcemanager.elasticsan.models.PrivateLinkResourceListResult;
+import com.azure.resourcemanager.elasticsan.models.PrivateLinkResources;
+
+public final class PrivateLinkResourcesImpl implements PrivateLinkResources {
+ private static final ClientLogger LOGGER = new ClientLogger(PrivateLinkResourcesImpl.class);
+
+ private final PrivateLinkResourcesClient innerClient;
+
+ private final com.azure.resourcemanager.elasticsan.ElasticSanManager serviceManager;
+
+ public PrivateLinkResourcesImpl(
+ PrivateLinkResourcesClient innerClient, com.azure.resourcemanager.elasticsan.ElasticSanManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public Response listByElasticSanWithResponse(
+ String resourceGroupName, String elasticSanName, Context context) {
+ Response inner =
+ this.serviceClient().listByElasticSanWithResponse(resourceGroupName, elasticSanName, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new PrivateLinkResourceListResultImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public PrivateLinkResourceListResult listByElasticSan(String resourceGroupName, String elasticSanName) {
+ PrivateLinkResourceListResultInner inner =
+ this.serviceClient().listByElasticSan(resourceGroupName, elasticSanName);
+ if (inner != null) {
+ return new PrivateLinkResourceListResultImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ private PrivateLinkResourcesClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.elasticsan.ElasticSanManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/SkusClientImpl.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/SkusClientImpl.java
index 7c43bdd05f384..e3d5ed67778de 100644
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/SkusClientImpl.java
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/SkusClientImpl.java
@@ -54,7 +54,7 @@ public final class SkusClientImpl implements SkusClient {
*/
@Host("{$host}")
@ServiceInterface(name = "ElasticSanManagement")
- private interface SkusService {
+ public interface SkusService {
@Headers({"Content-Type: application/json"})
@Get("/subscriptions/{subscriptionId}/providers/Microsoft.ElasticSan/skus")
@ExpectedResponses({200})
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/VolumeGroupImpl.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/VolumeGroupImpl.java
index fa3e91d5106fc..6071e1e8a19a2 100644
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/VolumeGroupImpl.java
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/VolumeGroupImpl.java
@@ -6,15 +6,18 @@
import com.azure.core.management.SystemData;
import com.azure.core.util.Context;
+import com.azure.resourcemanager.elasticsan.fluent.models.PrivateEndpointConnectionInner;
import com.azure.resourcemanager.elasticsan.fluent.models.VolumeGroupInner;
import com.azure.resourcemanager.elasticsan.models.EncryptionType;
import com.azure.resourcemanager.elasticsan.models.NetworkRuleSet;
+import com.azure.resourcemanager.elasticsan.models.PrivateEndpointConnection;
import com.azure.resourcemanager.elasticsan.models.ProvisioningStates;
import com.azure.resourcemanager.elasticsan.models.StorageTargetType;
import com.azure.resourcemanager.elasticsan.models.VolumeGroup;
import com.azure.resourcemanager.elasticsan.models.VolumeGroupUpdate;
import java.util.Collections;
-import java.util.Map;
+import java.util.List;
+import java.util.stream.Collectors;
public final class VolumeGroupImpl implements VolumeGroup, VolumeGroup.Definition, VolumeGroup.Update {
private VolumeGroupInner innerObject;
@@ -37,15 +40,6 @@ public SystemData systemData() {
return this.innerModel().systemData();
}
- public Map tags() {
- Map inner = this.innerModel().tags();
- if (inner != null) {
- return Collections.unmodifiableMap(inner);
- } else {
- return Collections.emptyMap();
- }
- }
-
public ProvisioningStates provisioningState() {
return this.innerModel().provisioningState();
}
@@ -62,6 +56,20 @@ public NetworkRuleSet networkAcls() {
return this.innerModel().networkAcls();
}
+ public List privateEndpointConnections() {
+ List inner = this.innerModel().privateEndpointConnections();
+ if (inner != null) {
+ return Collections
+ .unmodifiableList(
+ inner
+ .stream()
+ .map(inner1 -> new PrivateEndpointConnectionImpl(inner1, this.manager()))
+ .collect(Collectors.toList()));
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
public String resourceGroupName() {
return resourceGroupName;
}
@@ -164,16 +172,6 @@ public VolumeGroup refresh(Context context) {
return this;
}
- public VolumeGroupImpl withTags(Map tags) {
- if (isInCreateMode()) {
- this.innerModel().withTags(tags);
- return this;
- } else {
- this.updateParameters.withTags(tags);
- return this;
- }
- }
-
public VolumeGroupImpl withProtocolType(StorageTargetType protocolType) {
if (isInCreateMode()) {
this.innerModel().withProtocolType(protocolType);
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/VolumeGroupsClientImpl.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/VolumeGroupsClientImpl.java
index 17e694a1a3977..86578dfdf9b76 100644
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/VolumeGroupsClientImpl.java
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/VolumeGroupsClientImpl.java
@@ -65,11 +65,10 @@ public final class VolumeGroupsClientImpl implements VolumeGroupsClient {
*/
@Host("{$host}")
@ServiceInterface(name = "ElasticSanManagement")
- private interface VolumeGroupsService {
+ public interface VolumeGroupsService {
@Headers({"Content-Type: application/json"})
@Get(
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan"
- + "/elasticSans/{elasticSanName}/volumeGroups")
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumeGroups")
@ExpectedResponses({200})
@UnexpectedResponseExceptionType(ManagementException.class)
Mono> listByElasticSan(
@@ -83,9 +82,8 @@ Mono> listByElasticSan(
@Headers({"Content-Type: application/json"})
@Put(
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan"
- + "/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}")
- @ExpectedResponses({200, 202})
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}")
+ @ExpectedResponses({200, 201})
@UnexpectedResponseExceptionType(ManagementException.class)
Mono>> create(
@HostParam("$host") String endpoint,
@@ -100,8 +98,7 @@ Mono>> create(
@Headers({"Content-Type: application/json"})
@Patch(
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan"
- + "/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}")
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}")
@ExpectedResponses({200, 202})
@UnexpectedResponseExceptionType(ManagementException.class)
Mono>> update(
@@ -117,8 +114,7 @@ Mono>> update(
@Headers({"Content-Type: application/json"})
@Delete(
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan"
- + "/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}")
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}")
@ExpectedResponses({200, 202, 204})
@UnexpectedResponseExceptionType(ManagementException.class)
Mono>> delete(
@@ -133,8 +129,7 @@ Mono>> delete(
@Headers({"Content-Type: application/json"})
@Get(
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan"
- + "/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}")
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}")
@ExpectedResponses({200})
@UnexpectedResponseExceptionType(ManagementException.class)
Mono> get(
@@ -533,7 +528,7 @@ private PollerFlux, VolumeGroupInner> beginCreateAs
@ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
public SyncPoller, VolumeGroupInner> beginCreate(
String resourceGroupName, String elasticSanName, String volumeGroupName, VolumeGroupInner parameters) {
- return beginCreateAsync(resourceGroupName, elasticSanName, volumeGroupName, parameters).getSyncPoller();
+ return this.beginCreateAsync(resourceGroupName, elasticSanName, volumeGroupName, parameters).getSyncPoller();
}
/**
@@ -556,7 +551,8 @@ public SyncPoller, VolumeGroupInner> beginCreate(
String volumeGroupName,
VolumeGroupInner parameters,
Context context) {
- return beginCreateAsync(resourceGroupName, elasticSanName, volumeGroupName, parameters, context)
+ return this
+ .beginCreateAsync(resourceGroupName, elasticSanName, volumeGroupName, parameters, context)
.getSyncPoller();
}
@@ -841,7 +837,7 @@ private PollerFlux, VolumeGroupInner> beginUpdateAs
@ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
public SyncPoller, VolumeGroupInner> beginUpdate(
String resourceGroupName, String elasticSanName, String volumeGroupName, VolumeGroupUpdate parameters) {
- return beginUpdateAsync(resourceGroupName, elasticSanName, volumeGroupName, parameters).getSyncPoller();
+ return this.beginUpdateAsync(resourceGroupName, elasticSanName, volumeGroupName, parameters).getSyncPoller();
}
/**
@@ -864,7 +860,8 @@ public SyncPoller, VolumeGroupInner> beginUpdate(
String volumeGroupName,
VolumeGroupUpdate parameters,
Context context) {
- return beginUpdateAsync(resourceGroupName, elasticSanName, volumeGroupName, parameters, context)
+ return this
+ .beginUpdateAsync(resourceGroupName, elasticSanName, volumeGroupName, parameters, context)
.getSyncPoller();
}
@@ -1119,7 +1116,7 @@ private PollerFlux, Void> beginDeleteAsync(
@ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
public SyncPoller, Void> beginDelete(
String resourceGroupName, String elasticSanName, String volumeGroupName) {
- return beginDeleteAsync(resourceGroupName, elasticSanName, volumeGroupName).getSyncPoller();
+ return this.beginDeleteAsync(resourceGroupName, elasticSanName, volumeGroupName).getSyncPoller();
}
/**
@@ -1137,7 +1134,7 @@ public SyncPoller, Void> beginDelete(
@ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
public SyncPoller, Void> beginDelete(
String resourceGroupName, String elasticSanName, String volumeGroupName, Context context) {
- return beginDeleteAsync(resourceGroupName, elasticSanName, volumeGroupName, context).getSyncPoller();
+ return this.beginDeleteAsync(resourceGroupName, elasticSanName, volumeGroupName, context).getSyncPoller();
}
/**
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/VolumeImpl.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/VolumeImpl.java
index 8c34dd03191ce..a0d18a047f242 100644
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/VolumeImpl.java
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/VolumeImpl.java
@@ -11,8 +11,6 @@
import com.azure.resourcemanager.elasticsan.models.SourceCreationData;
import com.azure.resourcemanager.elasticsan.models.Volume;
import com.azure.resourcemanager.elasticsan.models.VolumeUpdate;
-import java.util.Collections;
-import java.util.Map;
public final class VolumeImpl implements Volume, Volume.Definition, Volume.Update {
private VolumeInner innerObject;
@@ -35,15 +33,6 @@ public SystemData systemData() {
return this.innerModel().systemData();
}
- public Map tags() {
- Map inner = this.innerModel().tags();
- if (inner != null) {
- return Collections.unmodifiableMap(inner);
- } else {
- return Collections.emptyMap();
- }
- }
-
public String volumeId() {
return this.innerModel().volumeId();
}
@@ -52,7 +41,7 @@ public SourceCreationData creationData() {
return this.innerModel().creationData();
}
- public Long sizeGiB() {
+ public long sizeGiB() {
return this.innerModel().sizeGiB();
}
@@ -166,14 +155,9 @@ public Volume refresh(Context context) {
return this;
}
- public VolumeImpl withTags(Map tags) {
- if (isInCreateMode()) {
- this.innerModel().withTags(tags);
- return this;
- } else {
- this.updateParameters.withTags(tags);
- return this;
- }
+ public VolumeImpl withSizeGiB(long sizeGiB) {
+ this.innerModel().withSizeGiB(sizeGiB);
+ return this;
}
public VolumeImpl withCreationData(SourceCreationData creationData) {
@@ -182,16 +166,7 @@ public VolumeImpl withCreationData(SourceCreationData creationData) {
}
public VolumeImpl withSizeGiB(Long sizeGiB) {
- if (isInCreateMode()) {
- this.innerModel().withSizeGiB(sizeGiB);
- return this;
- } else {
- this.updateParameters.withSizeGiB(sizeGiB);
- return this;
- }
- }
-
- private boolean isInCreateMode() {
- return this.innerModel().id() == null;
+ this.updateParameters.withSizeGiB(sizeGiB);
+ return this;
}
}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/VolumesClientImpl.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/VolumesClientImpl.java
index e3306e7912ce4..bd9812183c95f 100644
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/VolumesClientImpl.java
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/implementation/VolumesClientImpl.java
@@ -64,12 +64,11 @@ public final class VolumesClientImpl implements VolumesClient {
*/
@Host("{$host}")
@ServiceInterface(name = "ElasticSanManagement")
- private interface VolumesService {
+ public interface VolumesService {
@Headers({"Content-Type: application/json"})
@Put(
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan"
- + "/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}")
- @ExpectedResponses({200, 202})
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}")
+ @ExpectedResponses({200, 201})
@UnexpectedResponseExceptionType(ManagementException.class)
Mono>> create(
@HostParam("$host") String endpoint,
@@ -85,8 +84,7 @@ Mono>> create(
@Headers({"Content-Type: application/json"})
@Patch(
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan"
- + "/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}")
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}")
@ExpectedResponses({200, 202})
@UnexpectedResponseExceptionType(ManagementException.class)
Mono>> update(
@@ -103,8 +101,7 @@ Mono>> update(
@Headers({"Content-Type: application/json"})
@Delete(
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan"
- + "/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}")
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}")
@ExpectedResponses({200, 202, 204})
@UnexpectedResponseExceptionType(ManagementException.class)
Mono>> delete(
@@ -120,8 +117,7 @@ Mono>> delete(
@Headers({"Content-Type: application/json"})
@Get(
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan"
- + "/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}")
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}")
@ExpectedResponses({200})
@UnexpectedResponseExceptionType(ManagementException.class)
Mono> get(
@@ -137,8 +133,7 @@ Mono> get(
@Headers({"Content-Type: application/json"})
@Get(
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan"
- + "/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes")
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes")
@ExpectedResponses({200})
@UnexpectedResponseExceptionType(ManagementException.class)
Mono> listByVolumeGroup(
@@ -381,7 +376,8 @@ public SyncPoller, VolumeInner> beginCreate(
String volumeGroupName,
String volumeName,
VolumeInner parameters) {
- return beginCreateAsync(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters)
+ return this
+ .beginCreateAsync(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters)
.getSyncPoller();
}
@@ -407,7 +403,8 @@ public SyncPoller, VolumeInner> beginCreate(
String volumeName,
VolumeInner parameters,
Context context) {
- return beginCreateAsync(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters, context)
+ return this
+ .beginCreateAsync(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters, context)
.getSyncPoller();
}
@@ -730,7 +727,8 @@ public SyncPoller, VolumeInner> beginUpdate(
String volumeGroupName,
String volumeName,
VolumeUpdate parameters) {
- return beginUpdateAsync(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters)
+ return this
+ .beginUpdateAsync(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters)
.getSyncPoller();
}
@@ -756,7 +754,8 @@ public SyncPoller, VolumeInner> beginUpdate(
String volumeName,
VolumeUpdate parameters,
Context context) {
- return beginUpdateAsync(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters, context)
+ return this
+ .beginUpdateAsync(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters, context)
.getSyncPoller();
}
@@ -1038,7 +1037,7 @@ private PollerFlux, Void> beginDeleteAsync(
@ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
public SyncPoller, Void> beginDelete(
String resourceGroupName, String elasticSanName, String volumeGroupName, String volumeName) {
- return beginDeleteAsync(resourceGroupName, elasticSanName, volumeGroupName, volumeName).getSyncPoller();
+ return this.beginDeleteAsync(resourceGroupName, elasticSanName, volumeGroupName, volumeName).getSyncPoller();
}
/**
@@ -1057,7 +1056,8 @@ public SyncPoller, Void> beginDelete(
@ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
public SyncPoller, Void> beginDelete(
String resourceGroupName, String elasticSanName, String volumeGroupName, String volumeName, Context context) {
- return beginDeleteAsync(resourceGroupName, elasticSanName, volumeGroupName, volumeName, context)
+ return this
+ .beginDeleteAsync(resourceGroupName, elasticSanName, volumeGroupName, volumeName, context)
.getSyncPoller();
}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/ActionType.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/ActionType.java
new file mode 100644
index 0000000000000..8f82224358e31
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/ActionType.java
@@ -0,0 +1,44 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.models;
+
+import com.azure.core.util.ExpandableStringEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import java.util.Collection;
+
+/** Enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs. */
+public final class ActionType extends ExpandableStringEnum {
+ /** Static value Internal for ActionType. */
+ public static final ActionType INTERNAL = fromString("Internal");
+
+ /**
+ * Creates a new instance of ActionType value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Deprecated
+ public ActionType() {
+ }
+
+ /**
+ * Creates or finds a ActionType from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding ActionType.
+ */
+ @JsonCreator
+ public static ActionType fromString(String name) {
+ return fromString(name, ActionType.class);
+ }
+
+ /**
+ * Gets known ActionType values.
+ *
+ * @return known ActionType values.
+ */
+ public static Collection values() {
+ return values(ActionType.class);
+ }
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/ElasticSan.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/ElasticSan.java
index ee571f88f7be5..947bbecdc8950 100644
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/ElasticSan.java
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/ElasticSan.java
@@ -49,7 +49,7 @@ public interface ElasticSan {
Map tags();
/**
- * Gets the systemData property: Resource metadata required by ARM RPC.
+ * Gets the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
*
* @return the systemData value.
*/
@@ -125,6 +125,13 @@ public interface ElasticSan {
*/
Long totalSizeTiB();
+ /**
+ * Gets the privateEndpointConnections property: The list of Private Endpoint Connections.
+ *
+ * @return the privateEndpointConnections value.
+ */
+ List privateEndpointConnections();
+
/**
* Gets the region of the resource.
*
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/ElasticSanList.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/ElasticSanList.java
index aee497c690c85..8cfb1f31e6ec8 100644
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/ElasticSanList.java
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/ElasticSanList.java
@@ -5,7 +5,6 @@
package com.azure.resourcemanager.elasticsan.models;
import com.azure.core.annotation.Fluent;
-import com.azure.core.util.logging.ClientLogger;
import com.azure.resourcemanager.elasticsan.fluent.models.ElasticSanInner;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
@@ -16,7 +15,7 @@ public final class ElasticSanList {
/*
* An array of Elastic San objects.
*/
- @JsonProperty(value = "value", required = true)
+ @JsonProperty(value = "value")
private List value;
/*
@@ -64,14 +63,8 @@ public String nextLink() {
* @throws IllegalArgumentException thrown if the instance is not valid.
*/
public void validate() {
- if (value() == null) {
- throw LOGGER
- .logExceptionAsError(
- new IllegalArgumentException("Missing required property value in model ElasticSanList"));
- } else {
+ if (value() != null) {
value().forEach(e -> e.validate());
}
}
-
- private static final ClientLogger LOGGER = new ClientLogger(ElasticSanList.class);
}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/ElasticSanOperationDisplay.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/ElasticSanOperationDisplay.java
deleted file mode 100644
index 80bcaea87443f..0000000000000
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/ElasticSanOperationDisplay.java
+++ /dev/null
@@ -1,157 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-// Code generated by Microsoft (R) AutoRest Code Generator.
-
-package com.azure.resourcemanager.elasticsan.models;
-
-import com.azure.core.annotation.Fluent;
-import com.azure.core.util.logging.ClientLogger;
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-/** Metadata about an operation. */
-@Fluent
-public final class ElasticSanOperationDisplay {
- /*
- * Localized friendly form of the resource provider name.
- */
- @JsonProperty(value = "provider", required = true)
- private String provider;
-
- /*
- * Localized friendly form of the resource type related to this action/operation.
- */
- @JsonProperty(value = "resource", required = true)
- private String resource;
-
- /*
- * Localized friendly name for the operation, as it should be shown to the user.
- */
- @JsonProperty(value = "operation", required = true)
- private String operation;
-
- /*
- * Localized friendly description for the operation, as it should be shown to the user.
- */
- @JsonProperty(value = "description", required = true)
- private String description;
-
- /** Creates an instance of ElasticSanOperationDisplay class. */
- public ElasticSanOperationDisplay() {
- }
-
- /**
- * Get the provider property: Localized friendly form of the resource provider name.
- *
- * @return the provider value.
- */
- public String provider() {
- return this.provider;
- }
-
- /**
- * Set the provider property: Localized friendly form of the resource provider name.
- *
- * @param provider the provider value to set.
- * @return the ElasticSanOperationDisplay object itself.
- */
- public ElasticSanOperationDisplay withProvider(String provider) {
- this.provider = provider;
- return this;
- }
-
- /**
- * Get the resource property: Localized friendly form of the resource type related to this action/operation.
- *
- * @return the resource value.
- */
- public String resource() {
- return this.resource;
- }
-
- /**
- * Set the resource property: Localized friendly form of the resource type related to this action/operation.
- *
- * @param resource the resource value to set.
- * @return the ElasticSanOperationDisplay object itself.
- */
- public ElasticSanOperationDisplay withResource(String resource) {
- this.resource = resource;
- return this;
- }
-
- /**
- * Get the operation property: Localized friendly name for the operation, as it should be shown to the user.
- *
- * @return the operation value.
- */
- public String operation() {
- return this.operation;
- }
-
- /**
- * Set the operation property: Localized friendly name for the operation, as it should be shown to the user.
- *
- * @param operation the operation value to set.
- * @return the ElasticSanOperationDisplay object itself.
- */
- public ElasticSanOperationDisplay withOperation(String operation) {
- this.operation = operation;
- return this;
- }
-
- /**
- * Get the description property: Localized friendly description for the operation, as it should be shown to the
- * user.
- *
- * @return the description value.
- */
- public String description() {
- return this.description;
- }
-
- /**
- * Set the description property: Localized friendly description for the operation, as it should be shown to the
- * user.
- *
- * @param description the description value to set.
- * @return the ElasticSanOperationDisplay object itself.
- */
- public ElasticSanOperationDisplay withDescription(String description) {
- this.description = description;
- return this;
- }
-
- /**
- * Validates the instance.
- *
- * @throws IllegalArgumentException thrown if the instance is not valid.
- */
- public void validate() {
- if (provider() == null) {
- throw LOGGER
- .logExceptionAsError(
- new IllegalArgumentException(
- "Missing required property provider in model ElasticSanOperationDisplay"));
- }
- if (resource() == null) {
- throw LOGGER
- .logExceptionAsError(
- new IllegalArgumentException(
- "Missing required property resource in model ElasticSanOperationDisplay"));
- }
- if (operation() == null) {
- throw LOGGER
- .logExceptionAsError(
- new IllegalArgumentException(
- "Missing required property operation in model ElasticSanOperationDisplay"));
- }
- if (description() == null) {
- throw LOGGER
- .logExceptionAsError(
- new IllegalArgumentException(
- "Missing required property description in model ElasticSanOperationDisplay"));
- }
- }
-
- private static final ClientLogger LOGGER = new ClientLogger(ElasticSanOperationDisplay.class);
-}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/ElasticSanOperationListResult.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/ElasticSanOperationListResult.java
deleted file mode 100644
index 556bc35890e68..0000000000000
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/ElasticSanOperationListResult.java
+++ /dev/null
@@ -1,89 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-// Code generated by Microsoft (R) AutoRest Code Generator.
-
-package com.azure.resourcemanager.elasticsan.models;
-
-import com.azure.core.annotation.Fluent;
-import com.azure.core.util.logging.ClientLogger;
-import com.azure.resourcemanager.elasticsan.fluent.models.ElasticSanRPOperationInner;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.util.List;
-
-/** List of operations supported by the RP. */
-@Fluent
-public final class ElasticSanOperationListResult {
- /*
- * An array of operations supported by the ElasticSan RP.
- */
- @JsonProperty(value = "value", required = true)
- private List value;
-
- /*
- * URI to fetch the next section of the paginated response.
- */
- @JsonProperty(value = "nextLink")
- private String nextLink;
-
- /** Creates an instance of ElasticSanOperationListResult class. */
- public ElasticSanOperationListResult() {
- }
-
- /**
- * Get the value property: An array of operations supported by the ElasticSan RP.
- *
- * @return the value value.
- */
- public List value() {
- return this.value;
- }
-
- /**
- * Set the value property: An array of operations supported by the ElasticSan RP.
- *
- * @param value the value value to set.
- * @return the ElasticSanOperationListResult object itself.
- */
- public ElasticSanOperationListResult withValue(List value) {
- this.value = value;
- return this;
- }
-
- /**
- * Get the nextLink property: URI to fetch the next section of the paginated response.
- *
- * @return the nextLink value.
- */
- public String nextLink() {
- return this.nextLink;
- }
-
- /**
- * Set the nextLink property: URI to fetch the next section of the paginated response.
- *
- * @param nextLink the nextLink value to set.
- * @return the ElasticSanOperationListResult object itself.
- */
- public ElasticSanOperationListResult withNextLink(String nextLink) {
- this.nextLink = nextLink;
- return this;
- }
-
- /**
- * Validates the instance.
- *
- * @throws IllegalArgumentException thrown if the instance is not valid.
- */
- public void validate() {
- if (value() == null) {
- throw LOGGER
- .logExceptionAsError(
- new IllegalArgumentException(
- "Missing required property value in model ElasticSanOperationListResult"));
- } else {
- value().forEach(e -> e.validate());
- }
- }
-
- private static final ClientLogger LOGGER = new ClientLogger(ElasticSanOperationListResult.class);
-}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/ElasticSanRPOperation.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/ElasticSanRPOperation.java
deleted file mode 100644
index c86413f2707fd..0000000000000
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/ElasticSanRPOperation.java
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-// Code generated by Microsoft (R) AutoRest Code Generator.
-
-package com.azure.resourcemanager.elasticsan.models;
-
-import com.azure.resourcemanager.elasticsan.fluent.models.ElasticSanRPOperationInner;
-
-/** An immutable client-side representation of ElasticSanRPOperation. */
-public interface ElasticSanRPOperation {
- /**
- * Gets the name property: The name of the operation being performed on this particular object.
- *
- * @return the name value.
- */
- String name();
-
- /**
- * Gets the isDataAction property: Indicates whether the operation applies to data-plane.
- *
- * @return the isDataAction value.
- */
- Boolean isDataAction();
-
- /**
- * Gets the display property: Additional metadata about RP operation.
- *
- * @return the display value.
- */
- ElasticSanOperationDisplay display();
-
- /**
- * Gets the inner com.azure.resourcemanager.elasticsan.fluent.models.ElasticSanRPOperationInner object.
- *
- * @return the inner object.
- */
- ElasticSanRPOperationInner innerModel();
-}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/EncryptionType.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/EncryptionType.java
index 0e486a19bbd1b..d5c9323890a13 100644
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/EncryptionType.java
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/EncryptionType.java
@@ -14,6 +14,15 @@ public final class EncryptionType extends ExpandableStringEnum {
public static final EncryptionType ENCRYPTION_AT_REST_WITH_PLATFORM_KEY =
fromString("EncryptionAtRestWithPlatformKey");
+ /**
+ * Creates a new instance of EncryptionType value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Deprecated
+ public EncryptionType() {
+ }
+
/**
* Creates or finds a EncryptionType from its string representation.
*
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/Operation.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/Operation.java
new file mode 100644
index 0000000000000..8215d80e003bc
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/Operation.java
@@ -0,0 +1,56 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.models;
+
+import com.azure.resourcemanager.elasticsan.fluent.models.OperationInner;
+
+/** An immutable client-side representation of Operation. */
+public interface Operation {
+ /**
+ * Gets the name property: The name of the operation, as per Resource-Based Access Control (RBAC). Examples:
+ * "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action".
+ *
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * Gets the isDataAction property: Whether the operation applies to data-plane. This is "true" for data-plane
+ * operations and "false" for ARM/control-plane operations.
+ *
+ * @return the isDataAction value.
+ */
+ Boolean isDataAction();
+
+ /**
+ * Gets the display property: Localized display information for this particular operation.
+ *
+ * @return the display value.
+ */
+ OperationDisplay display();
+
+ /**
+ * Gets the origin property: The intended executor of the operation; as in Resource Based Access Control (RBAC) and
+ * audit logs UX. Default value is "user,system".
+ *
+ * @return the origin value.
+ */
+ Origin origin();
+
+ /**
+ * Gets the actionType property: Enum. Indicates the action type. "Internal" refers to actions that are for internal
+ * only APIs.
+ *
+ * @return the actionType value.
+ */
+ ActionType actionType();
+
+ /**
+ * Gets the inner com.azure.resourcemanager.elasticsan.fluent.models.OperationInner object.
+ *
+ * @return the inner object.
+ */
+ OperationInner innerModel();
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/OperationDisplay.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/OperationDisplay.java
new file mode 100644
index 0000000000000..ecf9d9a34ed1c
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/OperationDisplay.java
@@ -0,0 +1,91 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.models;
+
+import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Localized display information for this particular operation. */
+@Immutable
+public final class OperationDisplay {
+ /*
+ * The localized friendly form of the resource provider name, e.g. "Microsoft Monitoring Insights" or "Microsoft
+ * Compute".
+ */
+ @JsonProperty(value = "provider", access = JsonProperty.Access.WRITE_ONLY)
+ private String provider;
+
+ /*
+ * The localized friendly name of the resource type related to this operation. E.g. "Virtual Machines" or "Job
+ * Schedule Collections".
+ */
+ @JsonProperty(value = "resource", access = JsonProperty.Access.WRITE_ONLY)
+ private String resource;
+
+ /*
+ * The concise, localized friendly name for the operation; suitable for dropdowns. E.g. "Create or Update Virtual
+ * Machine", "Restart Virtual Machine".
+ */
+ @JsonProperty(value = "operation", access = JsonProperty.Access.WRITE_ONLY)
+ private String operation;
+
+ /*
+ * The short, localized friendly description of the operation; suitable for tool tips and detailed views.
+ */
+ @JsonProperty(value = "description", access = JsonProperty.Access.WRITE_ONLY)
+ private String description;
+
+ /** Creates an instance of OperationDisplay class. */
+ public OperationDisplay() {
+ }
+
+ /**
+ * Get the provider property: The localized friendly form of the resource provider name, e.g. "Microsoft Monitoring
+ * Insights" or "Microsoft Compute".
+ *
+ * @return the provider value.
+ */
+ public String provider() {
+ return this.provider;
+ }
+
+ /**
+ * Get the resource property: The localized friendly name of the resource type related to this operation. E.g.
+ * "Virtual Machines" or "Job Schedule Collections".
+ *
+ * @return the resource value.
+ */
+ public String resource() {
+ return this.resource;
+ }
+
+ /**
+ * Get the operation property: The concise, localized friendly name for the operation; suitable for dropdowns. E.g.
+ * "Create or Update Virtual Machine", "Restart Virtual Machine".
+ *
+ * @return the operation value.
+ */
+ public String operation() {
+ return this.operation;
+ }
+
+ /**
+ * Get the description property: The short, localized friendly description of the operation; suitable for tool tips
+ * and detailed views.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/OperationListResult.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/OperationListResult.java
new file mode 100644
index 0000000000000..d689fd4759a18
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/OperationListResult.java
@@ -0,0 +1,62 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.resourcemanager.elasticsan.fluent.models.OperationInner;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/**
+ * A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of
+ * results.
+ */
+@Immutable
+public final class OperationListResult {
+ /*
+ * List of operations supported by the resource provider
+ */
+ @JsonProperty(value = "value", access = JsonProperty.Access.WRITE_ONLY)
+ private List value;
+
+ /*
+ * URL to get the next set of operation list results (if there are any).
+ */
+ @JsonProperty(value = "nextLink", access = JsonProperty.Access.WRITE_ONLY)
+ private String nextLink;
+
+ /** Creates an instance of OperationListResult class. */
+ public OperationListResult() {
+ }
+
+ /**
+ * Get the value property: List of operations supported by the resource provider.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Get the nextLink property: URL to get the next set of operation list results (if there are any).
+ *
+ * @return the nextLink value.
+ */
+ public String nextLink() {
+ return this.nextLink;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() != null) {
+ value().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/OperationalStatus.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/OperationalStatus.java
index 1776e34955f51..0d04b2df84d93 100644
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/OperationalStatus.java
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/OperationalStatus.java
@@ -34,6 +34,15 @@ public final class OperationalStatus extends ExpandableStringEnum list();
+ PagedIterable list();
/**
* Gets a list of ElasticSan operations.
@@ -27,5 +27,5 @@ public interface Operations {
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return a list of ElasticSan operations as paginated response with {@link PagedIterable}.
*/
- PagedIterable list(Context context);
+ PagedIterable list(Context context);
}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/Origin.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/Origin.java
new file mode 100644
index 0000000000000..35d4056d96267
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/Origin.java
@@ -0,0 +1,53 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.models;
+
+import com.azure.core.util.ExpandableStringEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import java.util.Collection;
+
+/**
+ * The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value
+ * is "user,system".
+ */
+public final class Origin extends ExpandableStringEnum {
+ /** Static value user for Origin. */
+ public static final Origin USER = fromString("user");
+
+ /** Static value system for Origin. */
+ public static final Origin SYSTEM = fromString("system");
+
+ /** Static value user,system for Origin. */
+ public static final Origin USER_SYSTEM = fromString("user,system");
+
+ /**
+ * Creates a new instance of Origin value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Deprecated
+ public Origin() {
+ }
+
+ /**
+ * Creates or finds a Origin from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding Origin.
+ */
+ @JsonCreator
+ public static Origin fromString(String name) {
+ return fromString(name, Origin.class);
+ }
+
+ /**
+ * Gets known Origin values.
+ *
+ * @return known Origin values.
+ */
+ public static Collection values() {
+ return values(Origin.class);
+ }
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateEndpoint.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateEndpoint.java
new file mode 100644
index 0000000000000..4494fe7dafe77
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateEndpoint.java
@@ -0,0 +1,39 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.models;
+
+import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Response for PrivateEndpoint. */
+@Immutable
+public final class PrivateEndpoint {
+ /*
+ * The ARM identifier for Private Endpoint
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /** Creates an instance of PrivateEndpoint class. */
+ public PrivateEndpoint() {
+ }
+
+ /**
+ * Get the id property: The ARM identifier for Private Endpoint.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateEndpointConnection.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateEndpointConnection.java
new file mode 100644
index 0000000000000..2a088cbe30536
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateEndpointConnection.java
@@ -0,0 +1,169 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.models;
+
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.elasticsan.fluent.models.PrivateEndpointConnectionInner;
+import java.util.List;
+
+/** An immutable client-side representation of PrivateEndpointConnection. */
+public interface PrivateEndpointConnection {
+ /**
+ * Gets the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * Gets the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * Gets the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * Gets the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ SystemData systemData();
+
+ /**
+ * Gets the provisioningState property: Provisioning State of Private Endpoint connection resource.
+ *
+ * @return the provisioningState value.
+ */
+ ProvisioningStates provisioningState();
+
+ /**
+ * Gets the privateEndpoint property: Private Endpoint resource.
+ *
+ * @return the privateEndpoint value.
+ */
+ PrivateEndpoint privateEndpoint();
+
+ /**
+ * Gets the privateLinkServiceConnectionState property: Private Link Service Connection State.
+ *
+ * @return the privateLinkServiceConnectionState value.
+ */
+ PrivateLinkServiceConnectionState privateLinkServiceConnectionState();
+
+ /**
+ * Gets the groupIds property: List of resources private endpoint is mapped.
+ *
+ * @return the groupIds value.
+ */
+ List groupIds();
+
+ /**
+ * Gets the inner com.azure.resourcemanager.elasticsan.fluent.models.PrivateEndpointConnectionInner object.
+ *
+ * @return the inner object.
+ */
+ PrivateEndpointConnectionInner innerModel();
+
+ /** The entirety of the PrivateEndpointConnection definition. */
+ interface Definition
+ extends DefinitionStages.Blank,
+ DefinitionStages.WithParentResource,
+ DefinitionStages.WithPrivateLinkServiceConnectionState,
+ DefinitionStages.WithCreate {
+ }
+ /** The PrivateEndpointConnection definition stages. */
+ interface DefinitionStages {
+ /** The first stage of the PrivateEndpointConnection definition. */
+ interface Blank extends WithParentResource {
+ }
+ /** The stage of the PrivateEndpointConnection definition allowing to specify parent resource. */
+ interface WithParentResource {
+ /**
+ * Specifies resourceGroupName, elasticSanName.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @return the next definition stage.
+ */
+ WithPrivateLinkServiceConnectionState withExistingElasticSan(
+ String resourceGroupName, String elasticSanName);
+ }
+ /**
+ * The stage of the PrivateEndpointConnection definition allowing to specify privateLinkServiceConnectionState.
+ */
+ interface WithPrivateLinkServiceConnectionState {
+ /**
+ * Specifies the privateLinkServiceConnectionState property: Private Link Service Connection State..
+ *
+ * @param privateLinkServiceConnectionState Private Link Service Connection State.
+ * @return the next definition stage.
+ */
+ WithCreate withPrivateLinkServiceConnectionState(
+ PrivateLinkServiceConnectionState privateLinkServiceConnectionState);
+ }
+ /**
+ * The stage of the PrivateEndpointConnection definition which contains all the minimum required properties for
+ * the resource to be created, but also allows for any other optional properties to be specified.
+ */
+ interface WithCreate extends DefinitionStages.WithPrivateEndpoint, DefinitionStages.WithGroupIds {
+ /**
+ * Executes the create request.
+ *
+ * @return the created resource.
+ */
+ PrivateEndpointConnection create();
+
+ /**
+ * Executes the create request.
+ *
+ * @param context The context to associate with this operation.
+ * @return the created resource.
+ */
+ PrivateEndpointConnection create(Context context);
+ }
+ /** The stage of the PrivateEndpointConnection definition allowing to specify privateEndpoint. */
+ interface WithPrivateEndpoint {
+ /**
+ * Specifies the privateEndpoint property: Private Endpoint resource.
+ *
+ * @param privateEndpoint Private Endpoint resource.
+ * @return the next definition stage.
+ */
+ WithCreate withPrivateEndpoint(PrivateEndpoint privateEndpoint);
+ }
+ /** The stage of the PrivateEndpointConnection definition allowing to specify groupIds. */
+ interface WithGroupIds {
+ /**
+ * Specifies the groupIds property: List of resources private endpoint is mapped.
+ *
+ * @param groupIds List of resources private endpoint is mapped.
+ * @return the next definition stage.
+ */
+ WithCreate withGroupIds(List groupIds);
+ }
+ }
+ /**
+ * Refreshes the resource to sync with Azure.
+ *
+ * @return the refreshed resource.
+ */
+ PrivateEndpointConnection refresh();
+
+ /**
+ * Refreshes the resource to sync with Azure.
+ *
+ * @param context The context to associate with this operation.
+ * @return the refreshed resource.
+ */
+ PrivateEndpointConnection refresh(Context context);
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateEndpointConnectionListResult.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateEndpointConnectionListResult.java
new file mode 100644
index 0000000000000..0d14bc9c30a8b
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateEndpointConnectionListResult.java
@@ -0,0 +1,70 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.elasticsan.fluent.models.PrivateEndpointConnectionInner;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** List of private endpoint connections associated with SAN. */
+@Fluent
+public final class PrivateEndpointConnectionListResult {
+ /*
+ * Array of private endpoint connections
+ */
+ @JsonProperty(value = "value")
+ private List value;
+
+ /*
+ * URI to fetch the next section of the paginated response.
+ */
+ @JsonProperty(value = "nextLink", access = JsonProperty.Access.WRITE_ONLY)
+ private String nextLink;
+
+ /** Creates an instance of PrivateEndpointConnectionListResult class. */
+ public PrivateEndpointConnectionListResult() {
+ }
+
+ /**
+ * Get the value property: Array of private endpoint connections.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: Array of private endpoint connections.
+ *
+ * @param value the value value to set.
+ * @return the PrivateEndpointConnectionListResult object itself.
+ */
+ public PrivateEndpointConnectionListResult withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Get the nextLink property: URI to fetch the next section of the paginated response.
+ *
+ * @return the nextLink value.
+ */
+ public String nextLink() {
+ return this.nextLink;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() != null) {
+ value().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateEndpointConnections.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateEndpointConnections.java
new file mode 100644
index 0000000000000..54f4c907e980b
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateEndpointConnections.java
@@ -0,0 +1,145 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.models;
+
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+
+/** Resource collection API of PrivateEndpointConnections. */
+public interface PrivateEndpointConnections {
+ /**
+ * Gets the specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @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.
+ * @return the specified private endpoint connection associated with the Elastic San along with {@link Response}.
+ */
+ Response getWithResponse(
+ String resourceGroupName, String elasticSanName, String privateEndpointConnectionName, Context context);
+
+ /**
+ * Gets the specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @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.
+ * @return the specified private endpoint connection associated with the Elastic San.
+ */
+ PrivateEndpointConnection get(
+ String resourceGroupName, String elasticSanName, String privateEndpointConnectionName);
+
+ /**
+ * Deletes the specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @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.
+ */
+ void delete(String resourceGroupName, String elasticSanName, String privateEndpointConnectionName);
+
+ /**
+ * Deletes the specified private endpoint connection associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @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.
+ */
+ void delete(String resourceGroupName, String elasticSanName, String privateEndpointConnectionName, Context context);
+
+ /**
+ * List all Private Endpoint Connections associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @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.
+ * @return list of private endpoint connections associated with SAN as paginated response with {@link
+ * PagedIterable}.
+ */
+ PagedIterable list(String resourceGroupName, String elasticSanName);
+
+ /**
+ * List all Private Endpoint Connections associated with the Elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @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.
+ * @return list of private endpoint connections associated with SAN as paginated response with {@link
+ * PagedIterable}.
+ */
+ PagedIterable list(String resourceGroupName, String elasticSanName, Context context);
+
+ /**
+ * Gets the specified private endpoint connection associated with the Elastic San.
+ *
+ * @param id the resource ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @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.
+ * @return the specified private endpoint connection associated with the Elastic San along with {@link Response}.
+ */
+ PrivateEndpointConnection getById(String id);
+
+ /**
+ * Gets the specified private endpoint connection associated with the Elastic San.
+ *
+ * @param id the resource ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @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.
+ * @return the specified private endpoint connection associated with the Elastic San along with {@link Response}.
+ */
+ Response getByIdWithResponse(String id, Context context);
+
+ /**
+ * Deletes the specified private endpoint connection associated with the Elastic San.
+ *
+ * @param id the resource ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @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.
+ */
+ void deleteById(String id);
+
+ /**
+ * Deletes the specified private endpoint connection associated with the Elastic San.
+ *
+ * @param id the resource ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @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.
+ */
+ void deleteByIdWithResponse(String id, Context context);
+
+ /**
+ * Begins definition for a new PrivateEndpointConnection resource.
+ *
+ * @param name resource name.
+ * @return the first stage of the new PrivateEndpointConnection definition.
+ */
+ PrivateEndpointConnection.DefinitionStages.Blank define(String name);
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateEndpointServiceConnectionStatus.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateEndpointServiceConnectionStatus.java
new file mode 100644
index 0000000000000..c57e93ade411c
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateEndpointServiceConnectionStatus.java
@@ -0,0 +1,54 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.models;
+
+import com.azure.core.util.ExpandableStringEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import java.util.Collection;
+
+/** The private endpoint connection status. */
+public final class PrivateEndpointServiceConnectionStatus
+ extends ExpandableStringEnum {
+ /** Static value Pending for PrivateEndpointServiceConnectionStatus. */
+ public static final PrivateEndpointServiceConnectionStatus PENDING = fromString("Pending");
+
+ /** Static value Approved for PrivateEndpointServiceConnectionStatus. */
+ public static final PrivateEndpointServiceConnectionStatus APPROVED = fromString("Approved");
+
+ /** Static value Failed for PrivateEndpointServiceConnectionStatus. */
+ public static final PrivateEndpointServiceConnectionStatus FAILED = fromString("Failed");
+
+ /** Static value Rejected for PrivateEndpointServiceConnectionStatus. */
+ public static final PrivateEndpointServiceConnectionStatus REJECTED = fromString("Rejected");
+
+ /**
+ * Creates a new instance of PrivateEndpointServiceConnectionStatus value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Deprecated
+ public PrivateEndpointServiceConnectionStatus() {
+ }
+
+ /**
+ * Creates or finds a PrivateEndpointServiceConnectionStatus from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding PrivateEndpointServiceConnectionStatus.
+ */
+ @JsonCreator
+ public static PrivateEndpointServiceConnectionStatus fromString(String name) {
+ return fromString(name, PrivateEndpointServiceConnectionStatus.class);
+ }
+
+ /**
+ * Gets known PrivateEndpointServiceConnectionStatus values.
+ *
+ * @return known PrivateEndpointServiceConnectionStatus values.
+ */
+ public static Collection values() {
+ return values(PrivateEndpointServiceConnectionStatus.class);
+ }
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateLinkResource.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateLinkResource.java
new file mode 100644
index 0000000000000..812829ba9a81e
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateLinkResource.java
@@ -0,0 +1,102 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.elasticsan.fluent.models.PrivateLinkResourceProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** A private link resource. */
+@Fluent
+public final class PrivateLinkResource extends ProxyResource {
+ /*
+ * Resource properties.
+ */
+ @JsonProperty(value = "properties")
+ private PrivateLinkResourceProperties innerProperties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of PrivateLinkResource class. */
+ public PrivateLinkResource() {
+ }
+
+ /**
+ * Get the innerProperties property: Resource properties.
+ *
+ * @return the innerProperties value.
+ */
+ private PrivateLinkResourceProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the groupId property: The private link resource group id.
+ *
+ * @return the groupId value.
+ */
+ public String groupId() {
+ return this.innerProperties() == null ? null : this.innerProperties().groupId();
+ }
+
+ /**
+ * Get the requiredMembers property: The private link resource required member names.
+ *
+ * @return the requiredMembers value.
+ */
+ public List requiredMembers() {
+ return this.innerProperties() == null ? null : this.innerProperties().requiredMembers();
+ }
+
+ /**
+ * Get the requiredZoneNames property: The private link resource Private link DNS zone name.
+ *
+ * @return the requiredZoneNames value.
+ */
+ public List requiredZoneNames() {
+ return this.innerProperties() == null ? null : this.innerProperties().requiredZoneNames();
+ }
+
+ /**
+ * Set the requiredZoneNames property: The private link resource Private link DNS zone name.
+ *
+ * @param requiredZoneNames the requiredZoneNames value to set.
+ * @return the PrivateLinkResource object itself.
+ */
+ public PrivateLinkResource withRequiredZoneNames(List requiredZoneNames) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PrivateLinkResourceProperties();
+ }
+ this.innerProperties().withRequiredZoneNames(requiredZoneNames);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateLinkResourceListResult.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateLinkResourceListResult.java
new file mode 100644
index 0000000000000..4c16da609baf2
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateLinkResourceListResult.java
@@ -0,0 +1,32 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.models;
+
+import com.azure.resourcemanager.elasticsan.fluent.models.PrivateLinkResourceListResultInner;
+import java.util.List;
+
+/** An immutable client-side representation of PrivateLinkResourceListResult. */
+public interface PrivateLinkResourceListResult {
+ /**
+ * Gets the value property: Array of private link resources.
+ *
+ * @return the value value.
+ */
+ List value();
+
+ /**
+ * Gets the nextLink property: URI to fetch the next section of the paginated response.
+ *
+ * @return the nextLink value.
+ */
+ String nextLink();
+
+ /**
+ * Gets the inner com.azure.resourcemanager.elasticsan.fluent.models.PrivateLinkResourceListResultInner object.
+ *
+ * @return the inner object.
+ */
+ PrivateLinkResourceListResultInner innerModel();
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateLinkResources.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateLinkResources.java
new file mode 100644
index 0000000000000..c3a2d73f40aef
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateLinkResources.java
@@ -0,0 +1,37 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.models;
+
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+
+/** Resource collection API of PrivateLinkResources. */
+public interface PrivateLinkResources {
+ /**
+ * Gets the private link resources that need to be created for a elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @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.
+ * @return the private link resources that need to be created for a elastic San along with {@link Response}.
+ */
+ Response listByElasticSanWithResponse(
+ String resourceGroupName, String elasticSanName, Context context);
+
+ /**
+ * Gets the private link resources that need to be created for a elastic San.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param elasticSanName The name of the ElasticSan.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @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.
+ * @return the private link resources that need to be created for a elastic San.
+ */
+ PrivateLinkResourceListResult listByElasticSan(String resourceGroupName, String elasticSanName);
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateLinkServiceConnectionState.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateLinkServiceConnectionState.java
new file mode 100644
index 0000000000000..25dcebd756ae4
--- /dev/null
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/PrivateLinkServiceConnectionState.java
@@ -0,0 +1,106 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.elasticsan.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Response for Private Link Service Connection state. */
+@Fluent
+public final class PrivateLinkServiceConnectionState {
+ /*
+ * Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.
+ */
+ @JsonProperty(value = "status")
+ private PrivateEndpointServiceConnectionStatus status;
+
+ /*
+ * The reason for approval/rejection of the connection.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /*
+ * A message indicating if changes on the service provider require any updates on the consumer.
+ */
+ @JsonProperty(value = "actionsRequired")
+ private String actionsRequired;
+
+ /** Creates an instance of PrivateLinkServiceConnectionState class. */
+ public PrivateLinkServiceConnectionState() {
+ }
+
+ /**
+ * Get the status property: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the
+ * service.
+ *
+ * @return the status value.
+ */
+ public PrivateEndpointServiceConnectionStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the status property: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the
+ * service.
+ *
+ * @param status the status value to set.
+ * @return the PrivateLinkServiceConnectionState object itself.
+ */
+ public PrivateLinkServiceConnectionState withStatus(PrivateEndpointServiceConnectionStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the description property: The reason for approval/rejection of the connection.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: The reason for approval/rejection of the connection.
+ *
+ * @param description the description value to set.
+ * @return the PrivateLinkServiceConnectionState object itself.
+ */
+ public PrivateLinkServiceConnectionState withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the actionsRequired property: A message indicating if changes on the service provider require any updates on
+ * the consumer.
+ *
+ * @return the actionsRequired value.
+ */
+ public String actionsRequired() {
+ return this.actionsRequired;
+ }
+
+ /**
+ * Set the actionsRequired property: A message indicating if changes on the service provider require any updates on
+ * the consumer.
+ *
+ * @param actionsRequired the actionsRequired value to set.
+ * @return the PrivateLinkServiceConnectionState object itself.
+ */
+ public PrivateLinkServiceConnectionState withActionsRequired(String actionsRequired) {
+ this.actionsRequired = actionsRequired;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/ProvisioningStates.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/ProvisioningStates.java
index 8f4639cbe433d..78136091fd9b8 100644
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/ProvisioningStates.java
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/ProvisioningStates.java
@@ -34,6 +34,15 @@ public final class ProvisioningStates extends ExpandableStringEnum value;
+ /*
+ * URI to fetch the next section of the paginated response.
+ */
+ @JsonProperty(value = "nextLink", access = JsonProperty.Access.WRITE_ONLY)
+ private String nextLink;
+
/** Creates an instance of SkuInformationList class. */
public SkuInformationList() {
}
@@ -31,6 +37,15 @@ public List value() {
return this.value;
}
+ /**
+ * Get the nextLink property: URI to fetch the next section of the paginated response.
+ *
+ * @return the nextLink value.
+ */
+ public String nextLink() {
+ return this.nextLink;
+ }
+
/**
* Validates the instance.
*
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/SkuName.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/SkuName.java
index 72de9109037b3..c457285906b72 100644
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/SkuName.java
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/SkuName.java
@@ -16,6 +16,15 @@ public final class SkuName extends ExpandableStringEnum {
/** Static value Premium_ZRS for SkuName. */
public static final SkuName PREMIUM_ZRS = fromString("Premium_ZRS");
+ /**
+ * Creates a new instance of SkuName value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Deprecated
+ public SkuName() {
+ }
+
/**
* Creates or finds a SkuName from its string representation.
*
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/SkuTier.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/SkuTier.java
index bf5a0b5d04702..282bc42cb5c36 100644
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/SkuTier.java
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/SkuTier.java
@@ -13,6 +13,15 @@ public final class SkuTier extends ExpandableStringEnum {
/** Static value Premium for SkuTier. */
public static final SkuTier PREMIUM = fromString("Premium");
+ /**
+ * Creates a new instance of SkuTier value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Deprecated
+ public SkuTier() {
+ }
+
/**
* Creates or finds a SkuTier from its string representation.
*
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/StorageTargetType.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/StorageTargetType.java
index 9e526c0e5c33c..bb9b49d9a094e 100644
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/StorageTargetType.java
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/StorageTargetType.java
@@ -16,6 +16,15 @@ public final class StorageTargetType extends ExpandableStringEnum tags();
-
/**
* Gets the volumeId property: Unique Id of the volume in GUID format.
*
@@ -65,7 +57,7 @@ public interface Volume {
*
* @return the sizeGiB value.
*/
- Long sizeGiB();
+ long sizeGiB();
/**
* Gets the storageTarget property: Storage target information.
@@ -90,7 +82,10 @@ public interface Volume {
/** The entirety of the Volume definition. */
interface Definition
- extends DefinitionStages.Blank, DefinitionStages.WithParentResource, DefinitionStages.WithCreate {
+ extends DefinitionStages.Blank,
+ DefinitionStages.WithParentResource,
+ DefinitionStages.WithSizeGiB,
+ DefinitionStages.WithCreate {
}
/** The Volume definition stages. */
interface DefinitionStages {
@@ -107,14 +102,24 @@ interface WithParentResource {
* @param volumeGroupName The name of the VolumeGroup.
* @return the next definition stage.
*/
- WithCreate withExistingVolumegroup(String resourceGroupName, String elasticSanName, String volumeGroupName);
+ WithSizeGiB withExistingVolumegroup(
+ String resourceGroupName, String elasticSanName, String volumeGroupName);
+ }
+ /** The stage of the Volume definition allowing to specify sizeGiB. */
+ interface WithSizeGiB {
+ /**
+ * Specifies the sizeGiB property: Volume size..
+ *
+ * @param sizeGiB Volume size.
+ * @return the next definition stage.
+ */
+ WithCreate withSizeGiB(long sizeGiB);
}
/**
* The stage of the Volume definition which contains all the minimum required properties for the resource to be
* created, but also allows for any other optional properties to be specified.
*/
- interface WithCreate
- extends DefinitionStages.WithTags, DefinitionStages.WithCreationData, DefinitionStages.WithSizeGiB {
+ interface WithCreate extends DefinitionStages.WithCreationData {
/**
* Executes the create request.
*
@@ -130,16 +135,6 @@ interface WithCreate
*/
Volume create(Context context);
}
- /** The stage of the Volume definition allowing to specify tags. */
- interface WithTags {
- /**
- * Specifies the tags property: Azure resource tags..
- *
- * @param tags Azure resource tags.
- * @return the next definition stage.
- */
- WithCreate withTags(Map tags);
- }
/** The stage of the Volume definition allowing to specify creationData. */
interface WithCreationData {
/**
@@ -150,16 +145,6 @@ interface WithCreationData {
*/
WithCreate withCreationData(SourceCreationData creationData);
}
- /** The stage of the Volume definition allowing to specify sizeGiB. */
- interface WithSizeGiB {
- /**
- * Specifies the sizeGiB property: Volume size..
- *
- * @param sizeGiB Volume size.
- * @return the next definition stage.
- */
- WithCreate withSizeGiB(Long sizeGiB);
- }
}
/**
* Begins update for the Volume resource.
@@ -169,7 +154,7 @@ interface WithSizeGiB {
Volume.Update update();
/** The template for Volume update. */
- interface Update extends UpdateStages.WithTags, UpdateStages.WithSizeGiB {
+ interface Update extends UpdateStages.WithSizeGiB {
/**
* Executes the update request.
*
@@ -187,16 +172,6 @@ interface Update extends UpdateStages.WithTags, UpdateStages.WithSizeGiB {
}
/** The Volume update stages. */
interface UpdateStages {
- /** The stage of the Volume update allowing to specify tags. */
- interface WithTags {
- /**
- * Specifies the tags property: Resource tags..
- *
- * @param tags Resource tags.
- * @return the next definition stage.
- */
- Update withTags(Map tags);
- }
/** The stage of the Volume update allowing to specify sizeGiB. */
interface WithSizeGiB {
/**
diff --git a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/VolumeGroup.java b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/VolumeGroup.java
index 3e8f4ac16f491..21fa1a024ac4c 100644
--- a/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/VolumeGroup.java
+++ b/sdk/elasticsan/azure-resourcemanager-elasticsan/src/main/java/com/azure/resourcemanager/elasticsan/models/VolumeGroup.java
@@ -7,7 +7,7 @@
import com.azure.core.management.SystemData;
import com.azure.core.util.Context;
import com.azure.resourcemanager.elasticsan.fluent.models.VolumeGroupInner;
-import java.util.Map;
+import java.util.List;
/** An immutable client-side representation of VolumeGroup. */
public interface VolumeGroup {
@@ -33,19 +33,12 @@ public interface VolumeGroup {
String type();
/**
- * Gets the systemData property: Resource metadata required by ARM RPC.
+ * Gets the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
*
* @return the systemData value.
*/
SystemData systemData();
- /**
- * Gets the tags property: Azure resource tags.
- *
- * @return the tags value.
- */
- Map