Returns a collection of API definitions.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @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 aPI version collection as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Returns a collection of API definitions.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param filter OData filter parameter.
+ * @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 aPI version collection as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Returns details of the API definition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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 aPI definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApiDefinitionsGetResponse getWithResponse(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ String versionName,
+ String definitionName,
+ Context context);
+
+ /**
+ * Get API definition
+ *
+ * Returns details of the API definition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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 aPI definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApiDefinitionInner get(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ String versionName,
+ String definitionName);
+
+ /**
+ * Create or update API definition
+ *
+ * Creates new or updates existing API definition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @param payload API definition entity.
+ * @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 aPI definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApiDefinitionsCreateOrUpdateResponse createOrUpdateWithResponse(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ String versionName,
+ String definitionName,
+ ApiDefinitionInner payload,
+ Context context);
+
+ /**
+ * Create or update API definition
+ *
+ * Creates new or updates existing API definition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @param payload API definition entity.
+ * @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 aPI definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApiDefinitionInner createOrUpdate(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ String versionName,
+ String definitionName,
+ ApiDefinitionInner payload);
+
+ /**
+ * Delete API definition
+ *
+ * Deletes specified API definition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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 {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response Deletes specified API definition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ String versionName,
+ String definitionName);
+
+ /**
+ * Check API definition exists
+ *
+ * Checks if specified API definition exists.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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 {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response Checks if specified API definition exists.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void head(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ String versionName,
+ String definitionName);
+
+ /**
+ * Import API specification
+ *
+ * Imports the API specification.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @param payload The API specification source entity.
+ * @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 {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response Imports the API specification.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @param payload The API specification source entity.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void importSpecification(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ String versionName,
+ String definitionName,
+ ApiSpecImportRequest payload);
+
+ /**
+ * Export API specification
+ *
+ * Exports the API specification.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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 API specification export result along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response Exports the API specification.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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 API specification export result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApiSpecExportResultInner exportSpecification(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ String versionName,
+ String definitionName);
+}
diff --git a/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/ApiVersionsClient.java b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/ApiVersionsClient.java
new file mode 100644
index 0000000000000..4be82fc78ac4f
--- /dev/null
+++ b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/ApiVersionsClient.java
@@ -0,0 +1,240 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.apicenter.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.apicenter.fluent.models.ApiVersionInner;
+import com.azure.resourcemanager.apicenter.models.ApiVersionsCreateOrUpdateResponse;
+import com.azure.resourcemanager.apicenter.models.ApiVersionsGetResponse;
+
+/** An instance of this class provides access to all the operations defined in ApiVersionsClient. */
+public interface ApiVersionsClient {
+ /**
+ * List API versions
+ *
+ * Returns a collection of API versions.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @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 aPI version collection as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Returns a collection of API versions.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param filter OData filter parameter.
+ * @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 aPI version collection as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Returns details of the API version.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @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 aPI version.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApiVersionsGetResponse getWithResponse(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ String versionName,
+ Context context);
+
+ /**
+ * Get API version
+ *
+ * Returns details of the API version.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @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 aPI version.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApiVersionInner get(
+ String resourceGroupName, String serviceName, String workspaceName, String apiName, String versionName);
+
+ /**
+ * Create or update API version
+ *
+ * Creates new or updates existing API version.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param payload API version entity.
+ * @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 aPI version.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApiVersionsCreateOrUpdateResponse createOrUpdateWithResponse(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ String versionName,
+ ApiVersionInner payload,
+ Context context);
+
+ /**
+ * Create or update API version
+ *
+ * Creates new or updates existing API version.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param payload API version entity.
+ * @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 aPI version.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApiVersionInner createOrUpdate(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ String versionName,
+ ApiVersionInner payload);
+
+ /**
+ * Delete API version
+ *
+ * Deletes specified API version.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @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 {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response Deletes specified API version.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String serviceName, String workspaceName, String apiName, String versionName);
+
+ /**
+ * Check API version exists
+ *
+ * Checks if specified API version exists.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @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 {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response Checks if specified API version exists.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void head(String resourceGroupName, String serviceName, String workspaceName, String apiName, String versionName);
+}
diff --git a/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/ApisClient.java b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/ApisClient.java
new file mode 100644
index 0000000000000..66140f205e758
--- /dev/null
+++ b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/ApisClient.java
@@ -0,0 +1,202 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.apicenter.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.apicenter.fluent.models.ApiInner;
+import com.azure.resourcemanager.apicenter.models.ApisCreateOrUpdateResponse;
+import com.azure.resourcemanager.apicenter.models.ApisGetResponse;
+
+/** An instance of this class provides access to all the operations defined in ApisClient. */
+public interface ApisClient {
+ /**
+ * List APIs
+ *
+ * Returns a collection of APIs.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @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 aPI collection as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Returns a collection of APIs.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param filter OData filter parameter.
+ * @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 aPI collection as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Returns details of the API.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @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 aPI.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApisGetResponse getWithResponse(
+ String resourceGroupName, String serviceName, String workspaceName, String apiName, Context context);
+
+ /**
+ * Get API
+ *
+ * Returns details of the API.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @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 aPI.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApiInner get(String resourceGroupName, String serviceName, String workspaceName, String apiName);
+
+ /**
+ * Create or update API
+ *
+ * Creates new or updates existing API.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param payload API entity.
+ * @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 aPI.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApisCreateOrUpdateResponse createOrUpdateWithResponse(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ ApiInner payload,
+ Context context);
+
+ /**
+ * Create or update API
+ *
+ * Creates new or updates existing API.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param payload API entity.
+ * @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 aPI.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApiInner createOrUpdate(
+ String resourceGroupName, String serviceName, String workspaceName, String apiName, ApiInner payload);
+
+ /**
+ * Delete API
+ *
+ * Deletes specified API.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @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 {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response Deletes specified API.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String serviceName, String workspaceName, String apiName);
+
+ /**
+ * Check if API exists
+ *
+ * Checks if specified API exists.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @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 {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response Checks if specified API exists.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void head(String resourceGroupName, String serviceName, String workspaceName, String apiName);
+}
diff --git a/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/AzureApiCenter.java b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/AzureApiCenter.java
index 7f3105526efa5..b36a047d19779 100644
--- a/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/AzureApiCenter.java
+++ b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/AzureApiCenter.java
@@ -10,7 +10,7 @@
/** The interface for AzureApiCenter class. */
public interface AzureApiCenter {
/**
- * Gets The ID of the target subscription.
+ * Gets The ID of the target subscription. The value must be an UUID.
*
* @return the subscriptionId value.
*/
@@ -57,4 +57,53 @@ public interface AzureApiCenter {
* @return the ServicesClient object.
*/
ServicesClient getServices();
+
+ /**
+ * Gets the MetadataSchemasClient object to access its operations.
+ *
+ * @return the MetadataSchemasClient object.
+ */
+ MetadataSchemasClient getMetadataSchemas();
+
+ /**
+ * Gets the WorkspacesClient object to access its operations.
+ *
+ * @return the WorkspacesClient object.
+ */
+ WorkspacesClient getWorkspaces();
+
+ /**
+ * Gets the ApisClient object to access its operations.
+ *
+ * @return the ApisClient object.
+ */
+ ApisClient getApis();
+
+ /**
+ * Gets the ApiVersionsClient object to access its operations.
+ *
+ * @return the ApiVersionsClient object.
+ */
+ ApiVersionsClient getApiVersions();
+
+ /**
+ * Gets the ApiDefinitionsClient object to access its operations.
+ *
+ * @return the ApiDefinitionsClient object.
+ */
+ ApiDefinitionsClient getApiDefinitions();
+
+ /**
+ * Gets the DeploymentsClient object to access its operations.
+ *
+ * @return the DeploymentsClient object.
+ */
+ DeploymentsClient getDeployments();
+
+ /**
+ * Gets the EnvironmentsClient object to access its operations.
+ *
+ * @return the EnvironmentsClient object.
+ */
+ EnvironmentsClient getEnvironments();
}
diff --git a/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/DeploymentsClient.java b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/DeploymentsClient.java
new file mode 100644
index 0000000000000..db4d227894c40
--- /dev/null
+++ b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/DeploymentsClient.java
@@ -0,0 +1,242 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.apicenter.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.apicenter.fluent.models.DeploymentInner;
+import com.azure.resourcemanager.apicenter.models.DeploymentsCreateOrUpdateResponse;
+import com.azure.resourcemanager.apicenter.models.DeploymentsGetResponse;
+
+/** An instance of this class provides access to all the operations defined in DeploymentsClient. */
+public interface DeploymentsClient {
+ /**
+ * List deployments
+ *
+ * Returns a collection of API deployments.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @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 aPI deployment collection as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Returns a collection of API deployments.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param filter OData filter parameter.
+ * @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 aPI deployment collection as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Deletes API deployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param deploymentName The name of the API deployment.
+ * @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 {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response Deletes API deployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param deploymentName The name of the API deployment.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(
+ String resourceGroupName, String serviceName, String workspaceName, String apiName, String deploymentName);
+
+ /**
+ * Get API deployment
+ *
+ * Returns details of the API deployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param deploymentName The name of the API deployment.
+ * @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 aPI deployment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DeploymentsGetResponse getWithResponse(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ String deploymentName,
+ Context context);
+
+ /**
+ * Get API deployment
+ *
+ * Returns details of the API deployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param deploymentName The name of the API deployment.
+ * @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 aPI deployment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DeploymentInner get(
+ String resourceGroupName, String serviceName, String workspaceName, String apiName, String deploymentName);
+
+ /**
+ * Create or update API deployment
+ *
+ * Creates new or updates existing API deployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param deploymentName The name of the API deployment.
+ * @param payload API deployment entity.
+ * @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 aPI deployment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DeploymentsCreateOrUpdateResponse createOrUpdateWithResponse(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ String deploymentName,
+ DeploymentInner payload,
+ Context context);
+
+ /**
+ * Create or update API deployment
+ *
+ * Creates new or updates existing API deployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param deploymentName The name of the API deployment.
+ * @param payload API deployment entity.
+ * @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 aPI deployment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DeploymentInner createOrUpdate(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ String deploymentName,
+ DeploymentInner payload);
+
+ /**
+ * Check if API deployment exists
+ *
+ * Checks if specified API deployment exists.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param deploymentName The name of the API deployment.
+ * @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 {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response Checks if specified API deployment exists.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param deploymentName The name of the API deployment.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void head(
+ String resourceGroupName, String serviceName, String workspaceName, String apiName, String deploymentName);
+}
diff --git a/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/EnvironmentsClient.java b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/EnvironmentsClient.java
new file mode 100644
index 0000000000000..12e78828da194
--- /dev/null
+++ b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/EnvironmentsClient.java
@@ -0,0 +1,206 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.apicenter.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.apicenter.fluent.models.EnvironmentInner;
+import com.azure.resourcemanager.apicenter.models.EnvironmentsCreateOrUpdateResponse;
+import com.azure.resourcemanager.apicenter.models.EnvironmentsGetResponse;
+
+/** An instance of this class provides access to all the operations defined in EnvironmentsClient. */
+public interface EnvironmentsClient {
+ /**
+ * List environments
+ *
+ * Returns a collection of environments.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @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 environments collection as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Returns a collection of environments.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param filter OData filter parameter.
+ * @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 environments collection as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Creates new or updates existing environment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param environmentName The name of the environment.
+ * @param payload Environment entity.
+ * @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 environment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EnvironmentsCreateOrUpdateResponse createOrUpdateWithResponse(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String environmentName,
+ EnvironmentInner payload,
+ Context context);
+
+ /**
+ * Create or update environment
+ *
+ * Creates new or updates existing environment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param environmentName The name of the environment.
+ * @param payload Environment entity.
+ * @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 environment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EnvironmentInner createOrUpdate(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String environmentName,
+ EnvironmentInner payload);
+
+ /**
+ * Delete environment
+ *
+ * Deletes the environment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param environmentName The name of the environment.
+ * @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 {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response Deletes the environment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param environmentName The name of the environment.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String serviceName, String workspaceName, String environmentName);
+
+ /**
+ * Check if environment exists
+ *
+ * Checks if specified environment exists.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param environmentName The name of the environment.
+ * @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 {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response Checks if specified environment exists.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param environmentName The name of the environment.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void head(String resourceGroupName, String serviceName, String workspaceName, String environmentName);
+
+ /**
+ * Get environment
+ *
+ * Returns details of the environment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param environmentName The name of the environment.
+ * @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 environment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EnvironmentsGetResponse getWithResponse(
+ String resourceGroupName, String serviceName, String workspaceName, String environmentName, Context context);
+
+ /**
+ * Get environment
+ *
+ * Returns details of the environment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param environmentName The name of the environment.
+ * @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 environment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EnvironmentInner get(String resourceGroupName, String serviceName, String workspaceName, String environmentName);
+}
diff --git a/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/MetadataSchemasClient.java b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/MetadataSchemasClient.java
new file mode 100644
index 0000000000000..9b65dc31d3cfd
--- /dev/null
+++ b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/MetadataSchemasClient.java
@@ -0,0 +1,191 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.apicenter.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.apicenter.fluent.models.MetadataSchemaInner;
+import com.azure.resourcemanager.apicenter.models.MetadataSchemasCreateOrUpdateResponse;
+import com.azure.resourcemanager.apicenter.models.MetadataSchemasGetResponse;
+
+/** An instance of this class provides access to all the operations defined in MetadataSchemasClient. */
+public interface MetadataSchemasClient {
+ /**
+ * List metadata schemas
+ *
+ * Returns a collection of metadata schemas.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @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 metadata schema collection as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Returns a collection of metadata schemas.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param filter OData filter parameter.
+ * @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 metadata schema collection as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Returns details of the metadata schema.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param metadataSchemaName The name of the metadata schema.
+ * @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 metadata schema.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MetadataSchemasGetResponse getWithResponse(
+ String resourceGroupName, String serviceName, String metadataSchemaName, Context context);
+
+ /**
+ * Get metadata schema
+ *
+ * Returns details of the metadata schema.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param metadataSchemaName The name of the metadata schema.
+ * @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 metadata schema.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MetadataSchemaInner get(String resourceGroupName, String serviceName, String metadataSchemaName);
+
+ /**
+ * Create or update metadata schema
+ *
+ * Creates new or updates existing metadata schema.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param metadataSchemaName The name of the metadata schema.
+ * @param payload Metadata schema entity.
+ * @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 metadata schema.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MetadataSchemasCreateOrUpdateResponse createOrUpdateWithResponse(
+ String resourceGroupName,
+ String serviceName,
+ String metadataSchemaName,
+ MetadataSchemaInner payload,
+ Context context);
+
+ /**
+ * Create or update metadata schema
+ *
+ * Creates new or updates existing metadata schema.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param metadataSchemaName The name of the metadata schema.
+ * @param payload Metadata schema entity.
+ * @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 metadata schema.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MetadataSchemaInner createOrUpdate(
+ String resourceGroupName, String serviceName, String metadataSchemaName, MetadataSchemaInner payload);
+
+ /**
+ * Delete metadata schema
+ *
+ * Deletes specified metadata schema.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param metadataSchemaName The name of the metadata schema.
+ * @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 {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response Deletes specified metadata schema.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param metadataSchemaName The name of the metadata schema.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String serviceName, String metadataSchemaName);
+
+ /**
+ * Check metadata schema exists
+ *
+ * Checks if specified metadata schema exists.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param metadataSchemaName The name of the metadata schema.
+ * @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 {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response Checks if specified metadata schema exists.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param metadataSchemaName The name of the metadata schema.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void head(String resourceGroupName, String serviceName, String metadataSchemaName);
+}
diff --git a/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/OperationsClient.java b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/OperationsClient.java
index 902461a5dad42..adfbdb6978630 100644
--- a/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/OperationsClient.java
+++ b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/OperationsClient.java
@@ -13,7 +13,9 @@
/** An instance of this class provides access to all the operations defined in OperationsClient. */
public interface OperationsClient {
/**
- * List the operations for the provider.
+ * List resource provider operations
+ *
+ * Returns a collection of resource provider operations.
*
* @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.
@@ -24,7 +26,9 @@ public interface OperationsClient {
PagedIterable Returns a collection of resource provider operations.
*
* @param context The context to associate with this operation.
* @throws IllegalArgumentException thrown if parameters fail the validation.
diff --git a/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/ServicesClient.java b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/ServicesClient.java
index db5e2f5e31006..321bd2e380d43 100644
--- a/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/ServicesClient.java
+++ b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/ServicesClient.java
@@ -9,7 +9,9 @@
import com.azure.core.http.rest.PagedIterable;
import com.azure.core.http.rest.Response;
import com.azure.core.util.Context;
+import com.azure.resourcemanager.apicenter.fluent.models.MetadataSchemaExportResultInner;
import com.azure.resourcemanager.apicenter.fluent.models.ServiceInner;
+import com.azure.resourcemanager.apicenter.models.MetadataSchemaExportRequest;
import com.azure.resourcemanager.apicenter.models.ServiceUpdate;
/** An instance of this class provides access to all the operations defined in ServicesClient. */
@@ -37,7 +39,7 @@ public interface ServicesClient {
PagedIterable Returns details of the service.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param serviceName Service name.
@@ -70,31 +74,35 @@ public interface ServicesClient {
* @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 service along with {@link Response}.
+ * @return the service entity along with {@link Response}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
Response Returns details of the service.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param serviceName Service name.
* @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 service.
+ * @return the service entity.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
ServiceInner getByResourceGroup(String resourceGroupName, String serviceName);
/**
- * Create or update service.
+ * Create or update service
+ *
+ * Creates new or updates existing API.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param serviceName Service name.
- * @param resource The service entity.
+ * @param payload The service entity.
* @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.
@@ -103,10 +111,12 @@ Response Creates new or updates existing API.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param serviceName Service name.
@@ -119,11 +129,13 @@ Response Updates existing service.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param serviceName Service name.
- * @param parameters The service properties to be updated.
+ * @param payload The service properties to be updated.
* @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.
@@ -132,10 +144,12 @@ Response Updates existing service.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param serviceName Service name.
@@ -148,7 +162,9 @@ Response Deletes specified service.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param serviceName Service name.
@@ -162,7 +178,9 @@ Response Deletes specified service.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param serviceName Service name.
@@ -172,4 +190,39 @@ Response Exports the effective metadata schema.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param payload The metadata schema request details.
+ * @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 metadata schema export result along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response Exports the effective metadata schema.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param payload The metadata schema request details.
+ * @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 metadata schema export result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MetadataSchemaExportResultInner exportMetadataSchema(
+ String resourceGroupName, String serviceName, MetadataSchemaExportRequest payload);
}
diff --git a/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/WorkspacesClient.java b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/WorkspacesClient.java
new file mode 100644
index 0000000000000..d6e6b546eac4f
--- /dev/null
+++ b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/WorkspacesClient.java
@@ -0,0 +1,186 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.apicenter.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.apicenter.fluent.models.WorkspaceInner;
+import com.azure.resourcemanager.apicenter.models.WorkspacesCreateOrUpdateResponse;
+import com.azure.resourcemanager.apicenter.models.WorkspacesGetResponse;
+
+/** An instance of this class provides access to all the operations defined in WorkspacesClient. */
+public interface WorkspacesClient {
+ /**
+ * List workspaces
+ *
+ * Returns a collection of workspaces.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @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 workspace collection as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Returns a collection of workspaces.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param filter OData filter parameter.
+ * @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 workspace collection as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Returns details of the workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @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 workspace.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WorkspacesGetResponse getWithResponse(
+ String resourceGroupName, String serviceName, String workspaceName, Context context);
+
+ /**
+ * Get workspace
+ *
+ * Returns details of the workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @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 workspace.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WorkspaceInner get(String resourceGroupName, String serviceName, String workspaceName);
+
+ /**
+ * Create or update workspace
+ *
+ * Creates new or updates existing workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param payload Workspace entity.
+ * @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 workspace.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WorkspacesCreateOrUpdateResponse createOrUpdateWithResponse(
+ String resourceGroupName, String serviceName, String workspaceName, WorkspaceInner payload, Context context);
+
+ /**
+ * Create or update workspace
+ *
+ * Creates new or updates existing workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param payload Workspace entity.
+ * @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 workspace.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WorkspaceInner createOrUpdate(
+ String resourceGroupName, String serviceName, String workspaceName, WorkspaceInner payload);
+
+ /**
+ * Delete workspace
+ *
+ * Deletes specified workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @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 {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response Deletes specified workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String serviceName, String workspaceName);
+
+ /**
+ * Check workspace exists
+ *
+ * Checks if specified workspace exists.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @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 {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response Checks if specified workspace exists.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void head(String resourceGroupName, String serviceName, String workspaceName);
+}
diff --git a/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/ApiDefinitionInner.java b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/ApiDefinitionInner.java
new file mode 100644
index 0000000000000..b7faaf153e6ad
--- /dev/null
+++ b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/ApiDefinitionInner.java
@@ -0,0 +1,123 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.apicenter.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.apicenter.models.ApiDefinitionPropertiesSpecification;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * API definition
+ *
+ * API definition entity.
+ */
+@Fluent
+public final class ApiDefinitionInner extends ProxyResource {
+ /*
+ * API version properties
+ *
+ * API version properties entity.
+ */
+ @JsonProperty(value = "properties")
+ private ApiDefinitionProperties 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 ApiDefinitionInner class. */
+ public ApiDefinitionInner() {
+ }
+
+ /**
+ * Get the innerProperties property: API version properties
+ *
+ * API version properties entity.
+ *
+ * @return the innerProperties value.
+ */
+ private ApiDefinitionProperties 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 title property: API version.
+ *
+ * @return the title value.
+ */
+ public String title() {
+ return this.innerProperties() == null ? null : this.innerProperties().title();
+ }
+
+ /**
+ * Set the title property: API version.
+ *
+ * @param title the title value to set.
+ * @return the ApiDefinitionInner object itself.
+ */
+ public ApiDefinitionInner withTitle(String title) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApiDefinitionProperties();
+ }
+ this.innerProperties().withTitle(title);
+ return this;
+ }
+
+ /**
+ * Get the description property: API definition description.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.innerProperties() == null ? null : this.innerProperties().description();
+ }
+
+ /**
+ * Set the description property: API definition description.
+ *
+ * @param description the description value to set.
+ * @return the ApiDefinitionInner object itself.
+ */
+ public ApiDefinitionInner withDescription(String description) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApiDefinitionProperties();
+ }
+ this.innerProperties().withDescription(description);
+ return this;
+ }
+
+ /**
+ * Get the specification property: The specification property.
+ *
+ * @return the specification value.
+ */
+ public ApiDefinitionPropertiesSpecification specification() {
+ return this.innerProperties() == null ? null : this.innerProperties().specification();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/ApiDefinitionProperties.java b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/ApiDefinitionProperties.java
new file mode 100644
index 0000000000000..8c8c5c065f631
--- /dev/null
+++ b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/ApiDefinitionProperties.java
@@ -0,0 +1,107 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.apicenter.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.apicenter.models.ApiDefinitionPropertiesSpecification;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * API version properties
+ *
+ * API version properties entity.
+ */
+@Fluent
+public final class ApiDefinitionProperties {
+ /*
+ * API version.
+ */
+ @JsonProperty(value = "title", required = true)
+ private String title;
+
+ /*
+ * API definition description.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /*
+ * The specification property.
+ */
+ @JsonProperty(value = "specification", access = JsonProperty.Access.WRITE_ONLY)
+ private ApiDefinitionPropertiesSpecification specification;
+
+ /** Creates an instance of ApiDefinitionProperties class. */
+ public ApiDefinitionProperties() {
+ }
+
+ /**
+ * Get the title property: API version.
+ *
+ * @return the title value.
+ */
+ public String title() {
+ return this.title;
+ }
+
+ /**
+ * Set the title property: API version.
+ *
+ * @param title the title value to set.
+ * @return the ApiDefinitionProperties object itself.
+ */
+ public ApiDefinitionProperties withTitle(String title) {
+ this.title = title;
+ return this;
+ }
+
+ /**
+ * Get the description property: API definition description.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: API definition description.
+ *
+ * @param description the description value to set.
+ * @return the ApiDefinitionProperties object itself.
+ */
+ public ApiDefinitionProperties withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the specification property: The specification property.
+ *
+ * @return the specification value.
+ */
+ public ApiDefinitionPropertiesSpecification specification() {
+ return this.specification;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (title() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property title in model ApiDefinitionProperties"));
+ }
+ if (specification() != null) {
+ specification().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(ApiDefinitionProperties.class);
+}
diff --git a/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/ApiInner.java b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/ApiInner.java
new file mode 100644
index 0000000000000..70d6dc94c6271
--- /dev/null
+++ b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/ApiInner.java
@@ -0,0 +1,306 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.apicenter.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.apicenter.models.ApiType;
+import com.azure.resourcemanager.apicenter.models.Contact;
+import com.azure.resourcemanager.apicenter.models.ExternalDocumentation;
+import com.azure.resourcemanager.apicenter.models.License;
+import com.azure.resourcemanager.apicenter.models.LifecycleStage;
+import com.azure.resourcemanager.apicenter.models.TermsOfService;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/**
+ * API
+ *
+ * API entity.
+ */
+@Fluent
+public final class ApiInner extends ProxyResource {
+ /*
+ * API properties
+ *
+ * API properties.
+ */
+ @JsonProperty(value = "properties")
+ private ApiProperties 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 ApiInner class. */
+ public ApiInner() {
+ }
+
+ /**
+ * Get the innerProperties property: API properties
+ *
+ * API properties.
+ *
+ * @return the innerProperties value.
+ */
+ private ApiProperties 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 title property: API title.
+ *
+ * @return the title value.
+ */
+ public String title() {
+ return this.innerProperties() == null ? null : this.innerProperties().title();
+ }
+
+ /**
+ * Set the title property: API title.
+ *
+ * @param title the title value to set.
+ * @return the ApiInner object itself.
+ */
+ public ApiInner withTitle(String title) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApiProperties();
+ }
+ this.innerProperties().withTitle(title);
+ return this;
+ }
+
+ /**
+ * Get the type property: API type
+ *
+ * Kind of API. For example, REST or GraphQL.
+ *
+ * @return the type value.
+ */
+ public ApiType typePropertiesType() {
+ return this.innerProperties() == null ? null : this.innerProperties().type();
+ }
+
+ /**
+ * Set the type property: API type
+ *
+ * Kind of API. For example, REST or GraphQL.
+ *
+ * @param type the type value to set.
+ * @return the ApiInner object itself.
+ */
+ public ApiInner withTypePropertiesType(ApiType type) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApiProperties();
+ }
+ this.innerProperties().withType(type);
+ return this;
+ }
+
+ /**
+ * Get the description property: Description
+ *
+ * Description of the API.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.innerProperties() == null ? null : this.innerProperties().description();
+ }
+
+ /**
+ * Set the description property: Description
+ *
+ * Description of the API.
+ *
+ * @param description the description value to set.
+ * @return the ApiInner object itself.
+ */
+ public ApiInner withDescription(String description) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApiProperties();
+ }
+ this.innerProperties().withDescription(description);
+ return this;
+ }
+
+ /**
+ * Get the summary property: Short description of the API.
+ *
+ * @return the summary value.
+ */
+ public String summary() {
+ return this.innerProperties() == null ? null : this.innerProperties().summary();
+ }
+
+ /**
+ * Set the summary property: Short description of the API.
+ *
+ * @param summary the summary value to set.
+ * @return the ApiInner object itself.
+ */
+ public ApiInner withSummary(String summary) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApiProperties();
+ }
+ this.innerProperties().withSummary(summary);
+ return this;
+ }
+
+ /**
+ * Get the lifecycleStage property: Current lifecycle stage of the API.
+ *
+ * @return the lifecycleStage value.
+ */
+ public LifecycleStage lifecycleStage() {
+ return this.innerProperties() == null ? null : this.innerProperties().lifecycleStage();
+ }
+
+ /**
+ * Get the termsOfService property: Terms of service
+ *
+ * Terms of service for the API.
+ *
+ * @return the termsOfService value.
+ */
+ public TermsOfService termsOfService() {
+ return this.innerProperties() == null ? null : this.innerProperties().termsOfService();
+ }
+
+ /**
+ * Set the termsOfService property: Terms of service
+ *
+ * Terms of service for the API.
+ *
+ * @param termsOfService the termsOfService value to set.
+ * @return the ApiInner object itself.
+ */
+ public ApiInner withTermsOfService(TermsOfService termsOfService) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApiProperties();
+ }
+ this.innerProperties().withTermsOfService(termsOfService);
+ return this;
+ }
+
+ /**
+ * Get the externalDocumentation property: The externalDocumentation property.
+ *
+ * @return the externalDocumentation value.
+ */
+ public List The license information for the API.
+ *
+ * @return the license value.
+ */
+ public License license() {
+ return this.innerProperties() == null ? null : this.innerProperties().license();
+ }
+
+ /**
+ * Set the license property: License
+ *
+ * The license information for the API.
+ *
+ * @param license the license value to set.
+ * @return the ApiInner object itself.
+ */
+ public ApiInner withLicense(License license) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApiProperties();
+ }
+ this.innerProperties().withLicense(license);
+ return this;
+ }
+
+ /**
+ * Get the customProperties property: The custom metadata defined for API catalog entities.
+ *
+ * @return the customProperties value.
+ */
+ public Object customProperties() {
+ return this.innerProperties() == null ? null : this.innerProperties().customProperties();
+ }
+
+ /**
+ * Set the customProperties property: The custom metadata defined for API catalog entities.
+ *
+ * @param customProperties the customProperties value to set.
+ * @return the ApiInner object itself.
+ */
+ public ApiInner withCustomProperties(Object customProperties) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApiProperties();
+ }
+ this.innerProperties().withCustomProperties(customProperties);
+ 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/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/ApiProperties.java b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/ApiProperties.java
new file mode 100644
index 0000000000000..ae35ec165d0fa
--- /dev/null
+++ b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/ApiProperties.java
@@ -0,0 +1,333 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.apicenter.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.apicenter.models.ApiType;
+import com.azure.resourcemanager.apicenter.models.Contact;
+import com.azure.resourcemanager.apicenter.models.ExternalDocumentation;
+import com.azure.resourcemanager.apicenter.models.License;
+import com.azure.resourcemanager.apicenter.models.LifecycleStage;
+import com.azure.resourcemanager.apicenter.models.TermsOfService;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/**
+ * API properties
+ *
+ * API properties.
+ */
+@Fluent
+public final class ApiProperties {
+ /*
+ * API title.
+ */
+ @JsonProperty(value = "title", required = true)
+ private String title;
+
+ /*
+ * API type
+ *
+ * Kind of API. For example, REST or GraphQL.
+ */
+ @JsonProperty(value = "type", required = true)
+ private ApiType type;
+
+ /*
+ * Description
+ *
+ * Description of the API.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /*
+ * Short description of the API.
+ */
+ @JsonProperty(value = "summary")
+ private String summary;
+
+ /*
+ * Current lifecycle stage of the API.
+ */
+ @JsonProperty(value = "lifecycleStage", access = JsonProperty.Access.WRITE_ONLY)
+ private LifecycleStage lifecycleStage;
+
+ /*
+ * Terms of service
+ *
+ * Terms of service for the API.
+ */
+ @JsonProperty(value = "termsOfService")
+ private TermsOfService termsOfService;
+
+ /*
+ * The externalDocumentation property.
+ */
+ @JsonProperty(value = "externalDocumentation")
+ private List Kind of API. For example, REST or GraphQL.
+ *
+ * @return the type value.
+ */
+ public ApiType type() {
+ return this.type;
+ }
+
+ /**
+ * Set the type property: API type
+ *
+ * Kind of API. For example, REST or GraphQL.
+ *
+ * @param type the type value to set.
+ * @return the ApiProperties object itself.
+ */
+ public ApiProperties withType(ApiType type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the description property: Description
+ *
+ * Description of the API.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: Description
+ *
+ * Description of the API.
+ *
+ * @param description the description value to set.
+ * @return the ApiProperties object itself.
+ */
+ public ApiProperties withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the summary property: Short description of the API.
+ *
+ * @return the summary value.
+ */
+ public String summary() {
+ return this.summary;
+ }
+
+ /**
+ * Set the summary property: Short description of the API.
+ *
+ * @param summary the summary value to set.
+ * @return the ApiProperties object itself.
+ */
+ public ApiProperties withSummary(String summary) {
+ this.summary = summary;
+ return this;
+ }
+
+ /**
+ * Get the lifecycleStage property: Current lifecycle stage of the API.
+ *
+ * @return the lifecycleStage value.
+ */
+ public LifecycleStage lifecycleStage() {
+ return this.lifecycleStage;
+ }
+
+ /**
+ * Get the termsOfService property: Terms of service
+ *
+ * Terms of service for the API.
+ *
+ * @return the termsOfService value.
+ */
+ public TermsOfService termsOfService() {
+ return this.termsOfService;
+ }
+
+ /**
+ * Set the termsOfService property: Terms of service
+ *
+ * Terms of service for the API.
+ *
+ * @param termsOfService the termsOfService value to set.
+ * @return the ApiProperties object itself.
+ */
+ public ApiProperties withTermsOfService(TermsOfService termsOfService) {
+ this.termsOfService = termsOfService;
+ return this;
+ }
+
+ /**
+ * Get the externalDocumentation property: The externalDocumentation property.
+ *
+ * @return the externalDocumentation value.
+ */
+ public List The license information for the API.
+ *
+ * @return the license value.
+ */
+ public License license() {
+ return this.license;
+ }
+
+ /**
+ * Set the license property: License
+ *
+ * The license information for the API.
+ *
+ * @param license the license value to set.
+ * @return the ApiProperties object itself.
+ */
+ public ApiProperties withLicense(License license) {
+ this.license = license;
+ return this;
+ }
+
+ /**
+ * Get the customProperties property: The custom metadata defined for API catalog entities.
+ *
+ * @return the customProperties value.
+ */
+ public Object customProperties() {
+ return this.customProperties;
+ }
+
+ /**
+ * Set the customProperties property: The custom metadata defined for API catalog entities.
+ *
+ * @param customProperties the customProperties value to set.
+ * @return the ApiProperties object itself.
+ */
+ public ApiProperties withCustomProperties(Object customProperties) {
+ this.customProperties = customProperties;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (title() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property title in model ApiProperties"));
+ }
+ if (type() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property type in model ApiProperties"));
+ }
+ if (termsOfService() != null) {
+ termsOfService().validate();
+ }
+ if (externalDocumentation() != null) {
+ externalDocumentation().forEach(e -> e.validate());
+ }
+ if (contacts() != null) {
+ contacts().forEach(e -> e.validate());
+ }
+ if (license() != null) {
+ license().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(ApiProperties.class);
+}
diff --git a/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/ApiSpecExportResultInner.java b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/ApiSpecExportResultInner.java
new file mode 100644
index 0000000000000..69bfed1041b7d
--- /dev/null
+++ b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/ApiSpecExportResultInner.java
@@ -0,0 +1,77 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.apicenter.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.apicenter.models.ApiSpecExportResultFormat;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The API specification export result. */
+@Fluent
+public final class ApiSpecExportResultInner {
+ /*
+ * The format property.
+ */
+ @JsonProperty(value = "format")
+ private ApiSpecExportResultFormat format;
+
+ /*
+ * The result of the export operation.
+ */
+ @JsonProperty(value = "value")
+ private String value;
+
+ /** Creates an instance of ApiSpecExportResultInner class. */
+ public ApiSpecExportResultInner() {
+ }
+
+ /**
+ * Get the format property: The format property.
+ *
+ * @return the format value.
+ */
+ public ApiSpecExportResultFormat format() {
+ return this.format;
+ }
+
+ /**
+ * Set the format property: The format property.
+ *
+ * @param format the format value to set.
+ * @return the ApiSpecExportResultInner object itself.
+ */
+ public ApiSpecExportResultInner withFormat(ApiSpecExportResultFormat format) {
+ this.format = format;
+ return this;
+ }
+
+ /**
+ * Get the value property: The result of the export operation.
+ *
+ * @return the value value.
+ */
+ public String value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: The result of the export operation.
+ *
+ * @param value the value value to set.
+ * @return the ApiSpecExportResultInner object itself.
+ */
+ public ApiSpecExportResultInner withValue(String value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/ApiVersionInner.java b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/ApiVersionInner.java
new file mode 100644
index 0000000000000..45b2bf6b1e2fb
--- /dev/null
+++ b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/ApiVersionInner.java
@@ -0,0 +1,114 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.apicenter.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.apicenter.models.LifecycleStage;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * API version
+ *
+ * API version entity.
+ */
+@Fluent
+public final class ApiVersionInner extends ProxyResource {
+ /*
+ * API version properties
+ *
+ * API version properties entity.
+ */
+ @JsonProperty(value = "properties")
+ private ApiVersionProperties 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 ApiVersionInner class. */
+ public ApiVersionInner() {
+ }
+
+ /**
+ * Get the innerProperties property: API version properties
+ *
+ * API version properties entity.
+ *
+ * @return the innerProperties value.
+ */
+ private ApiVersionProperties 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 title property: API version.
+ *
+ * @return the title value.
+ */
+ public String title() {
+ return this.innerProperties() == null ? null : this.innerProperties().title();
+ }
+
+ /**
+ * Set the title property: API version.
+ *
+ * @param title the title value to set.
+ * @return the ApiVersionInner object itself.
+ */
+ public ApiVersionInner withTitle(String title) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApiVersionProperties();
+ }
+ this.innerProperties().withTitle(title);
+ return this;
+ }
+
+ /**
+ * Get the lifecycleStage property: Current lifecycle stage of the API.
+ *
+ * @return the lifecycleStage value.
+ */
+ public LifecycleStage lifecycleStage() {
+ return this.innerProperties() == null ? null : this.innerProperties().lifecycleStage();
+ }
+
+ /**
+ * Set the lifecycleStage property: Current lifecycle stage of the API.
+ *
+ * @param lifecycleStage the lifecycleStage value to set.
+ * @return the ApiVersionInner object itself.
+ */
+ public ApiVersionInner withLifecycleStage(LifecycleStage lifecycleStage) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApiVersionProperties();
+ }
+ this.innerProperties().withLifecycleStage(lifecycleStage);
+ 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/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/ApiVersionProperties.java b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/ApiVersionProperties.java
new file mode 100644
index 0000000000000..dc6661ac822a4
--- /dev/null
+++ b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/ApiVersionProperties.java
@@ -0,0 +1,89 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.apicenter.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.apicenter.models.LifecycleStage;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * API version properties
+ *
+ * API version properties entity.
+ */
+@Fluent
+public final class ApiVersionProperties {
+ /*
+ * API version.
+ */
+ @JsonProperty(value = "title", required = true)
+ private String title;
+
+ /*
+ * Current lifecycle stage of the API.
+ */
+ @JsonProperty(value = "lifecycleStage")
+ private LifecycleStage lifecycleStage;
+
+ /** Creates an instance of ApiVersionProperties class. */
+ public ApiVersionProperties() {
+ }
+
+ /**
+ * Get the title property: API version.
+ *
+ * @return the title value.
+ */
+ public String title() {
+ return this.title;
+ }
+
+ /**
+ * Set the title property: API version.
+ *
+ * @param title the title value to set.
+ * @return the ApiVersionProperties object itself.
+ */
+ public ApiVersionProperties withTitle(String title) {
+ this.title = title;
+ return this;
+ }
+
+ /**
+ * Get the lifecycleStage property: Current lifecycle stage of the API.
+ *
+ * @return the lifecycleStage value.
+ */
+ public LifecycleStage lifecycleStage() {
+ return this.lifecycleStage;
+ }
+
+ /**
+ * Set the lifecycleStage property: Current lifecycle stage of the API.
+ *
+ * @param lifecycleStage the lifecycleStage value to set.
+ * @return the ApiVersionProperties object itself.
+ */
+ public ApiVersionProperties withLifecycleStage(LifecycleStage lifecycleStage) {
+ this.lifecycleStage = lifecycleStage;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (title() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property title in model ApiVersionProperties"));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(ApiVersionProperties.class);
+}
diff --git a/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/DeploymentInner.java b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/DeploymentInner.java
new file mode 100644
index 0000000000000..3c7cbf654784a
--- /dev/null
+++ b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/DeploymentInner.java
@@ -0,0 +1,238 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.apicenter.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.apicenter.models.DeploymentServer;
+import com.azure.resourcemanager.apicenter.models.DeploymentState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * API deployment
+ *
+ * API deployment entity.
+ */
+@Fluent
+public final class DeploymentInner extends ProxyResource {
+ /*
+ * API deployment properties
+ *
+ * API deployment entity properties.
+ */
+ @JsonProperty(value = "properties")
+ private DeploymentProperties 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 DeploymentInner class. */
+ public DeploymentInner() {
+ }
+
+ /**
+ * Get the innerProperties property: API deployment properties
+ *
+ * API deployment entity properties.
+ *
+ * @return the innerProperties value.
+ */
+ private DeploymentProperties 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 title property: Title.
+ *
+ * @return the title value.
+ */
+ public String title() {
+ return this.innerProperties() == null ? null : this.innerProperties().title();
+ }
+
+ /**
+ * Set the title property: Title.
+ *
+ * @param title the title value to set.
+ * @return the DeploymentInner object itself.
+ */
+ public DeploymentInner withTitle(String title) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new DeploymentProperties();
+ }
+ this.innerProperties().withTitle(title);
+ return this;
+ }
+
+ /**
+ * Get the description property: Description
+ *
+ * Description of the deployment.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.innerProperties() == null ? null : this.innerProperties().description();
+ }
+
+ /**
+ * Set the description property: Description
+ *
+ * Description of the deployment.
+ *
+ * @param description the description value to set.
+ * @return the DeploymentInner object itself.
+ */
+ public DeploymentInner withDescription(String description) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new DeploymentProperties();
+ }
+ this.innerProperties().withDescription(description);
+ return this;
+ }
+
+ /**
+ * Get the environmentId property: API center-scoped environment resource ID.
+ *
+ * @return the environmentId value.
+ */
+ public String environmentId() {
+ return this.innerProperties() == null ? null : this.innerProperties().environmentId();
+ }
+
+ /**
+ * Set the environmentId property: API center-scoped environment resource ID.
+ *
+ * @param environmentId the environmentId value to set.
+ * @return the DeploymentInner object itself.
+ */
+ public DeploymentInner withEnvironmentId(String environmentId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new DeploymentProperties();
+ }
+ this.innerProperties().withEnvironmentId(environmentId);
+ return this;
+ }
+
+ /**
+ * Get the definitionId property: API center-scoped definition resource ID.
+ *
+ * @return the definitionId value.
+ */
+ public String definitionId() {
+ return this.innerProperties() == null ? null : this.innerProperties().definitionId();
+ }
+
+ /**
+ * Set the definitionId property: API center-scoped definition resource ID.
+ *
+ * @param definitionId the definitionId value to set.
+ * @return the DeploymentInner object itself.
+ */
+ public DeploymentInner withDefinitionId(String definitionId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new DeploymentProperties();
+ }
+ this.innerProperties().withDefinitionId(definitionId);
+ return this;
+ }
+
+ /**
+ * Get the state property: State
+ *
+ * State of API deployment.
+ *
+ * @return the state value.
+ */
+ public DeploymentState state() {
+ return this.innerProperties() == null ? null : this.innerProperties().state();
+ }
+
+ /**
+ * Set the state property: State
+ *
+ * State of API deployment.
+ *
+ * @param state the state value to set.
+ * @return the DeploymentInner object itself.
+ */
+ public DeploymentInner withState(DeploymentState state) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new DeploymentProperties();
+ }
+ this.innerProperties().withState(state);
+ return this;
+ }
+
+ /**
+ * Get the server property: Server.
+ *
+ * @return the server value.
+ */
+ public DeploymentServer server() {
+ return this.innerProperties() == null ? null : this.innerProperties().server();
+ }
+
+ /**
+ * Set the server property: Server.
+ *
+ * @param server the server value to set.
+ * @return the DeploymentInner object itself.
+ */
+ public DeploymentInner withServer(DeploymentServer server) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new DeploymentProperties();
+ }
+ this.innerProperties().withServer(server);
+ return this;
+ }
+
+ /**
+ * Get the customProperties property: The custom metadata defined for API catalog entities.
+ *
+ * @return the customProperties value.
+ */
+ public Object customProperties() {
+ return this.innerProperties() == null ? null : this.innerProperties().customProperties();
+ }
+
+ /**
+ * Set the customProperties property: The custom metadata defined for API catalog entities.
+ *
+ * @param customProperties the customProperties value to set.
+ * @return the DeploymentInner object itself.
+ */
+ public DeploymentInner withCustomProperties(Object customProperties) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new DeploymentProperties();
+ }
+ this.innerProperties().withCustomProperties(customProperties);
+ 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/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/DeploymentProperties.java b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/DeploymentProperties.java
new file mode 100644
index 0000000000000..2b955b8a86cb6
--- /dev/null
+++ b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/DeploymentProperties.java
@@ -0,0 +1,227 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.apicenter.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.apicenter.models.DeploymentServer;
+import com.azure.resourcemanager.apicenter.models.DeploymentState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * API deployment properties
+ *
+ * API deployment entity properties.
+ */
+@Fluent
+public final class DeploymentProperties {
+ /*
+ * Title
+ */
+ @JsonProperty(value = "title")
+ private String title;
+
+ /*
+ * Description
+ *
+ * Description of the deployment.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /*
+ * API center-scoped environment resource ID.
+ */
+ @JsonProperty(value = "environmentId")
+ private String environmentId;
+
+ /*
+ * API center-scoped definition resource ID.
+ */
+ @JsonProperty(value = "definitionId")
+ private String definitionId;
+
+ /*
+ * State
+ *
+ * State of API deployment.
+ */
+ @JsonProperty(value = "state")
+ private DeploymentState state;
+
+ /*
+ * Server
+ */
+ @JsonProperty(value = "server")
+ private DeploymentServer server;
+
+ /*
+ * The custom metadata defined for API catalog entities.
+ */
+ @JsonProperty(value = "customProperties")
+ private Object customProperties;
+
+ /** Creates an instance of DeploymentProperties class. */
+ public DeploymentProperties() {
+ }
+
+ /**
+ * Get the title property: Title.
+ *
+ * @return the title value.
+ */
+ public String title() {
+ return this.title;
+ }
+
+ /**
+ * Set the title property: Title.
+ *
+ * @param title the title value to set.
+ * @return the DeploymentProperties object itself.
+ */
+ public DeploymentProperties withTitle(String title) {
+ this.title = title;
+ return this;
+ }
+
+ /**
+ * Get the description property: Description
+ *
+ * Description of the deployment.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: Description
+ *
+ * Description of the deployment.
+ *
+ * @param description the description value to set.
+ * @return the DeploymentProperties object itself.
+ */
+ public DeploymentProperties withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the environmentId property: API center-scoped environment resource ID.
+ *
+ * @return the environmentId value.
+ */
+ public String environmentId() {
+ return this.environmentId;
+ }
+
+ /**
+ * Set the environmentId property: API center-scoped environment resource ID.
+ *
+ * @param environmentId the environmentId value to set.
+ * @return the DeploymentProperties object itself.
+ */
+ public DeploymentProperties withEnvironmentId(String environmentId) {
+ this.environmentId = environmentId;
+ return this;
+ }
+
+ /**
+ * Get the definitionId property: API center-scoped definition resource ID.
+ *
+ * @return the definitionId value.
+ */
+ public String definitionId() {
+ return this.definitionId;
+ }
+
+ /**
+ * Set the definitionId property: API center-scoped definition resource ID.
+ *
+ * @param definitionId the definitionId value to set.
+ * @return the DeploymentProperties object itself.
+ */
+ public DeploymentProperties withDefinitionId(String definitionId) {
+ this.definitionId = definitionId;
+ return this;
+ }
+
+ /**
+ * Get the state property: State
+ *
+ * State of API deployment.
+ *
+ * @return the state value.
+ */
+ public DeploymentState state() {
+ return this.state;
+ }
+
+ /**
+ * Set the state property: State
+ *
+ * State of API deployment.
+ *
+ * @param state the state value to set.
+ * @return the DeploymentProperties object itself.
+ */
+ public DeploymentProperties withState(DeploymentState state) {
+ this.state = state;
+ return this;
+ }
+
+ /**
+ * Get the server property: Server.
+ *
+ * @return the server value.
+ */
+ public DeploymentServer server() {
+ return this.server;
+ }
+
+ /**
+ * Set the server property: Server.
+ *
+ * @param server the server value to set.
+ * @return the DeploymentProperties object itself.
+ */
+ public DeploymentProperties withServer(DeploymentServer server) {
+ this.server = server;
+ return this;
+ }
+
+ /**
+ * Get the customProperties property: The custom metadata defined for API catalog entities.
+ *
+ * @return the customProperties value.
+ */
+ public Object customProperties() {
+ return this.customProperties;
+ }
+
+ /**
+ * Set the customProperties property: The custom metadata defined for API catalog entities.
+ *
+ * @param customProperties the customProperties value to set.
+ * @return the DeploymentProperties object itself.
+ */
+ public DeploymentProperties withCustomProperties(Object customProperties) {
+ this.customProperties = customProperties;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (server() != null) {
+ server().validate();
+ }
+ }
+}
diff --git a/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/EnvironmentInner.java b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/EnvironmentInner.java
new file mode 100644
index 0000000000000..7f27017398ce8
--- /dev/null
+++ b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/EnvironmentInner.java
@@ -0,0 +1,212 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.apicenter.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.apicenter.models.EnvironmentServer;
+import com.azure.resourcemanager.apicenter.models.EnvironmentType;
+import com.azure.resourcemanager.apicenter.models.Onboarding;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Environment
+ *
+ * Environment entity.
+ */
+@Fluent
+public final class EnvironmentInner extends ProxyResource {
+ /*
+ * Environment entity properties
+ *
+ * Environment properties entity.
+ */
+ @JsonProperty(value = "properties")
+ private EnvironmentProperties 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 EnvironmentInner class. */
+ public EnvironmentInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Environment entity properties
+ *
+ * Environment properties entity.
+ *
+ * @return the innerProperties value.
+ */
+ private EnvironmentProperties 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 title property: Title.
+ *
+ * @return the title value.
+ */
+ public String title() {
+ return this.innerProperties() == null ? null : this.innerProperties().title();
+ }
+
+ /**
+ * Set the title property: Title.
+ *
+ * @param title the title value to set.
+ * @return the EnvironmentInner object itself.
+ */
+ public EnvironmentInner withTitle(String title) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EnvironmentProperties();
+ }
+ this.innerProperties().withTitle(title);
+ return this;
+ }
+
+ /**
+ * Get the description property: Description.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.innerProperties() == null ? null : this.innerProperties().description();
+ }
+
+ /**
+ * Set the description property: Description.
+ *
+ * @param description the description value to set.
+ * @return the EnvironmentInner object itself.
+ */
+ public EnvironmentInner withDescription(String description) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EnvironmentProperties();
+ }
+ this.innerProperties().withDescription(description);
+ return this;
+ }
+
+ /**
+ * Get the type property: Environment type.
+ *
+ * @return the type value.
+ */
+ public EnvironmentType typePropertiesType() {
+ return this.innerProperties() == null ? null : this.innerProperties().type();
+ }
+
+ /**
+ * Set the type property: Environment type.
+ *
+ * @param type the type value to set.
+ * @return the EnvironmentInner object itself.
+ */
+ public EnvironmentInner withTypePropertiesType(EnvironmentType type) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EnvironmentProperties();
+ }
+ this.innerProperties().withType(type);
+ return this;
+ }
+
+ /**
+ * Get the server property: Server
+ *
+ * Server information of the environment.
+ *
+ * @return the server value.
+ */
+ public EnvironmentServer server() {
+ return this.innerProperties() == null ? null : this.innerProperties().server();
+ }
+
+ /**
+ * Set the server property: Server
+ *
+ * Server information of the environment.
+ *
+ * @param server the server value to set.
+ * @return the EnvironmentInner object itself.
+ */
+ public EnvironmentInner withServer(EnvironmentServer server) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EnvironmentProperties();
+ }
+ this.innerProperties().withServer(server);
+ return this;
+ }
+
+ /**
+ * Get the onboarding property: The onboarding property.
+ *
+ * @return the onboarding value.
+ */
+ public Onboarding onboarding() {
+ return this.innerProperties() == null ? null : this.innerProperties().onboarding();
+ }
+
+ /**
+ * Set the onboarding property: The onboarding property.
+ *
+ * @param onboarding the onboarding value to set.
+ * @return the EnvironmentInner object itself.
+ */
+ public EnvironmentInner withOnboarding(Onboarding onboarding) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EnvironmentProperties();
+ }
+ this.innerProperties().withOnboarding(onboarding);
+ return this;
+ }
+
+ /**
+ * Get the customProperties property: The custom metadata defined for API catalog entities.
+ *
+ * @return the customProperties value.
+ */
+ public Object customProperties() {
+ return this.innerProperties() == null ? null : this.innerProperties().customProperties();
+ }
+
+ /**
+ * Set the customProperties property: The custom metadata defined for API catalog entities.
+ *
+ * @param customProperties the customProperties value to set.
+ * @return the EnvironmentInner object itself.
+ */
+ public EnvironmentInner withCustomProperties(Object customProperties) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EnvironmentProperties();
+ }
+ this.innerProperties().withCustomProperties(customProperties);
+ 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/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/EnvironmentProperties.java b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/EnvironmentProperties.java
new file mode 100644
index 0000000000000..b9b2c5fadaf23
--- /dev/null
+++ b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/EnvironmentProperties.java
@@ -0,0 +1,199 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.apicenter.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.apicenter.models.EnvironmentServer;
+import com.azure.resourcemanager.apicenter.models.EnvironmentType;
+import com.azure.resourcemanager.apicenter.models.Onboarding;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Environment entity properties
+ *
+ * Environment properties entity.
+ */
+@Fluent
+public final class EnvironmentProperties {
+ /*
+ * Title
+ */
+ @JsonProperty(value = "title")
+ private String title;
+
+ /*
+ * Description.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /*
+ * Environment type.
+ */
+ @JsonProperty(value = "type")
+ private EnvironmentType type;
+
+ /*
+ * Server
+ *
+ * Server information of the environment.
+ */
+ @JsonProperty(value = "server")
+ private EnvironmentServer server;
+
+ /*
+ * The onboarding property.
+ */
+ @JsonProperty(value = "onboarding")
+ private Onboarding onboarding;
+
+ /*
+ * The custom metadata defined for API catalog entities.
+ */
+ @JsonProperty(value = "customProperties")
+ private Object customProperties;
+
+ /** Creates an instance of EnvironmentProperties class. */
+ public EnvironmentProperties() {
+ }
+
+ /**
+ * Get the title property: Title.
+ *
+ * @return the title value.
+ */
+ public String title() {
+ return this.title;
+ }
+
+ /**
+ * Set the title property: Title.
+ *
+ * @param title the title value to set.
+ * @return the EnvironmentProperties object itself.
+ */
+ public EnvironmentProperties withTitle(String title) {
+ this.title = title;
+ return this;
+ }
+
+ /**
+ * Get the description property: Description.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: Description.
+ *
+ * @param description the description value to set.
+ * @return the EnvironmentProperties object itself.
+ */
+ public EnvironmentProperties withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the type property: Environment type.
+ *
+ * @return the type value.
+ */
+ public EnvironmentType type() {
+ return this.type;
+ }
+
+ /**
+ * Set the type property: Environment type.
+ *
+ * @param type the type value to set.
+ * @return the EnvironmentProperties object itself.
+ */
+ public EnvironmentProperties withType(EnvironmentType type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the server property: Server
+ *
+ * Server information of the environment.
+ *
+ * @return the server value.
+ */
+ public EnvironmentServer server() {
+ return this.server;
+ }
+
+ /**
+ * Set the server property: Server
+ *
+ * Server information of the environment.
+ *
+ * @param server the server value to set.
+ * @return the EnvironmentProperties object itself.
+ */
+ public EnvironmentProperties withServer(EnvironmentServer server) {
+ this.server = server;
+ return this;
+ }
+
+ /**
+ * Get the onboarding property: The onboarding property.
+ *
+ * @return the onboarding value.
+ */
+ public Onboarding onboarding() {
+ return this.onboarding;
+ }
+
+ /**
+ * Set the onboarding property: The onboarding property.
+ *
+ * @param onboarding the onboarding value to set.
+ * @return the EnvironmentProperties object itself.
+ */
+ public EnvironmentProperties withOnboarding(Onboarding onboarding) {
+ this.onboarding = onboarding;
+ return this;
+ }
+
+ /**
+ * Get the customProperties property: The custom metadata defined for API catalog entities.
+ *
+ * @return the customProperties value.
+ */
+ public Object customProperties() {
+ return this.customProperties;
+ }
+
+ /**
+ * Set the customProperties property: The custom metadata defined for API catalog entities.
+ *
+ * @param customProperties the customProperties value to set.
+ * @return the EnvironmentProperties object itself.
+ */
+ public EnvironmentProperties withCustomProperties(Object customProperties) {
+ this.customProperties = customProperties;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (server() != null) {
+ server().validate();
+ }
+ if (onboarding() != null) {
+ onboarding().validate();
+ }
+ }
+}
diff --git a/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/MetadataSchemaExportResultInner.java b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/MetadataSchemaExportResultInner.java
new file mode 100644
index 0000000000000..2907231d6fa75
--- /dev/null
+++ b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/MetadataSchemaExportResultInner.java
@@ -0,0 +1,77 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.apicenter.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.apicenter.models.MetadataSchemaExportFormat;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The metadata schema export result. */
+@Fluent
+public final class MetadataSchemaExportResultInner {
+ /*
+ * The format property.
+ */
+ @JsonProperty(value = "format")
+ private MetadataSchemaExportFormat format;
+
+ /*
+ * The result of the export operation.
+ */
+ @JsonProperty(value = "value")
+ private String value;
+
+ /** Creates an instance of MetadataSchemaExportResultInner class. */
+ public MetadataSchemaExportResultInner() {
+ }
+
+ /**
+ * Get the format property: The format property.
+ *
+ * @return the format value.
+ */
+ public MetadataSchemaExportFormat format() {
+ return this.format;
+ }
+
+ /**
+ * Set the format property: The format property.
+ *
+ * @param format the format value to set.
+ * @return the MetadataSchemaExportResultInner object itself.
+ */
+ public MetadataSchemaExportResultInner withFormat(MetadataSchemaExportFormat format) {
+ this.format = format;
+ return this;
+ }
+
+ /**
+ * Get the value property: The result of the export operation.
+ *
+ * @return the value value.
+ */
+ public String value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: The result of the export operation.
+ *
+ * @param value the value value to set.
+ * @return the MetadataSchemaExportResultInner object itself.
+ */
+ public MetadataSchemaExportResultInner withValue(String value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/MetadataSchemaInner.java b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/MetadataSchemaInner.java
new file mode 100644
index 0000000000000..e254237e804d1
--- /dev/null
+++ b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/MetadataSchemaInner.java
@@ -0,0 +1,115 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.apicenter.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.apicenter.models.MetadataAssignment;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/**
+ * Metadata schema
+ *
+ * Metadata schema entity. Used to define metadata for the entities in API catalog.
+ */
+@Fluent
+public final class MetadataSchemaInner extends ProxyResource {
+ /*
+ * Metadata schema properties
+ *
+ * Metadata schema properties.
+ */
+ @JsonProperty(value = "properties")
+ private MetadataSchemaProperties 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 MetadataSchemaInner class. */
+ public MetadataSchemaInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Metadata schema properties
+ *
+ * Metadata schema properties.
+ *
+ * @return the innerProperties value.
+ */
+ private MetadataSchemaProperties 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 schema property: YAML schema defining the type.
+ *
+ * @return the schema value.
+ */
+ public String schema() {
+ return this.innerProperties() == null ? null : this.innerProperties().schema();
+ }
+
+ /**
+ * Set the schema property: YAML schema defining the type.
+ *
+ * @param schema the schema value to set.
+ * @return the MetadataSchemaInner object itself.
+ */
+ public MetadataSchemaInner withSchema(String schema) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MetadataSchemaProperties();
+ }
+ this.innerProperties().withSchema(schema);
+ return this;
+ }
+
+ /**
+ * Get the assignedTo property: The assignedTo property.
+ *
+ * @return the assignedTo value.
+ */
+ public List Metadata schema properties.
+ */
+@Fluent
+public final class MetadataSchemaProperties {
+ /*
+ * YAML schema defining the type.
+ */
+ @JsonProperty(value = "schema", required = true)
+ private String schema;
+
+ /*
+ * The assignedTo property.
+ */
+ @JsonProperty(value = "assignedTo")
+ private List Workspace entity.
+ */
+@Fluent
+public final class WorkspaceInner extends ProxyResource {
+ /*
+ * Workspace properties
+ *
+ * Workspace properties.
+ */
+ @JsonProperty(value = "properties")
+ private WorkspaceProperties 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 WorkspaceInner class. */
+ public WorkspaceInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Workspace properties
+ *
+ * Workspace properties.
+ *
+ * @return the innerProperties value.
+ */
+ private WorkspaceProperties 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 title property: Workspace display name.
+ *
+ * @return the title value.
+ */
+ public String title() {
+ return this.innerProperties() == null ? null : this.innerProperties().title();
+ }
+
+ /**
+ * Set the title property: Workspace display name.
+ *
+ * @param title the title value to set.
+ * @return the WorkspaceInner object itself.
+ */
+ public WorkspaceInner withTitle(String title) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new WorkspaceProperties();
+ }
+ this.innerProperties().withTitle(title);
+ return this;
+ }
+
+ /**
+ * Get the description property: Workspace description.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.innerProperties() == null ? null : this.innerProperties().description();
+ }
+
+ /**
+ * Set the description property: Workspace description.
+ *
+ * @param description the description value to set.
+ * @return the WorkspaceInner object itself.
+ */
+ public WorkspaceInner withDescription(String description) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new WorkspaceProperties();
+ }
+ this.innerProperties().withDescription(description);
+ 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/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/WorkspaceProperties.java b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/WorkspaceProperties.java
new file mode 100644
index 0000000000000..ed2ad4d232169
--- /dev/null
+++ b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/fluent/models/WorkspaceProperties.java
@@ -0,0 +1,88 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.apicenter.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Workspace properties
+ *
+ * Workspace properties.
+ */
+@Fluent
+public final class WorkspaceProperties {
+ /*
+ * Workspace display name.
+ */
+ @JsonProperty(value = "title", required = true)
+ private String title;
+
+ /*
+ * Workspace description.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /** Creates an instance of WorkspaceProperties class. */
+ public WorkspaceProperties() {
+ }
+
+ /**
+ * Get the title property: Workspace display name.
+ *
+ * @return the title value.
+ */
+ public String title() {
+ return this.title;
+ }
+
+ /**
+ * Set the title property: Workspace display name.
+ *
+ * @param title the title value to set.
+ * @return the WorkspaceProperties object itself.
+ */
+ public WorkspaceProperties withTitle(String title) {
+ this.title = title;
+ return this;
+ }
+
+ /**
+ * Get the description property: Workspace description.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: Workspace description.
+ *
+ * @param description the description value to set.
+ * @return the WorkspaceProperties object itself.
+ */
+ public WorkspaceProperties withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (title() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property title in model WorkspaceProperties"));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(WorkspaceProperties.class);
+}
diff --git a/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/implementation/ApiDefinitionImpl.java b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/implementation/ApiDefinitionImpl.java
new file mode 100644
index 0000000000000..2fd45ec26aa77
--- /dev/null
+++ b/sdk/apicenter/azure-resourcemanager-apicenter/src/main/java/com/azure/resourcemanager/apicenter/implementation/ApiDefinitionImpl.java
@@ -0,0 +1,235 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.apicenter.implementation;
+
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.apicenter.fluent.models.ApiDefinitionInner;
+import com.azure.resourcemanager.apicenter.models.ApiDefinition;
+import com.azure.resourcemanager.apicenter.models.ApiDefinitionPropertiesSpecification;
+import com.azure.resourcemanager.apicenter.models.ApiSpecExportResult;
+import com.azure.resourcemanager.apicenter.models.ApiSpecImportRequest;
+
+public final class ApiDefinitionImpl implements ApiDefinition, ApiDefinition.Definition, ApiDefinition.Update {
+ private ApiDefinitionInner innerObject;
+
+ private final com.azure.resourcemanager.apicenter.ApiCenterManager 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 String title() {
+ return this.innerModel().title();
+ }
+
+ public String description() {
+ return this.innerModel().description();
+ }
+
+ public ApiDefinitionPropertiesSpecification specification() {
+ return this.innerModel().specification();
+ }
+
+ public String resourceGroupName() {
+ return resourceGroupName;
+ }
+
+ public ApiDefinitionInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.apicenter.ApiCenterManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String serviceName;
+
+ private String workspaceName;
+
+ private String apiName;
+
+ private String versionName;
+
+ private String definitionName;
+
+ public ApiDefinitionImpl withExistingVersion(
+ String resourceGroupName, String serviceName, String workspaceName, String apiName, String versionName) {
+ this.resourceGroupName = resourceGroupName;
+ this.serviceName = serviceName;
+ this.workspaceName = workspaceName;
+ this.apiName = apiName;
+ this.versionName = versionName;
+ return this;
+ }
+
+ public ApiDefinition create() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getApiDefinitions()
+ .createOrUpdateWithResponse(
+ resourceGroupName,
+ serviceName,
+ workspaceName,
+ apiName,
+ versionName,
+ definitionName,
+ this.innerModel(),
+ Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public ApiDefinition create(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getApiDefinitions()
+ .createOrUpdateWithResponse(
+ resourceGroupName,
+ serviceName,
+ workspaceName,
+ apiName,
+ versionName,
+ definitionName,
+ this.innerModel(),
+ context)
+ .getValue();
+ return this;
+ }
+
+ ApiDefinitionImpl(String name, com.azure.resourcemanager.apicenter.ApiCenterManager serviceManager) {
+ this.innerObject = new ApiDefinitionInner();
+ this.serviceManager = serviceManager;
+ this.definitionName = name;
+ }
+
+ public ApiDefinitionImpl update() {
+ return this;
+ }
+
+ public ApiDefinition apply() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getApiDefinitions()
+ .createOrUpdateWithResponse(
+ resourceGroupName,
+ serviceName,
+ workspaceName,
+ apiName,
+ versionName,
+ definitionName,
+ this.innerModel(),
+ Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public ApiDefinition apply(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getApiDefinitions()
+ .createOrUpdateWithResponse(
+ resourceGroupName,
+ serviceName,
+ workspaceName,
+ apiName,
+ versionName,
+ definitionName,
+ this.innerModel(),
+ context)
+ .getValue();
+ return this;
+ }
+
+ ApiDefinitionImpl(
+ ApiDefinitionInner innerObject, com.azure.resourcemanager.apicenter.ApiCenterManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = Utils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.serviceName = Utils.getValueFromIdByName(innerObject.id(), "services");
+ this.workspaceName = Utils.getValueFromIdByName(innerObject.id(), "workspaces");
+ this.apiName = Utils.getValueFromIdByName(innerObject.id(), "apis");
+ this.versionName = Utils.getValueFromIdByName(innerObject.id(), "versions");
+ this.definitionName = Utils.getValueFromIdByName(innerObject.id(), "definitions");
+ }
+
+ public ApiDefinition refresh() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getApiDefinitions()
+ .getWithResponse(
+ resourceGroupName, serviceName, workspaceName, apiName, versionName, definitionName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public ApiDefinition refresh(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getApiDefinitions()
+ .getWithResponse(
+ resourceGroupName, serviceName, workspaceName, apiName, versionName, definitionName, context)
+ .getValue();
+ return this;
+ }
+
+ public Response Returns a collection of API definitions.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param filter OData filter parameter.
+ * @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 aPI version collection along with {@link PagedResponse} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono Returns a collection of API definitions.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param filter OData filter parameter.
+ * @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 aPI version collection along with {@link PagedResponse} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono Returns a collection of API definitions.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param filter OData filter parameter.
+ * @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 aPI version collection as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux Returns a collection of API definitions.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @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 aPI version collection as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux Returns a collection of API definitions.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param filter OData filter parameter.
+ * @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 aPI version collection as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux Returns a collection of API definitions.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @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 aPI version collection as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable Returns a collection of API definitions.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param filter OData filter parameter.
+ * @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 aPI version collection as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable Returns details of the API definition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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 aPI definition on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono Returns details of the API definition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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 aPI definition on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono Returns details of the API definition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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 aPI definition on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono Returns details of the API definition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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 aPI definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ApiDefinitionsGetResponse getWithResponse(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ String versionName,
+ String definitionName,
+ Context context) {
+ return getWithResponseAsync(
+ resourceGroupName, serviceName, workspaceName, apiName, versionName, definitionName, context)
+ .block();
+ }
+
+ /**
+ * Get API definition
+ *
+ * Returns details of the API definition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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 aPI definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ApiDefinitionInner get(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ String versionName,
+ String definitionName) {
+ return getWithResponse(
+ resourceGroupName, serviceName, workspaceName, apiName, versionName, definitionName, Context.NONE)
+ .getValue();
+ }
+
+ /**
+ * Create or update API definition
+ *
+ * Creates new or updates existing API definition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @param payload API definition entity.
+ * @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 aPI definition on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono Creates new or updates existing API definition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @param payload API definition entity.
+ * @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 aPI definition on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono Creates new or updates existing API definition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @param payload API definition entity.
+ * @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 aPI definition on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono Creates new or updates existing API definition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @param payload API definition entity.
+ * @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 aPI definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ApiDefinitionsCreateOrUpdateResponse createOrUpdateWithResponse(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ String versionName,
+ String definitionName,
+ ApiDefinitionInner payload,
+ Context context) {
+ return createOrUpdateWithResponseAsync(
+ resourceGroupName, serviceName, workspaceName, apiName, versionName, definitionName, payload, context)
+ .block();
+ }
+
+ /**
+ * Create or update API definition
+ *
+ * Creates new or updates existing API definition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @param payload API definition entity.
+ * @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 aPI definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ApiDefinitionInner createOrUpdate(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ String versionName,
+ String definitionName,
+ ApiDefinitionInner payload) {
+ return createOrUpdateWithResponse(
+ resourceGroupName,
+ serviceName,
+ workspaceName,
+ apiName,
+ versionName,
+ definitionName,
+ payload,
+ Context.NONE)
+ .getValue();
+ }
+
+ /**
+ * Delete API definition
+ *
+ * Deletes specified API definition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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 Deletes specified API definition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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 Deletes specified API definition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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 Deletes specified API definition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response Deletes specified API definition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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 serviceName,
+ String workspaceName,
+ String apiName,
+ String versionName,
+ String definitionName) {
+ deleteWithResponse(
+ resourceGroupName, serviceName, workspaceName, apiName, versionName, definitionName, Context.NONE);
+ }
+
+ /**
+ * Check API definition exists
+ *
+ * Checks if specified API definition exists.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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 Checks if specified API definition exists.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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 Checks if specified API definition exists.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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 Checks if specified API definition exists.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response Checks if specified API definition exists.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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 head(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ String versionName,
+ String definitionName) {
+ headWithResponse(
+ resourceGroupName, serviceName, workspaceName, apiName, versionName, definitionName, Context.NONE);
+ }
+
+ /**
+ * Import API specification
+ *
+ * Imports the API specification.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @param payload The API specification source entity.
+ * @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 Imports the API specification.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @param payload The API specification source entity.
+ * @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 Imports the API specification.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @param payload The API specification source entity.
+ * @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 Imports the API specification.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @param payload The API specification source entity.
+ * @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}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response Imports the API specification.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @param payload The API specification source entity.
+ * @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 importSpecification(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ String versionName,
+ String definitionName,
+ ApiSpecImportRequest payload) {
+ importSpecificationWithResponse(
+ resourceGroupName, serviceName, workspaceName, apiName, versionName, definitionName, payload, Context.NONE);
+ }
+
+ /**
+ * Export API specification
+ *
+ * Exports the API specification.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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 API specification export result along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono Exports the API specification.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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 API specification export result along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono Exports the API specification.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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 API specification export result on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono Exports the API specification.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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 API specification export result along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response Exports the API specification.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param definitionName The name of the API definition.
+ * @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 API specification export result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ApiSpecExportResultInner exportSpecification(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ String versionName,
+ String definitionName) {
+ return exportSpecificationWithResponse(
+ resourceGroupName, serviceName, workspaceName, apiName, versionName, definitionName, Context.NONE)
+ .getValue();
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ * The nextLink parameter.
+ * @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 aPI version collection along with {@link PagedResponse} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono The nextLink parameter.
+ * @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 aPI version collection along with {@link PagedResponse} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono Returns a collection of API versions.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param filter OData filter parameter.
+ * @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 aPI version collection along with {@link PagedResponse} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono Returns a collection of API versions.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param filter OData filter parameter.
+ * @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 aPI version collection along with {@link PagedResponse} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono Returns a collection of API versions.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param filter OData filter parameter.
+ * @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 aPI version collection as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux Returns a collection of API versions.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @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 aPI version collection as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux Returns a collection of API versions.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param filter OData filter parameter.
+ * @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 aPI version collection as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux Returns a collection of API versions.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @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 aPI version collection as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable Returns a collection of API versions.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param filter OData filter parameter.
+ * @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 aPI version collection as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable Returns details of the API version.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @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 aPI version on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono Returns details of the API version.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @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 aPI version on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono Returns details of the API version.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @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 aPI version on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono Returns details of the API version.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @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 aPI version.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ApiVersionsGetResponse getWithResponse(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ String versionName,
+ Context context) {
+ return getWithResponseAsync(resourceGroupName, serviceName, workspaceName, apiName, versionName, context)
+ .block();
+ }
+
+ /**
+ * Get API version
+ *
+ * Returns details of the API version.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @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 aPI version.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ApiVersionInner get(
+ String resourceGroupName, String serviceName, String workspaceName, String apiName, String versionName) {
+ return getWithResponse(resourceGroupName, serviceName, workspaceName, apiName, versionName, Context.NONE)
+ .getValue();
+ }
+
+ /**
+ * Create or update API version
+ *
+ * Creates new or updates existing API version.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param payload API version entity.
+ * @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 aPI version on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono Creates new or updates existing API version.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param payload API version entity.
+ * @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 aPI version on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono Creates new or updates existing API version.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param payload API version entity.
+ * @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 aPI version on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono Creates new or updates existing API version.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param payload API version entity.
+ * @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 aPI version.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ApiVersionsCreateOrUpdateResponse createOrUpdateWithResponse(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ String versionName,
+ ApiVersionInner payload,
+ Context context) {
+ return createOrUpdateWithResponseAsync(
+ resourceGroupName, serviceName, workspaceName, apiName, versionName, payload, context)
+ .block();
+ }
+
+ /**
+ * Create or update API version
+ *
+ * Creates new or updates existing API version.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @param payload API version entity.
+ * @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 aPI version.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ApiVersionInner createOrUpdate(
+ String resourceGroupName,
+ String serviceName,
+ String workspaceName,
+ String apiName,
+ String versionName,
+ ApiVersionInner payload) {
+ return createOrUpdateWithResponse(
+ resourceGroupName, serviceName, workspaceName, apiName, versionName, payload, Context.NONE)
+ .getValue();
+ }
+
+ /**
+ * Delete API version
+ *
+ * Deletes specified API version.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @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 Deletes specified API version.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @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 Deletes specified API version.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @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 Deletes specified API version.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @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}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response Deletes specified API version.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @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 serviceName, String workspaceName, String apiName, String versionName) {
+ deleteWithResponse(resourceGroupName, serviceName, workspaceName, apiName, versionName, Context.NONE);
+ }
+
+ /**
+ * Check API version exists
+ *
+ * Checks if specified API version exists.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @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 Checks if specified API version exists.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @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 Checks if specified API version exists.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @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 Checks if specified API version exists.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @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}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response Checks if specified API version exists.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serviceName Service name.
+ * @param workspaceName The name of the workspace.
+ * @param apiName The name of the API.
+ * @param versionName The name of the API version.
+ * @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 head(
+ String resourceGroupName, String serviceName, String workspaceName, String apiName, String versionName) {
+ headWithResponse(resourceGroupName, serviceName, workspaceName, apiName, versionName, Context.NONE);
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ * The nextLink parameter.
+ * @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 aPI version collection along with {@link PagedResponse} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono The nextLink parameter.
+ * @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 aPI version collection along with {@link PagedResponse} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono