diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt index 9094ba44d3b9..00e5a09ad164 100644 --- a/eng/versioning/version_client.txt +++ b/eng/versioning/version_client.txt @@ -146,6 +146,9 @@ com.azure:azure-template-perf;1.0.0-beta.1;1.0.0-beta.1 com.azure:azure-media-videoanalyzer-edge;1.0.0-beta.5;1.0.0-beta.6 com.azure:azure-verticals-agrifood-farming;1.0.0-beta.2;1.0.0-beta.3 com.azure:perf-test-core;1.0.0-beta.1;1.0.0-beta.1 +com.azure:azure-maps-stylerecipe;1.0.0-beta.1;1.0.0-beta.1 +com.azure:azure-maps-styleset;1.0.0-beta.1;1.0.0-beta.1 +com.azure:azure-maps-tileset;1.0.0-beta.1;1.0.0-beta.1 com.microsoft.azure:spring-cloud-azure-appconfiguration-config-web;1.3.0;1.4.0-beta.1 com.microsoft.azure:spring-cloud-azure-appconfiguration-config;1.3.0;1.4.0-beta.1 com.microsoft.azure:spring-cloud-azure-feature-management-web;1.3.0;1.4.0-beta.1 diff --git a/sdk/maps/azure-maps-stylerecipe/CHANGELOG.md b/sdk/maps/azure-maps-stylerecipe/CHANGELOG.md new file mode 100644 index 000000000000..ec6e63749944 --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/CHANGELOG.md @@ -0,0 +1,13 @@ +# Release History + +## 1.0.0-beta.1 (Unreleased) + +- Azure AzureMapsStyleService client library for Java. This package contains Microsoft Azure AzureMapsStyleService client library. + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes diff --git a/sdk/maps/azure-maps-stylerecipe/README.md b/sdk/maps/azure-maps-stylerecipe/README.md new file mode 100644 index 000000000000..aebfa8ea109d --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/README.md @@ -0,0 +1,63 @@ +# Azure AzureMapsStyleService client library for Java + +Azure AzureMapsStyleService client library for Java. + +This package contains Microsoft Azure AzureMapsStyleService client library. + +## Documentation + +Various documentation is available to help you get started + +- [API reference documentation][docs] +- [Product documentation][product_documentation] + +## Getting started + +### Prerequisites + +- [Java Development Kit (JDK)][jdk] with version 8 or above +- [Azure Subscription][azure_subscription] + +### Adding the package to your product + +[//]: # ({x-version-update-start;com.azure:azure-maps-stylerecipe;current}) +```xml + + com.azure + azure-maps-stylerecipe + 1.0.0-beta.1 + +``` +[//]: # ({x-version-update-end}) + +### Authentication + +[Azure Identity][azure_identity] package provides the default implementation for authenticating the client. + +## Key concepts + +## Examples + +```java com.azure.maps.stylerecipe.readme +``` + +## Troubleshooting + +## Next steps + +## Contributing + +For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md). + +1. Fork it +1. Create your feature branch (`git checkout -b my-new-feature`) +1. Commit your changes (`git commit -am 'Add some feature'`) +1. Push to the branch (`git push origin my-new-feature`) +1. Create new Pull Request + + +[product_documentation]: https://azure.microsoft.com/services/ +[docs]: https://azure.github.io/azure-sdk-for-java/ +[jdk]: https://docs.microsoft.com/java/azure/jdk/ +[azure_subscription]: https://azure.microsoft.com/free/ +[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/identity/azure-identity diff --git a/sdk/maps/azure-maps-stylerecipe/pom.xml b/sdk/maps/azure-maps-stylerecipe/pom.xml new file mode 100644 index 000000000000..b083f0ca8d0e --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/pom.xml @@ -0,0 +1,73 @@ + + 4.0.0 + + com.azure + azure-client-sdk-parent + 1.7.0 + ../../parents/azure-client-sdk-parent + + + com.azure + azure-maps-stylerecipe + 1.0.0-beta.1 + jar + + Microsoft Azure SDK for AzureMapsStyleService Management + This package contains Microsoft Azure AzureMapsStyleService client library. + https://github.com/Azure/azure-sdk-for-java + + + + The MIT License (MIT) + http://opensource.org/licenses/MIT + repo + + + + + https://github.com/Azure/azure-sdk-for-java + scm:git:git@github.com:Azure/azure-sdk-for-java.git + scm:git:git@github.com:Azure/azure-sdk-for-java.git + HEAD + + + + microsoft + Microsoft + + + + UTF-8 + true + + + + com.azure + azure-core + 1.27.0 + + + com.azure + azure-core-http-netty + 1.11.9 + + + org.junit.jupiter + junit-jupiter-engine + 5.8.2 + test + + + com.azure + azure-core-test + 1.7.10 + test + + + com.azure + azure-identity + 1.5.0 + test + + + diff --git a/sdk/maps/azure-maps-stylerecipe/src/main/java/com/azure/maps/stylerecipe/AzureMapsStyleServiceAsyncClient.java b/sdk/maps/azure-maps-stylerecipe/src/main/java/com/azure/maps/stylerecipe/AzureMapsStyleServiceAsyncClient.java new file mode 100644 index 000000000000..6dd0a7e6bb6c --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/src/main/java/com/azure/maps/stylerecipe/AzureMapsStyleServiceAsyncClient.java @@ -0,0 +1,386 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.maps.stylerecipe; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.polling.PollerFlux; +import com.azure.maps.stylerecipe.implementation.StyleRecipesImpl; +import reactor.core.publisher.Mono; + +/** Initializes a new instance of the asynchronous AzureMapsStyleServiceClient type. */ +@ServiceClient(builder = AzureMapsStyleServiceClientBuilder.class, isAsync = true) +public final class AzureMapsStyleServiceAsyncClient { + @Generated private final StyleRecipesImpl serviceClient; + + /** + * Initializes an instance of AzureMapsStyleServiceAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + AzureMapsStyleServiceAsyncClient(StyleRecipesImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

[This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

The Style Import API allows the caller to import a style recipe from their style json file. + * + *

## Submit Import Request + * + *

To import your style recipe you will make a `POST` request with an azure maps style or mapbox style. + * + *

The Import Style Recipe API is a [long-running request](https://aka.ms/am-creator-lrt-v2). + * + *

Query Parameters + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
dataFormatStringNoDefines the type of input file for a style to be created from.
styleFormatStringNo Defines the type of JSON object that is imported.
descriptionStringNoUser provided description of the style.
aliasStringNoThe alias of the style recipe.
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + *

Request Body Schema + * + *

{@code
+     * Object
+     * }
+ * + * @param importContent The style recipe content to be imported. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> importMethodWithResponse(BinaryData importContent, RequestOptions requestOptions) { + return this.serviceClient.importMethodWithResponseAsync(importContent, requestOptions); + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

[This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

The Style Import API allows the caller to import a style recipe from their style json file. + * + *

## Submit Import Request + * + *

To import your style recipe you will make a `POST` request with an azure maps style or mapbox style. + * + *

The Import Style Recipe API is a [long-running request](https://aka.ms/am-creator-lrt-v2). + * + *

Query Parameters + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
dataFormatStringNoDefines the type of input file for a style to be created from.
styleFormatStringNo Defines the type of JSON object that is imported.
descriptionStringNoUser provided description of the style.
aliasStringNoThe alias of the style recipe.
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + *

Request Body Schema + * + *

{@code
+     * Object
+     * }
+ * + * @param importContent The style recipe content to be imported. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginImportMethod( + BinaryData importContent, RequestOptions requestOptions) { + return this.serviceClient.beginImportMethodAsync(importContent, requestOptions); + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

This API allows the caller to fetch a list of all style recipes imported. <br>. + * + *

Query Parameters + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + *

Response Body Schema + * + *

{@code
+     * {
+     *     styleRecipes: [
+     *         {
+     *             styleRecipeId: String
+     *             description: String
+     *             alias: String
+     *             created: String
+     *         }
+     *     ]
+     *     nextLink: String
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the response model for the Style Recipe List API as paginated response with {@link PagedFlux}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux list(RequestOptions requestOptions) { + return this.serviceClient.listAsync(requestOptions); + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

This API allows the caller to export a style recipe. + * + *

Query Parameters + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
styleFormatStringNo Defines the type of JSON object that is imported.
tilesetIdStringNoThe Tileset Id
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + *

Response Body Schema + * + *

{@code
+     * {
+     *     id: String
+     *     version: Float
+     *     created: String
+     *     description: String
+     *     sources: Object
+     *     sprite: String
+     *     layers: [
+     *         {
+     *             id: String
+     *             type: String
+     *             sourceLayer: String
+     *             source: String
+     *             layout: Object
+     *             paint: Object
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param styleRecipeId The Style Recipe Id. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return detail information for the data along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> exportWithResponse(String styleRecipeId, RequestOptions requestOptions) { + return this.serviceClient.exportWithResponseAsync(styleRecipeId, requestOptions); + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

This API allows the caller to delete an imported style recipe.<br> You can use this API if a style + * recipe is no longer needed. + * + *

### Submit Delete Request + * + *

To delete your content you will issue a `DELETE` request where the path will contain the `styleRecipeId` of + * the style recipe to delete.<br> + * + *

#### Delete request "Successful" + * + *

The Style Recipe Delete API returns a HTTP `204 No Content` response with an empty body, if the style recipe + * was deleted successfully.<br> + * + *

#### Delete request "Failed" + * + *

A HTTP `400 Bad Request` error response will be returned if the style recipe with the passed-in + * `styleRecipeId` is not found. + * + *

Here is a sample error response: + * + *

<br> + * + *

```json { "error": { "code": "400 BadRequest", "message": "Bad request - StyleRecipe Id: + * d85b5b27-5fc4-4599-8b50-47160e90f8ce does not exist." } } ```. + * + *

Query Parameters + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + * @param styleRecipeId The Style Recipe Id. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteWithResponse(String styleRecipeId, RequestOptions requestOptions) { + return this.serviceClient.deleteWithResponseAsync(styleRecipeId, requestOptions); + } + + /** + * This path will be obtained from a call to create a style recipe. While in progress, an http200 will be returned + * with no extra headers - followed by an http200 with Resource-Location header once successfully completed. + * + *

Query Parameters + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
+ * + *

Response Body Schema + * + *

{@code
+     * {
+     *     operationId: String
+     *     status: String(NotStarted/Running/Failed/Succeeded)
+     *     created: String
+     *     error: {
+     *         code: String
+     *         message: String
+     *         target: String
+     *         details: [
+     *             (recursive schema, see above)
+     *         ]
+     *         additionalInfo: [
+     *             {
+     *                 type: String
+     *                 info: Object
+     *             }
+     *         ]
+     *     }
+     *     warning: (recursive schema, see warning above)
+     * }
+     * }
+ * + * @param operationId The ID to query the status for the style recipe create/import request. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the response model for a Long-Running Operations API along with {@link Response} on successful completion + * of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getOperationWithResponse(String operationId, RequestOptions requestOptions) { + return this.serviceClient.getOperationWithResponseAsync(operationId, requestOptions); + } +} diff --git a/sdk/maps/azure-maps-stylerecipe/src/main/java/com/azure/maps/stylerecipe/AzureMapsStyleServiceClient.java b/sdk/maps/azure-maps-stylerecipe/src/main/java/com/azure/maps/stylerecipe/AzureMapsStyleServiceClient.java new file mode 100644 index 000000000000..ad29e7621dd8 --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/src/main/java/com/azure/maps/stylerecipe/AzureMapsStyleServiceClient.java @@ -0,0 +1,325 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.maps.stylerecipe; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.polling.SyncPoller; + +/** Initializes a new instance of the synchronous AzureMapsStyleServiceClient type. */ +@ServiceClient(builder = AzureMapsStyleServiceClientBuilder.class) +public final class AzureMapsStyleServiceClient { + @Generated private final AzureMapsStyleServiceAsyncClient asyncClient; + + /** + * Initializes an instance of AzureMapsStyleServiceClient class. + * + * @param asyncClient the async client. + */ + @Generated + AzureMapsStyleServiceClient(AzureMapsStyleServiceAsyncClient asyncClient) { + this.asyncClient = asyncClient; + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

[This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

The Style Import API allows the caller to import a style recipe from their style json file. + * + *

## Submit Import Request + * + *

To import your style recipe you will make a `POST` request with an azure maps style or mapbox style. + * + *

The Import Style Recipe API is a [long-running request](https://aka.ms/am-creator-lrt-v2). + * + *

Query Parameters + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
dataFormatStringNoDefines the type of input file for a style to be created from.
styleFormatStringNo Defines the type of JSON object that is imported.
descriptionStringNoUser provided description of the style.
aliasStringNoThe alias of the style recipe.
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + *

Request Body Schema + * + *

{@code
+     * Object
+     * }
+ * + * @param importContent The style recipe content to be imported. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginImportMethod( + BinaryData importContent, RequestOptions requestOptions) { + return this.asyncClient.beginImportMethod(importContent, requestOptions).getSyncPoller(); + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

This API allows the caller to fetch a list of all style recipes imported. <br>. + * + *

Query Parameters + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + *

Response Body Schema + * + *

{@code
+     * {
+     *     styleRecipes: [
+     *         {
+     *             styleRecipeId: String
+     *             description: String
+     *             alias: String
+     *             created: String
+     *         }
+     *     ]
+     *     nextLink: String
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the response model for the Style Recipe List API as paginated response with {@link PagedIterable}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(RequestOptions requestOptions) { + return new PagedIterable<>(this.asyncClient.list(requestOptions)); + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

This API allows the caller to export a style recipe. + * + *

Query Parameters + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
styleFormatStringNo Defines the type of JSON object that is imported.
tilesetIdStringNoThe Tileset Id
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + *

Response Body Schema + * + *

{@code
+     * {
+     *     id: String
+     *     version: Float
+     *     created: String
+     *     description: String
+     *     sources: Object
+     *     sprite: String
+     *     layers: [
+     *         {
+     *             id: String
+     *             type: String
+     *             sourceLayer: String
+     *             source: String
+     *             layout: Object
+     *             paint: Object
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param styleRecipeId The Style Recipe Id. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return detail information for the data along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response exportWithResponse(String styleRecipeId, RequestOptions requestOptions) { + return this.asyncClient.exportWithResponse(styleRecipeId, requestOptions).block(); + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

This API allows the caller to delete an imported style recipe.<br> You can use this API if a style + * recipe is no longer needed. + * + *

### Submit Delete Request + * + *

To delete your content you will issue a `DELETE` request where the path will contain the `styleRecipeId` of + * the style recipe to delete.<br> + * + *

#### Delete request "Successful" + * + *

The Style Recipe Delete API returns a HTTP `204 No Content` response with an empty body, if the style recipe + * was deleted successfully.<br> + * + *

#### Delete request "Failed" + * + *

A HTTP `400 Bad Request` error response will be returned if the style recipe with the passed-in + * `styleRecipeId` is not found. + * + *

Here is a sample error response: + * + *

<br> + * + *

```json { "error": { "code": "400 BadRequest", "message": "Bad request - StyleRecipe Id: + * d85b5b27-5fc4-4599-8b50-47160e90f8ce does not exist." } } ```. + * + *

Query Parameters + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + * @param styleRecipeId The Style Recipe Id. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteWithResponse(String styleRecipeId, RequestOptions requestOptions) { + return this.asyncClient.deleteWithResponse(styleRecipeId, requestOptions).block(); + } + + /** + * This path will be obtained from a call to create a style recipe. While in progress, an http200 will be returned + * with no extra headers - followed by an http200 with Resource-Location header once successfully completed. + * + *

Query Parameters + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
+ * + *

Response Body Schema + * + *

{@code
+     * {
+     *     operationId: String
+     *     status: String(NotStarted/Running/Failed/Succeeded)
+     *     created: String
+     *     error: {
+     *         code: String
+     *         message: String
+     *         target: String
+     *         details: [
+     *             (recursive schema, see above)
+     *         ]
+     *         additionalInfo: [
+     *             {
+     *                 type: String
+     *                 info: Object
+     *             }
+     *         ]
+     *     }
+     *     warning: (recursive schema, see warning above)
+     * }
+     * }
+ * + * @param operationId The ID to query the status for the style recipe create/import request. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the response model for a Long-Running Operations API along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getOperationWithResponse(String operationId, RequestOptions requestOptions) { + return this.asyncClient.getOperationWithResponse(operationId, requestOptions).block(); + } +} diff --git a/sdk/maps/azure-maps-stylerecipe/src/main/java/com/azure/maps/stylerecipe/AzureMapsStyleServiceClientBuilder.java b/sdk/maps/azure-maps-stylerecipe/src/main/java/com/azure/maps/stylerecipe/AzureMapsStyleServiceClientBuilder.java new file mode 100644 index 000000000000..d0a4908c2a4f --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/src/main/java/com/azure/maps/stylerecipe/AzureMapsStyleServiceClientBuilder.java @@ -0,0 +1,337 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.maps.stylerecipe; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ServiceClientBuilder; +import com.azure.core.credential.TokenCredential; +import com.azure.core.http.HttpClient; +import com.azure.core.http.HttpHeaders; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.HttpPipelinePosition; +import com.azure.core.http.policy.AddHeadersPolicy; +import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; +import com.azure.core.http.policy.CookiePolicy; +import com.azure.core.http.policy.HttpLogOptions; +import com.azure.core.http.policy.HttpLoggingPolicy; +import com.azure.core.http.policy.HttpPipelinePolicy; +import com.azure.core.http.policy.HttpPolicyProviders; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +import com.azure.core.util.ClientOptions; +import com.azure.core.util.Configuration; +import com.azure.core.util.CoreUtils; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.maps.stylerecipe.implementation.AzureMapsStyleServiceClientImpl; +import com.azure.maps.stylerecipe.implementation.models.Geography; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** A builder for creating a new instance of the AzureMapsStyleServiceClient type. */ +@ServiceClientBuilder(serviceClients = {AzureMapsStyleServiceClient.class, AzureMapsStyleServiceAsyncClient.class}) +public final class AzureMapsStyleServiceClientBuilder { + @Generated private static final String SDK_NAME = "name"; + + @Generated private static final String SDK_VERSION = "version"; + + @Generated private static final String[] DEFAULT_SCOPES = new String[] {"https://atlas.microsoft.com/.default"}; + + @Generated + private final Map properties = CoreUtils.getProperties("azure-maps-stylerecipe.properties"); + + /** Create an instance of the AzureMapsStyleServiceClientBuilder. */ + @Generated + public AzureMapsStyleServiceClientBuilder() { + this.pipelinePolicies = new ArrayList<>(); + } + + /* + * Specifies which account is intended for usage in conjunction with the + * Azure AD security model. It represents a unique ID for the Azure Maps + * account and can be retrieved from the Azure Maps management plane + * Account API. To use Azure AD security in Azure Maps see the following + * [articles](https://aka.ms/amauthdetails) for guidance. + */ + @Generated private String clientId; + + /** + * Sets Specifies which account is intended for usage in conjunction with the Azure AD security model. It represents + * a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To + * use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance. + * + * @param clientId the clientId value. + * @return the AzureMapsStyleServiceClientBuilder. + */ + @Generated + public AzureMapsStyleServiceClientBuilder clientId(String clientId) { + this.clientId = clientId; + return this; + } + + /* + * This parameter specifies where the Azure Maps Creator resource is + * located. Valid values are us and eu. + */ + @Generated private Geography geography; + + /** + * Sets This parameter specifies where the Azure Maps Creator resource is located. Valid values are us and eu. + * + * @param geography the geography value. + * @return the AzureMapsStyleServiceClientBuilder. + */ + @Generated + public AzureMapsStyleServiceClientBuilder geography(Geography geography) { + this.geography = geography; + return this; + } + + /* + * Service version + */ + @Generated private AzureMapsStyleServiceVersion serviceVersion; + + /** + * Sets Service version. + * + * @param serviceVersion the serviceVersion value. + * @return the AzureMapsStyleServiceClientBuilder. + */ + @Generated + public AzureMapsStyleServiceClientBuilder serviceVersion(AzureMapsStyleServiceVersion serviceVersion) { + this.serviceVersion = serviceVersion; + return this; + } + + /* + * The HTTP pipeline to send requests through + */ + @Generated private HttpPipeline pipeline; + + /** + * Sets The HTTP pipeline to send requests through. + * + * @param pipeline the pipeline value. + * @return the AzureMapsStyleServiceClientBuilder. + */ + @Generated + public AzureMapsStyleServiceClientBuilder pipeline(HttpPipeline pipeline) { + this.pipeline = pipeline; + return this; + } + + /* + * The HTTP client used to send the request. + */ + @Generated private HttpClient httpClient; + + /** + * Sets The HTTP client used to send the request. + * + * @param httpClient the httpClient value. + * @return the AzureMapsStyleServiceClientBuilder. + */ + @Generated + public AzureMapsStyleServiceClientBuilder httpClient(HttpClient httpClient) { + this.httpClient = httpClient; + return this; + } + + /* + * The configuration store that is used during construction of the service + * client. + */ + @Generated private Configuration configuration; + + /** + * Sets The configuration store that is used during construction of the service client. + * + * @param configuration the configuration value. + * @return the AzureMapsStyleServiceClientBuilder. + */ + @Generated + public AzureMapsStyleServiceClientBuilder configuration(Configuration configuration) { + this.configuration = configuration; + return this; + } + + /* + * The TokenCredential used for authentication. + */ + @Generated private TokenCredential tokenCredential; + + /** + * Sets The TokenCredential used for authentication. + * + * @param tokenCredential the tokenCredential value. + * @return the AzureMapsStyleServiceClientBuilder. + */ + @Generated + public AzureMapsStyleServiceClientBuilder credential(TokenCredential tokenCredential) { + this.tokenCredential = tokenCredential; + return this; + } + + /* + * The logging configuration for HTTP requests and responses. + */ + @Generated private HttpLogOptions httpLogOptions; + + /** + * Sets The logging configuration for HTTP requests and responses. + * + * @param httpLogOptions the httpLogOptions value. + * @return the AzureMapsStyleServiceClientBuilder. + */ + @Generated + public AzureMapsStyleServiceClientBuilder httpLogOptions(HttpLogOptions httpLogOptions) { + this.httpLogOptions = httpLogOptions; + return this; + } + + /* + * The retry policy that will attempt to retry failed requests, if + * applicable. + */ + @Generated private RetryPolicy retryPolicy; + + /** + * Sets The retry policy that will attempt to retry failed requests, if applicable. + * + * @param retryPolicy the retryPolicy value. + * @return the AzureMapsStyleServiceClientBuilder. + */ + @Generated + public AzureMapsStyleServiceClientBuilder retryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = retryPolicy; + return this; + } + + /* + * The list of Http pipeline policies to add. + */ + @Generated private final List pipelinePolicies; + + /* + * The client options such as application ID and custom headers to set on a + * request. + */ + @Generated private ClientOptions clientOptions; + + /** + * Sets The client options such as application ID and custom headers to set on a request. + * + * @param clientOptions the clientOptions value. + * @return the AzureMapsStyleServiceClientBuilder. + */ + @Generated + public AzureMapsStyleServiceClientBuilder clientOptions(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + return this; + } + + /** + * Adds a custom Http pipeline policy. + * + * @param customPolicy The custom Http pipeline policy to add. + * @return the AzureMapsStyleServiceClientBuilder. + */ + @Generated + public AzureMapsStyleServiceClientBuilder addPolicy(HttpPipelinePolicy customPolicy) { + pipelinePolicies.add(customPolicy); + return this; + } + + /** + * Builds an instance of AzureMapsStyleServiceClientImpl with the provided parameters. + * + * @return an instance of AzureMapsStyleServiceClientImpl. + */ + @Generated + private AzureMapsStyleServiceClientImpl buildInnerClient() { + if (geography == null) { + this.geography = Geography.US; + } + if (serviceVersion == null) { + this.serviceVersion = AzureMapsStyleServiceVersion.getLatest(); + } + if (pipeline == null) { + this.pipeline = createHttpPipeline(); + } + AzureMapsStyleServiceClientImpl client = + new AzureMapsStyleServiceClientImpl( + pipeline, JacksonAdapter.createDefaultSerializerAdapter(), clientId, geography, serviceVersion); + return client; + } + + @Generated + private HttpPipeline createHttpPipeline() { + Configuration buildConfiguration = + (configuration == null) ? Configuration.getGlobalConfiguration() : configuration; + if (httpLogOptions == null) { + httpLogOptions = new HttpLogOptions(); + } + if (clientOptions == null) { + clientOptions = new ClientOptions(); + } + List policies = new ArrayList<>(); + String clientName = properties.getOrDefault(SDK_NAME, "UnknownName"); + String clientVersion = properties.getOrDefault(SDK_VERSION, "UnknownVersion"); + String applicationId = CoreUtils.getApplicationId(clientOptions, httpLogOptions); + policies.add(new UserAgentPolicy(applicationId, clientName, clientVersion, buildConfiguration)); + HttpHeaders headers = new HttpHeaders(); + clientOptions.getHeaders().forEach(header -> headers.set(header.getName(), header.getValue())); + if (headers.getSize() > 0) { + policies.add(new AddHeadersPolicy(headers)); + } + policies.addAll( + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + .collect(Collectors.toList())); + HttpPolicyProviders.addBeforeRetryPolicies(policies); + policies.add(retryPolicy == null ? new RetryPolicy() : retryPolicy); + policies.add(new CookiePolicy()); + if (tokenCredential != null) { + policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES)); + } + policies.addAll( + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + .collect(Collectors.toList())); + HttpPolicyProviders.addAfterRetryPolicies(policies); + policies.add(new HttpLoggingPolicy(httpLogOptions)); + HttpPipeline httpPipeline = + new HttpPipelineBuilder() + .policies(policies.toArray(new HttpPipelinePolicy[0])) + .httpClient(httpClient) + .clientOptions(clientOptions) + .build(); + return httpPipeline; + } + + /** + * Builds an instance of AzureMapsStyleServiceAsyncClient class. + * + * @return an instance of AzureMapsStyleServiceAsyncClient. + */ + @Generated + public AzureMapsStyleServiceAsyncClient buildAsyncClient() { + return new AzureMapsStyleServiceAsyncClient(buildInnerClient().getStyleRecipes()); + } + + /** + * Builds an instance of AzureMapsStyleServiceClient class. + * + * @return an instance of AzureMapsStyleServiceClient. + */ + @Generated + public AzureMapsStyleServiceClient buildClient() { + return new AzureMapsStyleServiceClient( + new AzureMapsStyleServiceAsyncClient(buildInnerClient().getStyleRecipes())); + } +} diff --git a/sdk/maps/azure-maps-stylerecipe/src/main/java/com/azure/maps/stylerecipe/AzureMapsStyleServiceVersion.java b/sdk/maps/azure-maps-stylerecipe/src/main/java/com/azure/maps/stylerecipe/AzureMapsStyleServiceVersion.java new file mode 100644 index 000000000000..7e3e2baa6ec2 --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/src/main/java/com/azure/maps/stylerecipe/AzureMapsStyleServiceVersion.java @@ -0,0 +1,33 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.maps.stylerecipe; + +import com.azure.core.util.ServiceVersion; + +/** Service version of AzureMapsStyleServiceClient. */ +public enum AzureMapsStyleServiceVersion implements ServiceVersion { + /** Enum value 2022-01-01-preview. */ + V2022_01_01_PREVIEW("2022-01-01-preview"); + + private final String version; + + AzureMapsStyleServiceVersion(String version) { + this.version = version; + } + + @Override + public String getVersion() { + return this.version; + } + + /** + * Gets the latest service version supported by this client library. + * + * @return The latest {@link AzureMapsStyleServiceVersion}. + */ + public static AzureMapsStyleServiceVersion getLatest() { + return V2022_01_01_PREVIEW; + } +} diff --git a/sdk/maps/azure-maps-stylerecipe/src/main/java/com/azure/maps/stylerecipe/implementation/AzureMapsStyleServiceClientImpl.java b/sdk/maps/azure-maps-stylerecipe/src/main/java/com/azure/maps/stylerecipe/implementation/AzureMapsStyleServiceClientImpl.java new file mode 100644 index 000000000000..3428a5dccebc --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/src/main/java/com/azure/maps/stylerecipe/implementation/AzureMapsStyleServiceClientImpl.java @@ -0,0 +1,166 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.maps.stylerecipe.implementation; + +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.policy.CookiePolicy; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.core.util.serializer.SerializerAdapter; +import com.azure.maps.stylerecipe.AzureMapsStyleServiceVersion; +import com.azure.maps.stylerecipe.implementation.models.Geography; + +/** Initializes a new instance of the AzureMapsStyleServiceClient type. */ +public final class AzureMapsStyleServiceClientImpl { + /** + * Specifies which account is intended for usage in conjunction with the Azure AD security model. It represents a + * unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To + * use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance. + */ + private final String clientId; + + /** + * Gets Specifies which account is intended for usage in conjunction with the Azure AD security model. It represents + * a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To + * use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance. + * + * @return the clientId value. + */ + public String getClientId() { + return this.clientId; + } + + /** This parameter specifies where the Azure Maps Creator resource is located. Valid values are us and eu. */ + private final Geography geography; + + /** + * Gets This parameter specifies where the Azure Maps Creator resource is located. Valid values are us and eu. + * + * @return the geography value. + */ + public Geography getGeography() { + return this.geography; + } + + /** Service version. */ + private final AzureMapsStyleServiceVersion serviceVersion; + + /** + * Gets Service version. + * + * @return the serviceVersion value. + */ + public AzureMapsStyleServiceVersion getServiceVersion() { + return this.serviceVersion; + } + + /** The HTTP pipeline to send requests through. */ + private final HttpPipeline httpPipeline; + + /** + * Gets The HTTP pipeline to send requests through. + * + * @return the httpPipeline value. + */ + public HttpPipeline getHttpPipeline() { + return this.httpPipeline; + } + + /** The serializer to serialize an object into a string. */ + private final SerializerAdapter serializerAdapter; + + /** + * Gets The serializer to serialize an object into a string. + * + * @return the serializerAdapter value. + */ + public SerializerAdapter getSerializerAdapter() { + return this.serializerAdapter; + } + + /** The StyleRecipesImpl object to access its operations. */ + private final StyleRecipesImpl styleRecipes; + + /** + * Gets the StyleRecipesImpl object to access its operations. + * + * @return the StyleRecipesImpl object. + */ + public StyleRecipesImpl getStyleRecipes() { + return this.styleRecipes; + } + + /** + * Initializes an instance of AzureMapsStyleServiceClient client. + * + * @param clientId Specifies which account is intended for usage in conjunction with the Azure AD security model. It + * represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane + * Account API. To use Azure AD security in Azure Maps see the following + * [articles](https://aka.ms/amauthdetails) for guidance. + * @param geography This parameter specifies where the Azure Maps Creator resource is located. Valid values are us + * and eu. + * @param serviceVersion Service version. + */ + public AzureMapsStyleServiceClientImpl( + String clientId, Geography geography, AzureMapsStyleServiceVersion serviceVersion) { + this( + new HttpPipelineBuilder() + .policies(new UserAgentPolicy(), new RetryPolicy(), new CookiePolicy()) + .build(), + JacksonAdapter.createDefaultSerializerAdapter(), + clientId, + geography, + serviceVersion); + } + + /** + * Initializes an instance of AzureMapsStyleServiceClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param clientId Specifies which account is intended for usage in conjunction with the Azure AD security model. It + * represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane + * Account API. To use Azure AD security in Azure Maps see the following + * [articles](https://aka.ms/amauthdetails) for guidance. + * @param geography This parameter specifies where the Azure Maps Creator resource is located. Valid values are us + * and eu. + * @param serviceVersion Service version. + */ + public AzureMapsStyleServiceClientImpl( + HttpPipeline httpPipeline, + String clientId, + Geography geography, + AzureMapsStyleServiceVersion serviceVersion) { + this(httpPipeline, JacksonAdapter.createDefaultSerializerAdapter(), clientId, geography, serviceVersion); + } + + /** + * Initializes an instance of AzureMapsStyleServiceClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param serializerAdapter The serializer to serialize an object into a string. + * @param clientId Specifies which account is intended for usage in conjunction with the Azure AD security model. It + * represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane + * Account API. To use Azure AD security in Azure Maps see the following + * [articles](https://aka.ms/amauthdetails) for guidance. + * @param geography This parameter specifies where the Azure Maps Creator resource is located. Valid values are us + * and eu. + * @param serviceVersion Service version. + */ + public AzureMapsStyleServiceClientImpl( + HttpPipeline httpPipeline, + SerializerAdapter serializerAdapter, + String clientId, + Geography geography, + AzureMapsStyleServiceVersion serviceVersion) { + this.httpPipeline = httpPipeline; + this.serializerAdapter = serializerAdapter; + this.clientId = clientId; + this.geography = geography; + this.serviceVersion = serviceVersion; + this.styleRecipes = new StyleRecipesImpl(this); + } +} diff --git a/sdk/maps/azure-maps-stylerecipe/src/main/java/com/azure/maps/stylerecipe/implementation/StyleRecipesImpl.java b/sdk/maps/azure-maps-stylerecipe/src/main/java/com/azure/maps/stylerecipe/implementation/StyleRecipesImpl.java new file mode 100644 index 000000000000..21f9e7f77545 --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/src/main/java/com/azure/maps/stylerecipe/implementation/StyleRecipesImpl.java @@ -0,0 +1,1487 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.maps.stylerecipe.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.Delete; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.Post; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.util.BinaryData; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.polling.DefaultPollingStrategy; +import com.azure.core.util.polling.PollerFlux; +import com.azure.core.util.polling.SyncPoller; +import com.azure.core.util.serializer.TypeReference; +import java.time.Duration; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in StyleRecipes. */ +public final class StyleRecipesImpl { + /** The proxy service used to perform REST calls. */ + private final StyleRecipesService service; + + /** The service client containing this operation class. */ + private final AzureMapsStyleServiceClientImpl client; + + /** + * Initializes an instance of StyleRecipesImpl. + * + * @param client the instance of the service client containing this operation class. + */ + StyleRecipesImpl(AzureMapsStyleServiceClientImpl client) { + this.service = + RestProxy.create(StyleRecipesService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AzureMapsStyleServiceStyleRecipes to be used by the proxy service to + * perform REST calls. + */ + @Host("https://{geography}.atlas.microsoft.com") + @ServiceInterface(name = "AzureMapsStyleServic") + private interface StyleRecipesService { + @Post("/styles/styleRecipes") + @ExpectedResponses({202}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> importMethod( + @HostParam("geography") String geography, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") BinaryData importContent, + RequestOptions requestOptions, + Context context); + + @Get("/styles/styleRecipes") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> list( + @HostParam("geography") String geography, + @QueryParam("api-version") String apiVersion, + RequestOptions requestOptions, + Context context); + + @Get("/styles/styleRecipes/{styleRecipeId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> export( + @HostParam("geography") String geography, + @QueryParam("api-version") String apiVersion, + @PathParam("styleRecipeId") String styleRecipeId, + RequestOptions requestOptions, + Context context); + + @Delete("/styles/styleRecipes/{styleRecipeId}") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> delete( + @HostParam("geography") String geography, + @QueryParam("api-version") String apiVersion, + @PathParam("styleRecipeId") String styleRecipeId, + RequestOptions requestOptions, + Context context); + + @Get("/styles/styleRecipes/operations/{operationId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getOperation( + @HostParam("geography") String geography, + @QueryParam("api-version") String apiVersion, + @PathParam("operationId") String operationId, + RequestOptions requestOptions, + Context context); + + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> listNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("geography") String geography, + RequestOptions requestOptions, + Context context); + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

[This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

The Style Import API allows the caller to import a style recipe from their style json file. + * + *

## Submit Import Request + * + *

To import your style recipe you will make a `POST` request with an azure maps style or mapbox style. + * + *

The Import Style Recipe API is a [long-running request](https://aka.ms/am-creator-lrt-v2). + * + *

Query Parameters + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
dataFormatStringNoDefines the type of input file for a style to be created from.
styleFormatStringNo Defines the type of JSON object that is imported.
descriptionStringNoUser provided description of the style.
aliasStringNoThe alias of the style recipe.
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + *

Request Body Schema + * + *

{@code
+     * Object
+     * }
+ * + * @param importContent The style recipe content to be imported. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> importMethodWithResponseAsync(BinaryData importContent, RequestOptions requestOptions) { + return FluxUtil.withContext( + context -> + service.importMethod( + this.client.getGeography(), + this.client.getServiceVersion().getVersion(), + importContent, + requestOptions, + context)); + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

[This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

The Style Import API allows the caller to import a style recipe from their style json file. + * + *

## Submit Import Request + * + *

To import your style recipe you will make a `POST` request with an azure maps style or mapbox style. + * + *

The Import Style Recipe API is a [long-running request](https://aka.ms/am-creator-lrt-v2). + * + *

Query Parameters + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
dataFormatStringNoDefines the type of input file for a style to be created from.
styleFormatStringNo Defines the type of JSON object that is imported.
descriptionStringNoUser provided description of the style.
aliasStringNoThe alias of the style recipe.
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + *

Request Body Schema + * + *

{@code
+     * Object
+     * }
+ * + * @param importContent The style recipe content to be imported. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @param context The context to associate with this operation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> importMethodWithResponseAsync( + BinaryData importContent, RequestOptions requestOptions, Context context) { + return service.importMethod( + this.client.getGeography(), + this.client.getServiceVersion().getVersion(), + importContent, + requestOptions, + context); + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

[This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

The Style Import API allows the caller to import a style recipe from their style json file. + * + *

## Submit Import Request + * + *

To import your style recipe you will make a `POST` request with an azure maps style or mapbox style. + * + *

The Import Style Recipe API is a [long-running request](https://aka.ms/am-creator-lrt-v2). + * + *

Query Parameters + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
dataFormatStringNoDefines the type of input file for a style to be created from.
styleFormatStringNo Defines the type of JSON object that is imported.
descriptionStringNoUser provided description of the style.
aliasStringNoThe alias of the style recipe.
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + *

Request Body Schema + * + *

{@code
+     * Object
+     * }
+ * + * @param importContent The style recipe content to be imported. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginImportMethodAsync( + BinaryData importContent, RequestOptions requestOptions) { + return PollerFlux.create( + Duration.ofSeconds(1), + () -> this.importMethodWithResponseAsync(importContent, requestOptions), + new DefaultPollingStrategy<>(this.client.getHttpPipeline()), + new TypeReferenceBinaryData(), + new TypeReferenceBinaryData()); + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

[This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

The Style Import API allows the caller to import a style recipe from their style json file. + * + *

## Submit Import Request + * + *

To import your style recipe you will make a `POST` request with an azure maps style or mapbox style. + * + *

The Import Style Recipe API is a [long-running request](https://aka.ms/am-creator-lrt-v2). + * + *

Query Parameters + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
dataFormatStringNoDefines the type of input file for a style to be created from.
styleFormatStringNo Defines the type of JSON object that is imported.
descriptionStringNoUser provided description of the style.
aliasStringNoThe alias of the style recipe.
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + *

Request Body Schema + * + *

{@code
+     * Object
+     * }
+ * + * @param importContent The style recipe content to be imported. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @param context The context to associate with this operation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginImportMethodAsync( + BinaryData importContent, RequestOptions requestOptions, Context context) { + return PollerFlux.create( + Duration.ofSeconds(1), + () -> this.importMethodWithResponseAsync(importContent, requestOptions, context), + new DefaultPollingStrategy<>(this.client.getHttpPipeline()), + new TypeReferenceBinaryData(), + new TypeReferenceBinaryData()); + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

[This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

The Style Import API allows the caller to import a style recipe from their style json file. + * + *

## Submit Import Request + * + *

To import your style recipe you will make a `POST` request with an azure maps style or mapbox style. + * + *

The Import Style Recipe API is a [long-running request](https://aka.ms/am-creator-lrt-v2). + * + *

Query Parameters + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
dataFormatStringNoDefines the type of input file for a style to be created from.
styleFormatStringNo Defines the type of JSON object that is imported.
descriptionStringNoUser provided description of the style.
aliasStringNoThe alias of the style recipe.
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + *

Request Body Schema + * + *

{@code
+     * Object
+     * }
+ * + * @param importContent The style recipe content to be imported. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginImportMethod( + BinaryData importContent, RequestOptions requestOptions) { + return this.beginImportMethodAsync(importContent, requestOptions).getSyncPoller(); + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

This API allows the caller to fetch a list of all style recipes imported. <br>. + * + *

Query Parameters + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + *

Response Body Schema + * + *

{@code
+     * {
+     *     styleRecipes: [
+     *         {
+     *             styleRecipeId: String
+     *             description: String
+     *             alias: String
+     *             created: String
+     *         }
+     *     ]
+     *     nextLink: String
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the response model for the Style Recipe List API along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> listSinglePageAsync(RequestOptions requestOptions) { + return FluxUtil.withContext( + context -> + service.list( + this.client.getGeography(), + this.client.getServiceVersion().getVersion(), + requestOptions, + context)) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + getValues(res.getValue(), "styleRecipes"), + getNextLink(res.getValue(), "nextLink"), + null)); + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

This API allows the caller to fetch a list of all style recipes imported. <br>. + * + *

Query Parameters + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + *

Response Body Schema + * + *

{@code
+     * {
+     *     styleRecipes: [
+     *         {
+     *             styleRecipeId: String
+     *             description: String
+     *             alias: String
+     *             created: String
+     *         }
+     *     ]
+     *     nextLink: String
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @param context The context to associate with this operation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the response model for the Style Recipe List API along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> listSinglePageAsync(RequestOptions requestOptions, Context context) { + return service.list( + this.client.getGeography(), + this.client.getServiceVersion().getVersion(), + requestOptions, + context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + getValues(res.getValue(), "styleRecipes"), + getNextLink(res.getValue(), "nextLink"), + null)); + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

This API allows the caller to fetch a list of all style recipes imported. <br>. + * + *

Query Parameters + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + *

Response Body Schema + * + *

{@code
+     * {
+     *     styleRecipes: [
+     *         {
+     *             styleRecipeId: String
+     *             description: String
+     *             alias: String
+     *             created: String
+     *         }
+     *     ]
+     *     nextLink: String
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the response model for the Style Recipe List API as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listAsync(RequestOptions requestOptions) { + return new PagedFlux<>( + () -> listSinglePageAsync(requestOptions), nextLink -> listNextSinglePageAsync(nextLink, null)); + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

This API allows the caller to fetch a list of all style recipes imported. <br>. + * + *

Query Parameters + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + *

Response Body Schema + * + *

{@code
+     * {
+     *     styleRecipes: [
+     *         {
+     *             styleRecipeId: String
+     *             description: String
+     *             alias: String
+     *             created: String
+     *         }
+     *     ]
+     *     nextLink: String
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @param context The context to associate with this operation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the response model for the Style Recipe List API as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listAsync(RequestOptions requestOptions, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(requestOptions, context), + nextLink -> listNextSinglePageAsync(nextLink, null, context)); + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

This API allows the caller to fetch a list of all style recipes imported. <br>. + * + *

Query Parameters + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + *

Response Body Schema + * + *

{@code
+     * {
+     *     styleRecipes: [
+     *         {
+     *             styleRecipeId: String
+     *             description: String
+     *             alias: String
+     *             created: String
+     *         }
+     *     ]
+     *     nextLink: String
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the response model for the Style Recipe List API as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(RequestOptions requestOptions) { + return new PagedIterable<>(listAsync(requestOptions)); + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

This API allows the caller to export a style recipe. + * + *

Query Parameters + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
styleFormatStringNo Defines the type of JSON object that is imported.
tilesetIdStringNoThe Tileset Id
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + *

Response Body Schema + * + *

{@code
+     * {
+     *     id: String
+     *     version: Float
+     *     created: String
+     *     description: String
+     *     sources: Object
+     *     sprite: String
+     *     layers: [
+     *         {
+     *             id: String
+     *             type: String
+     *             sourceLayer: String
+     *             source: String
+     *             layout: Object
+     *             paint: Object
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param styleRecipeId The Style Recipe Id. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return detail information for the data along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> exportWithResponseAsync(String styleRecipeId, RequestOptions requestOptions) { + return FluxUtil.withContext( + context -> + service.export( + this.client.getGeography(), + this.client.getServiceVersion().getVersion(), + styleRecipeId, + requestOptions, + context)); + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

This API allows the caller to export a style recipe. + * + *

Query Parameters + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
styleFormatStringNo Defines the type of JSON object that is imported.
tilesetIdStringNoThe Tileset Id
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + *

Response Body Schema + * + *

{@code
+     * {
+     *     id: String
+     *     version: Float
+     *     created: String
+     *     description: String
+     *     sources: Object
+     *     sprite: String
+     *     layers: [
+     *         {
+     *             id: String
+     *             type: String
+     *             sourceLayer: String
+     *             source: String
+     *             layout: Object
+     *             paint: Object
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param styleRecipeId The Style Recipe Id. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @param context The context to associate with this operation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return detail information for the data along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> exportWithResponseAsync( + String styleRecipeId, RequestOptions requestOptions, Context context) { + return service.export( + this.client.getGeography(), + this.client.getServiceVersion().getVersion(), + styleRecipeId, + requestOptions, + context); + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

This API allows the caller to export a style recipe. + * + *

Query Parameters + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
styleFormatStringNo Defines the type of JSON object that is imported.
tilesetIdStringNoThe Tileset Id
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + *

Response Body Schema + * + *

{@code
+     * {
+     *     id: String
+     *     version: Float
+     *     created: String
+     *     description: String
+     *     sources: Object
+     *     sprite: String
+     *     layers: [
+     *         {
+     *             id: String
+     *             type: String
+     *             sourceLayer: String
+     *             source: String
+     *             layout: Object
+     *             paint: Object
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param styleRecipeId The Style Recipe Id. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return detail information for the data along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response exportWithResponse(String styleRecipeId, RequestOptions requestOptions) { + return exportWithResponseAsync(styleRecipeId, requestOptions).block(); + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

This API allows the caller to delete an imported style recipe.<br> You can use this API if a style + * recipe is no longer needed. + * + *

### Submit Delete Request + * + *

To delete your content you will issue a `DELETE` request where the path will contain the `styleRecipeId` of + * the style recipe to delete.<br> + * + *

#### Delete request "Successful" + * + *

The Style Recipe Delete API returns a HTTP `204 No Content` response with an empty body, if the style recipe + * was deleted successfully.<br> + * + *

#### Delete request "Failed" + * + *

A HTTP `400 Bad Request` error response will be returned if the style recipe with the passed-in + * `styleRecipeId` is not found. + * + *

Here is a sample error response: + * + *

<br> + * + *

```json { "error": { "code": "400 BadRequest", "message": "Bad request - StyleRecipe Id: + * d85b5b27-5fc4-4599-8b50-47160e90f8ce does not exist." } } ```. + * + *

Query Parameters + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + * @param styleRecipeId The Style Recipe Id. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteWithResponseAsync(String styleRecipeId, RequestOptions requestOptions) { + return FluxUtil.withContext( + context -> + service.delete( + this.client.getGeography(), + this.client.getServiceVersion().getVersion(), + styleRecipeId, + requestOptions, + context)); + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

This API allows the caller to delete an imported style recipe.<br> You can use this API if a style + * recipe is no longer needed. + * + *

### Submit Delete Request + * + *

To delete your content you will issue a `DELETE` request where the path will contain the `styleRecipeId` of + * the style recipe to delete.<br> + * + *

#### Delete request "Successful" + * + *

The Style Recipe Delete API returns a HTTP `204 No Content` response with an empty body, if the style recipe + * was deleted successfully.<br> + * + *

#### Delete request "Failed" + * + *

A HTTP `400 Bad Request` error response will be returned if the style recipe with the passed-in + * `styleRecipeId` is not found. + * + *

Here is a sample error response: + * + *

<br> + * + *

```json { "error": { "code": "400 BadRequest", "message": "Bad request - StyleRecipe Id: + * d85b5b27-5fc4-4599-8b50-47160e90f8ce does not exist." } } ```. + * + *

Query Parameters + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + * @param styleRecipeId The Style Recipe Id. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @param context The context to associate with this operation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteWithResponseAsync( + String styleRecipeId, RequestOptions requestOptions, Context context) { + return service.delete( + this.client.getGeography(), + this.client.getServiceVersion().getVersion(), + styleRecipeId, + requestOptions, + context); + } + + /** + * **Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier). + * + *

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API + * and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and + * tools that apply to Azure Maps Creator. + * + *

This API allows the caller to delete an imported style recipe.<br> You can use this API if a style + * recipe is no longer needed. + * + *

### Submit Delete Request + * + *

To delete your content you will issue a `DELETE` request where the path will contain the `styleRecipeId` of + * the style recipe to delete.<br> + * + *

#### Delete request "Successful" + * + *

The Style Recipe Delete API returns a HTTP `204 No Content` response with an empty body, if the style recipe + * was deleted successfully.<br> + * + *

#### Delete request "Failed" + * + *

A HTTP `400 Bad Request` error response will be returned if the style recipe with the passed-in + * `styleRecipeId` is not found. + * + *

Here is a sample error response: + * + *

<br> + * + *

```json { "error": { "code": "400 BadRequest", "message": "Bad request - StyleRecipe Id: + * d85b5b27-5fc4-4599-8b50-47160e90f8ce does not exist." } } ```. + * + *

Query Parameters + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
+ * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + * @param styleRecipeId The Style Recipe Id. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteWithResponse(String styleRecipeId, RequestOptions requestOptions) { + return deleteWithResponseAsync(styleRecipeId, requestOptions).block(); + } + + /** + * This path will be obtained from a call to create a style recipe. While in progress, an http200 will be returned + * with no extra headers - followed by an http200 with Resource-Location header once successfully completed. + * + *

Query Parameters + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
+ * + *

Response Body Schema + * + *

{@code
+     * {
+     *     operationId: String
+     *     status: String(NotStarted/Running/Failed/Succeeded)
+     *     created: String
+     *     error: {
+     *         code: String
+     *         message: String
+     *         target: String
+     *         details: [
+     *             (recursive schema, see above)
+     *         ]
+     *         additionalInfo: [
+     *             {
+     *                 type: String
+     *                 info: Object
+     *             }
+     *         ]
+     *     }
+     *     warning: (recursive schema, see warning above)
+     * }
+     * }
+ * + * @param operationId The ID to query the status for the style recipe create/import request. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the response model for a Long-Running Operations API along with {@link Response} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getOperationWithResponseAsync(String operationId, RequestOptions requestOptions) { + return FluxUtil.withContext( + context -> + service.getOperation( + this.client.getGeography(), + this.client.getServiceVersion().getVersion(), + operationId, + requestOptions, + context)); + } + + /** + * This path will be obtained from a call to create a style recipe. While in progress, an http200 will be returned + * with no extra headers - followed by an http200 with Resource-Location header once successfully completed. + * + *

Query Parameters + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
+ * + *

Response Body Schema + * + *

{@code
+     * {
+     *     operationId: String
+     *     status: String(NotStarted/Running/Failed/Succeeded)
+     *     created: String
+     *     error: {
+     *         code: String
+     *         message: String
+     *         target: String
+     *         details: [
+     *             (recursive schema, see above)
+     *         ]
+     *         additionalInfo: [
+     *             {
+     *                 type: String
+     *                 info: Object
+     *             }
+     *         ]
+     *     }
+     *     warning: (recursive schema, see warning above)
+     * }
+     * }
+ * + * @param operationId The ID to query the status for the style recipe create/import request. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @param context The context to associate with this operation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the response model for a Long-Running Operations API along with {@link Response} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getOperationWithResponseAsync( + String operationId, RequestOptions requestOptions, Context context) { + return service.getOperation( + this.client.getGeography(), + this.client.getServiceVersion().getVersion(), + operationId, + requestOptions, + context); + } + + /** + * This path will be obtained from a call to create a style recipe. While in progress, an http200 will be returned + * with no extra headers - followed by an http200 with Resource-Location header once successfully completed. + * + *

Query Parameters + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
api-versionStringYesApi Version
+ * + *

Response Body Schema + * + *

{@code
+     * {
+     *     operationId: String
+     *     status: String(NotStarted/Running/Failed/Succeeded)
+     *     created: String
+     *     error: {
+     *         code: String
+     *         message: String
+     *         target: String
+     *         details: [
+     *             (recursive schema, see above)
+     *         ]
+     *         additionalInfo: [
+     *             {
+     *                 type: String
+     *                 info: Object
+     *             }
+     *         ]
+     *     }
+     *     warning: (recursive schema, see warning above)
+     * }
+     * }
+ * + * @param operationId The ID to query the status for the style recipe create/import request. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the response model for a Long-Running Operations API along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getOperationWithResponse(String operationId, RequestOptions requestOptions) { + return getOperationWithResponseAsync(operationId, requestOptions).block(); + } + + /** + * Get the next page of items. + * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + *

Response Body Schema + * + *

{@code
+     * {
+     *     styleRecipes: [
+     *         {
+     *             styleRecipeId: String
+     *             description: String
+     *             alias: String
+     *             created: String
+     *         }
+     *     ]
+     *     nextLink: String
+     * }
+     * }
+ * + * @param nextLink The nextLink parameter. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the response model for the Style Recipe List API along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> listNextSinglePageAsync(String nextLink, RequestOptions requestOptions) { + return FluxUtil.withContext( + context -> service.listNext(nextLink, this.client.getGeography(), requestOptions, context)) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + getValues(res.getValue(), "styleRecipes"), + getNextLink(res.getValue(), "nextLink"), + null)); + } + + /** + * Get the next page of items. + * + *

Header Parameters + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-client-idStringNoSpecifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.
+ * + *

Response Body Schema + * + *

{@code
+     * {
+     *     styleRecipes: [
+     *         {
+     *             styleRecipeId: String
+     *             description: String
+     *             alias: String
+     *             created: String
+     *         }
+     *     ]
+     *     nextLink: String
+     * }
+     * }
+ * + * @param nextLink The nextLink parameter. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @param context The context to associate with this operation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the response model for the Style Recipe List API along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> listNextSinglePageAsync( + String nextLink, RequestOptions requestOptions, Context context) { + return service.listNext(nextLink, this.client.getGeography(), requestOptions, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + getValues(res.getValue(), "styleRecipes"), + getNextLink(res.getValue(), "nextLink"), + null)); + } + + private static final class TypeReferenceBinaryData extends TypeReference { + // empty + } + + private List getValues(BinaryData binaryData, String path) { + try { + Map obj = binaryData.toObject(Map.class); + List values = (List) obj.get(path); + return values.stream().map(BinaryData::fromObject).collect(Collectors.toList()); + } catch (RuntimeException e) { + return null; + } + } + + private String getNextLink(BinaryData binaryData, String path) { + try { + Map obj = binaryData.toObject(Map.class); + return (String) obj.get(path); + } catch (RuntimeException e) { + return null; + } + } +} diff --git a/sdk/maps/azure-maps-stylerecipe/src/main/java/com/azure/maps/stylerecipe/implementation/package-info.java b/sdk/maps/azure-maps-stylerecipe/src/main/java/com/azure/maps/stylerecipe/implementation/package-info.java new file mode 100644 index 000000000000..5bd82f8dbfc9 --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/src/main/java/com/azure/maps/stylerecipe/implementation/package-info.java @@ -0,0 +1,11 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +/** + * Package containing the implementations for AzureMapsStyleService. This is an extension of the Azure Maps Tileset API + * to serve custom styles. It will allow a client to create a list of map styling information which can be combined with + * tilesetIds to compose a Mapbox style that can be consumed directly by front-end services (map control web & + * mobile SDKs, styling tools like [Maputnik](https://maputnik.github.io/editor/)). + */ +package com.azure.maps.stylerecipe.implementation; diff --git a/sdk/maps/azure-maps-stylerecipe/src/main/java/com/azure/maps/stylerecipe/package-info.java b/sdk/maps/azure-maps-stylerecipe/src/main/java/com/azure/maps/stylerecipe/package-info.java new file mode 100644 index 000000000000..0bbef8d72f2d --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/src/main/java/com/azure/maps/stylerecipe/package-info.java @@ -0,0 +1,11 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +/** + * Package containing the classes for AzureMapsStyleService. This is an extension of the Azure Maps Tileset API to serve + * custom styles. It will allow a client to create a list of map styling information which can be combined with + * tilesetIds to compose a Mapbox style that can be consumed directly by front-end services (map control web & + * mobile SDKs, styling tools like [Maputnik](https://maputnik.github.io/editor/)). + */ +package com.azure.maps.stylerecipe; diff --git a/sdk/maps/azure-maps-stylerecipe/src/main/java/module-info.java b/sdk/maps/azure-maps-stylerecipe/src/main/java/module-info.java new file mode 100644 index 000000000000..a3ae5fbffb4c --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/src/main/java/module-info.java @@ -0,0 +1,9 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +module com.azure.maps.stylerecipe { + requires transitive com.azure.core; + + exports com.azure.maps.stylerecipe; +} diff --git a/sdk/maps/azure-maps-stylerecipe/src/main/resources/azure-maps-stylerecipe.properties b/sdk/maps/azure-maps-stylerecipe/src/main/resources/azure-maps-stylerecipe.properties new file mode 100644 index 000000000000..ca812989b4f2 --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/src/main/resources/azure-maps-stylerecipe.properties @@ -0,0 +1,2 @@ +name=${project.artifactId} +version=${project.version} diff --git a/sdk/maps/azure-maps-stylerecipe/src/samples/java/com/azure/maps/stylerecipe/ReadmeSamples.java b/sdk/maps/azure-maps-stylerecipe/src/samples/java/com/azure/maps/stylerecipe/ReadmeSamples.java new file mode 100644 index 000000000000..3ab10de73907 --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/src/samples/java/com/azure/maps/stylerecipe/ReadmeSamples.java @@ -0,0 +1,12 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.maps.stylerecipe; + +public final class ReadmeSamples { + public void readmeSamples() { + // BEGIN: com.azure.maps.stylerecipe.readme + // END: com.azure.maps.stylerecipe.readme + } +} diff --git a/sdk/maps/azure-maps-stylerecipe/src/samples/java/com/azure/maps/stylerecipe/generated/DeleteAnImportedStyleRecipe.java b/sdk/maps/azure-maps-stylerecipe/src/samples/java/com/azure/maps/stylerecipe/generated/DeleteAnImportedStyleRecipe.java new file mode 100644 index 000000000000..6c629c1d57d4 --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/src/samples/java/com/azure/maps/stylerecipe/generated/DeleteAnImportedStyleRecipe.java @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.maps.stylerecipe.generated; + +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.identity.DefaultAzureCredentialBuilder; +import com.azure.maps.stylerecipe.AzureMapsStyleServiceClient; +import com.azure.maps.stylerecipe.AzureMapsStyleServiceClientBuilder; + +public class DeleteAnImportedStyleRecipe { + public static void main(String[] args) { + // BEGIN: com.azure.maps.stylerecipe.generated.stylerecipedelete.deleteanimportedstylerecipe + AzureMapsStyleServiceClient azureMapsStyleServiceClient = + new AzureMapsStyleServiceClientBuilder() + .credential(new DefaultAzureCredentialBuilder().build()) + .geography("us") + .buildClient(); + RequestOptions requestOptions = new RequestOptions(); + Response response = + azureMapsStyleServiceClient.deleteWithResponse("25084fb7-307a-4720-8f91-7952a0b91012", requestOptions); + // END: com.azure.maps.stylerecipe.generated.stylerecipedelete.deleteanimportedstylerecipe + } +} diff --git a/sdk/maps/azure-maps-stylerecipe/src/samples/java/com/azure/maps/stylerecipe/generated/ExportsTheDetailsForASingleStyleRecipe.java b/sdk/maps/azure-maps-stylerecipe/src/samples/java/com/azure/maps/stylerecipe/generated/ExportsTheDetailsForASingleStyleRecipe.java new file mode 100644 index 000000000000..b9cde865da27 --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/src/samples/java/com/azure/maps/stylerecipe/generated/ExportsTheDetailsForASingleStyleRecipe.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.maps.stylerecipe.generated; + +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.identity.DefaultAzureCredentialBuilder; +import com.azure.maps.stylerecipe.AzureMapsStyleServiceClient; +import com.azure.maps.stylerecipe.AzureMapsStyleServiceClientBuilder; + +public class ExportsTheDetailsForASingleStyleRecipe { + public static void main(String[] args) { + // BEGIN: com.azure.maps.stylerecipe.generated.stylerecipeexport.exportsthedetailsforasinglestylerecipe + AzureMapsStyleServiceClient azureMapsStyleServiceClient = + new AzureMapsStyleServiceClientBuilder() + .credential(new DefaultAzureCredentialBuilder().build()) + .geography("us") + .buildClient(); + RequestOptions requestOptions = new RequestOptions(); + requestOptions.addQueryParam("tilesetId", "d8fa86de-bb0f-4a02-a6ff-62ae7545dd84"); + Response response = + azureMapsStyleServiceClient.exportWithResponse("25084fb7-307a-4720-8f91-7952a0b91012", requestOptions); + // END: com.azure.maps.stylerecipe.generated.stylerecipeexport.exportsthedetailsforasinglestylerecipe + } +} diff --git a/sdk/maps/azure-maps-stylerecipe/src/samples/java/com/azure/maps/stylerecipe/generated/GetAListOfAllStyles.java b/sdk/maps/azure-maps-stylerecipe/src/samples/java/com/azure/maps/stylerecipe/generated/GetAListOfAllStyles.java new file mode 100644 index 000000000000..bad0baad17bb --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/src/samples/java/com/azure/maps/stylerecipe/generated/GetAListOfAllStyles.java @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.maps.stylerecipe.generated; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.util.BinaryData; +import com.azure.identity.DefaultAzureCredentialBuilder; +import com.azure.maps.stylerecipe.AzureMapsStyleServiceClient; +import com.azure.maps.stylerecipe.AzureMapsStyleServiceClientBuilder; + +public class GetAListOfAllStyles { + public static void main(String[] args) { + // BEGIN: com.azure.maps.stylerecipe.generated.stylerecipelist.getalistofallstyles + AzureMapsStyleServiceClient azureMapsStyleServiceClient = + new AzureMapsStyleServiceClientBuilder() + .credential(new DefaultAzureCredentialBuilder().build()) + .geography("us") + .buildClient(); + RequestOptions requestOptions = new RequestOptions(); + PagedIterable response = azureMapsStyleServiceClient.list(requestOptions); + // END: com.azure.maps.stylerecipe.generated.stylerecipelist.getalistofallstyles + } +} diff --git a/sdk/maps/azure-maps-stylerecipe/src/samples/java/com/azure/maps/stylerecipe/generated/GetTheStatusOfAnOperationWhichHasFinishedSuccessfully.java b/sdk/maps/azure-maps-stylerecipe/src/samples/java/com/azure/maps/stylerecipe/generated/GetTheStatusOfAnOperationWhichHasFinishedSuccessfully.java new file mode 100644 index 000000000000..4b1d4e16d942 --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/src/samples/java/com/azure/maps/stylerecipe/generated/GetTheStatusOfAnOperationWhichHasFinishedSuccessfully.java @@ -0,0 +1,30 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.maps.stylerecipe.generated; + +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.identity.DefaultAzureCredentialBuilder; +import com.azure.maps.stylerecipe.AzureMapsStyleServiceClient; +import com.azure.maps.stylerecipe.AzureMapsStyleServiceClientBuilder; + +public class GetTheStatusOfAnOperationWhichHasFinishedSuccessfully { + public static void main(String[] args) { + // BEGIN: + // com.azure.maps.stylerecipe.generated.stylerecipegetoperation.getthestatusofanoperationwhichhasfinishedsuccessfully + AzureMapsStyleServiceClient azureMapsStyleServiceClient = + new AzureMapsStyleServiceClientBuilder() + .credential(new DefaultAzureCredentialBuilder().build()) + .geography("us") + .buildClient(); + RequestOptions requestOptions = new RequestOptions(); + Response response = + azureMapsStyleServiceClient.getOperationWithResponse( + "8b1288fa-1958-4a2b-b68e-13a7i5af7d7c", requestOptions); + // END: + // com.azure.maps.stylerecipe.generated.stylerecipegetoperation.getthestatusofanoperationwhichhasfinishedsuccessfully + } +} diff --git a/sdk/maps/azure-maps-stylerecipe/src/samples/java/com/azure/maps/stylerecipe/generated/GetTheStatusOfAnOperationWhichIsStillRunning.java b/sdk/maps/azure-maps-stylerecipe/src/samples/java/com/azure/maps/stylerecipe/generated/GetTheStatusOfAnOperationWhichIsStillRunning.java new file mode 100644 index 000000000000..c5d58c602bc0 --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/src/samples/java/com/azure/maps/stylerecipe/generated/GetTheStatusOfAnOperationWhichIsStillRunning.java @@ -0,0 +1,30 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.maps.stylerecipe.generated; + +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.identity.DefaultAzureCredentialBuilder; +import com.azure.maps.stylerecipe.AzureMapsStyleServiceClient; +import com.azure.maps.stylerecipe.AzureMapsStyleServiceClientBuilder; + +public class GetTheStatusOfAnOperationWhichIsStillRunning { + public static void main(String[] args) { + // BEGIN: + // com.azure.maps.stylerecipe.generated.stylerecipegetoperation.getthestatusofanoperationwhichisstillrunning + AzureMapsStyleServiceClient azureMapsStyleServiceClient = + new AzureMapsStyleServiceClientBuilder() + .credential(new DefaultAzureCredentialBuilder().build()) + .geography("us") + .buildClient(); + RequestOptions requestOptions = new RequestOptions(); + Response response = + azureMapsStyleServiceClient.getOperationWithResponse( + "8b1288fa-1958-4a2b-b68e-13a7i5af7d7c", requestOptions); + // END: + // com.azure.maps.stylerecipe.generated.stylerecipegetoperation.getthestatusofanoperationwhichisstillrunning + } +} diff --git a/sdk/maps/azure-maps-stylerecipe/src/samples/java/com/azure/maps/stylerecipe/generated/ImportStyleRecipeByProvidingAAzureMapsOrMapboxStyleJsonFile.java b/sdk/maps/azure-maps-stylerecipe/src/samples/java/com/azure/maps/stylerecipe/generated/ImportStyleRecipeByProvidingAAzureMapsOrMapboxStyleJsonFile.java new file mode 100644 index 000000000000..127e38b16d08 --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/src/samples/java/com/azure/maps/stylerecipe/generated/ImportStyleRecipeByProvidingAAzureMapsOrMapboxStyleJsonFile.java @@ -0,0 +1,35 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.maps.stylerecipe.generated; + +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.util.BinaryData; +import com.azure.core.util.polling.SyncPoller; +import com.azure.identity.DefaultAzureCredentialBuilder; +import com.azure.maps.stylerecipe.AzureMapsStyleServiceClient; +import com.azure.maps.stylerecipe.AzureMapsStyleServiceClientBuilder; + +public class ImportStyleRecipeByProvidingAAzureMapsOrMapboxStyleJsonFile { + public static void main(String[] args) { + // BEGIN: + // com.azure.maps.stylerecipe.generated.stylerecipeimport.importstylerecipebyprovidingaazuremapsormapboxstylejsonfile + AzureMapsStyleServiceClient azureMapsStyleServiceClient = + new AzureMapsStyleServiceClientBuilder() + .credential(new DefaultAzureCredentialBuilder().build()) + .geography("us") + .buildClient(); + BinaryData ImportContent = + BinaryData.fromString( + "{\"description\":\"Some optional description\",\"created\":\"2021-05-21T03:04:05.678Z\",\"id\":\"9c451b0a-6527-49a7-9154-1b3d9486487f\",\"layers\":[{\"type\":\"background\",\"id\":\"background\",\"layout\":{\"symbol-avoid-edges\":true,\"symbol-placement\":\"point\",\"text-anchor\":\"center\",\"text-field\":\"{name}\",\"text-font\":[\"SegoeUi-SemiBold\"],\"text-keep-upright\":true,\"text-letter-spacing\":0.1,\"text-size\":{\"stops\":[[18.5,6.5],[19,8],[19.5,9.5],[20,11]]},\"visibility\":\"none\"},\"maxzoom\":20,\"minzoom\":18,\"paint\":{\"text-color\":\"rgb(0, 0, 0)\",\"text-halo-blur\":0.5,\"text-halo-color\":\"rgb(255, 255, 255)\",\"text-halo-width\":1},\"source-layer\":\"bg-source\"}],\"sprite\":\"azuremaps://sprite/e33700db-127e-4ed0-bfec-7a1830eca06d\",\"version\":1}"); + RequestOptions requestOptions = new RequestOptions(); + requestOptions.addQueryParam("alias", "test-alias"); + requestOptions.addQueryParam("dataFormat", "JSON"); + requestOptions.addQueryParam("styleFormat", "mapbox"); + SyncPoller response = + azureMapsStyleServiceClient.beginImportMethod(ImportContent, requestOptions); + // END: + // com.azure.maps.stylerecipe.generated.stylerecipeimport.importstylerecipebyprovidingaazuremapsormapboxstylejsonfile + } +} diff --git a/sdk/maps/azure-maps-stylerecipe/src/test/java/com/azure/maps/stylerecipe/generated/AzureMapsStyleServiceClientTestBase.java b/sdk/maps/azure-maps-stylerecipe/src/test/java/com/azure/maps/stylerecipe/generated/AzureMapsStyleServiceClientTestBase.java new file mode 100644 index 000000000000..edcf8136a30e --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/src/test/java/com/azure/maps/stylerecipe/generated/AzureMapsStyleServiceClientTestBase.java @@ -0,0 +1,44 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.maps.stylerecipe.generated; + +import com.azure.core.credential.AccessToken; +import com.azure.core.http.HttpClient; +import com.azure.core.http.policy.HttpLogDetailLevel; +import com.azure.core.http.policy.HttpLogOptions; +import com.azure.core.test.TestBase; +import com.azure.core.test.TestMode; +import com.azure.core.util.Configuration; +import com.azure.identity.DefaultAzureCredentialBuilder; +import com.azure.maps.stylerecipe.AzureMapsStyleServiceClient; +import com.azure.maps.stylerecipe.AzureMapsStyleServiceClientBuilder; +import com.azure.maps.stylerecipe.implementation.models.Geography; +import java.time.OffsetDateTime; +import reactor.core.publisher.Mono; + +class AzureMapsStyleServiceClientTestBase extends TestBase { + protected AzureMapsStyleServiceClient azureMapsStyleServiceClient; + + @Override + protected void beforeTest() { + AzureMapsStyleServiceClientBuilder azureMapsStyleServiceClientbuilder = + new AzureMapsStyleServiceClientBuilder() + .geography(Configuration.getGlobalConfiguration().get("GEOGRAPHY", Geography.US)) + .httpClient(HttpClient.createDefault()) + .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BASIC)); + if (getTestMode() == TestMode.PLAYBACK) { + azureMapsStyleServiceClientbuilder + .httpClient(interceptorManager.getPlaybackClient()) + .credential(request -> Mono.just(new AccessToken("this_is_a_token", OffsetDateTime.MAX))); + } else if (getTestMode() == TestMode.RECORD) { + azureMapsStyleServiceClientbuilder + .addPolicy(interceptorManager.getRecordPolicy()) + .credential(new DefaultAzureCredentialBuilder().build()); + } else if (getTestMode() == TestMode.LIVE) { + azureMapsStyleServiceClientbuilder.credential(new DefaultAzureCredentialBuilder().build()); + } + azureMapsStyleServiceClient = azureMapsStyleServiceClientbuilder.buildClient(); + } +} diff --git a/sdk/maps/azure-maps-stylerecipe/src/test/java/com/azure/maps/stylerecipe/generated/DeleteAnImportedStyleRecipeTests.java b/sdk/maps/azure-maps-stylerecipe/src/test/java/com/azure/maps/stylerecipe/generated/DeleteAnImportedStyleRecipeTests.java new file mode 100644 index 000000000000..9c695d7aad9f --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/src/test/java/com/azure/maps/stylerecipe/generated/DeleteAnImportedStyleRecipeTests.java @@ -0,0 +1,22 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.maps.stylerecipe.generated; + +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +public final class DeleteAnImportedStyleRecipeTests extends AzureMapsStyleServiceClientTestBase { + @Test + @Disabled + public void testDeleteAnImportedStyleRecipeTests() { + RequestOptions requestOptions = new RequestOptions(); + Response response = + azureMapsStyleServiceClient.deleteWithResponse("25084fb7-307a-4720-8f91-7952a0b91012", requestOptions); + Assertions.assertEquals(204, response.getStatusCode()); + } +} diff --git a/sdk/maps/azure-maps-stylerecipe/src/test/java/com/azure/maps/stylerecipe/generated/ExportsTheDetailsForASingleStyleRecipeTests.java b/sdk/maps/azure-maps-stylerecipe/src/test/java/com/azure/maps/stylerecipe/generated/ExportsTheDetailsForASingleStyleRecipeTests.java new file mode 100644 index 000000000000..48edfea612a4 --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/src/test/java/com/azure/maps/stylerecipe/generated/ExportsTheDetailsForASingleStyleRecipeTests.java @@ -0,0 +1,29 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.maps.stylerecipe.generated; + +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +public final class ExportsTheDetailsForASingleStyleRecipeTests extends AzureMapsStyleServiceClientTestBase { + @Test + @Disabled + public void testExportsTheDetailsForASingleStyleRecipeTests() { + RequestOptions requestOptions = new RequestOptions(); + requestOptions.addQueryParam("tilesetId", "d8fa86de-bb0f-4a02-a6ff-62ae7545dd84"); + Response response = + azureMapsStyleServiceClient.exportWithResponse("25084fb7-307a-4720-8f91-7952a0b91012", requestOptions); + Assertions.assertEquals(200, response.getStatusCode()); + Assertions.assertEquals( + BinaryData.fromString( + "{\"description\":\"Some optional description\",\"created\":\"2021-05-21T03:04:05.678Z\",\"id\":\"9c451b0a-6527-49a7-9154-1b3d9486487f\",\"layers\":[{\"type\":\"fill\",\"id\":\"indoor_unit_store\",\"layout\":{\"visibility\":\"none\"},\"paint\":{\"fill-antialias\":true,\"fill-color\":\"rgba(230, 230, 230, 1)\",\"fill-opacity\":1,\"fill-outline-color\":\"rgba(120, 120, 120, 1)\"},\"source\":\"dcda5d1b-c835-80cd-feee-3d6351e79eda\",\"source-layer\":\"Indoor unit\"}],\"sources\":{\"dcda5d1b-c835-80cd-feee-3d6351e79eda\":{\"type\":\"vector\",\"maxzoom\":20,\"minzoom\":0,\"tiles\":[\"https://{{azMapsDomain}}/map/tile?api-version=2.0&tilesetId=dcda5d1b-c835-80cd-feee-3d6351e79eda&zoom={z}&x={x}&y={y}\"]}},\"sprite\":\"azuremaps://sprite/e33700db-127e-4ed0-bfec-7a1830eca06d\",\"version\":8}") + .toObject(Object.class), + response.getValue().toObject(Object.class)); + } +} diff --git a/sdk/maps/azure-maps-stylerecipe/src/test/java/com/azure/maps/stylerecipe/generated/GetAListOfAllStylesTests.java b/sdk/maps/azure-maps-stylerecipe/src/test/java/com/azure/maps/stylerecipe/generated/GetAListOfAllStylesTests.java new file mode 100644 index 000000000000..49ac38548833 --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/src/test/java/com/azure/maps/stylerecipe/generated/GetAListOfAllStylesTests.java @@ -0,0 +1,27 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.maps.stylerecipe.generated; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.util.BinaryData; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +public final class GetAListOfAllStylesTests extends AzureMapsStyleServiceClientTestBase { + @Test + @Disabled + public void testGetAListOfAllStylesTests() { + RequestOptions requestOptions = new RequestOptions(); + PagedIterable response = azureMapsStyleServiceClient.list(requestOptions); + Assertions.assertEquals(200, response.iterableByPage().iterator().next().getStatusCode()); + Assertions.assertEquals( + BinaryData.fromString( + "{\"description\":\"Some optional description\",\"alias\":\"indoor_style_recipe\",\"created\":\"2022-01-21T03:04:05.678Z\",\"styleRecipeId\":\"9c451b0a-6527-49a7-9154-1b3d9486487f\"}") + .toObject(Object.class), + response.iterator().next().toObject(Object.class)); + } +} diff --git a/sdk/maps/azure-maps-stylerecipe/src/test/java/com/azure/maps/stylerecipe/generated/GetTheStatusOfAnOperationWhichHasFinishedSuccessfullyTests.java b/sdk/maps/azure-maps-stylerecipe/src/test/java/com/azure/maps/stylerecipe/generated/GetTheStatusOfAnOperationWhichHasFinishedSuccessfullyTests.java new file mode 100644 index 000000000000..adc699eed817 --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/src/test/java/com/azure/maps/stylerecipe/generated/GetTheStatusOfAnOperationWhichHasFinishedSuccessfullyTests.java @@ -0,0 +1,33 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.maps.stylerecipe.generated; + +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +public final class GetTheStatusOfAnOperationWhichHasFinishedSuccessfullyTests + extends AzureMapsStyleServiceClientTestBase { + @Test + @Disabled + public void testGetTheStatusOfAnOperationWhichHasFinishedSuccessfullyTests() { + RequestOptions requestOptions = new RequestOptions(); + Response response = + azureMapsStyleServiceClient.getOperationWithResponse( + "8b1288fa-1958-4a2b-b68e-13a7i5af7d7c", requestOptions); + Assertions.assertEquals(200, response.getStatusCode()); + Assertions.assertEquals( + "https://us.atlas.microsoft.com/styles/styleRecipes/3e36b996-f6d1-b068-0fcb-dd6b014c3447?api-version=2022-01-01-preview", + response.getHeaders().get("Resource-Location").getValue()); + Assertions.assertEquals( + BinaryData.fromString( + "{\"operationId\":\"8b1288fa-1958-4a2b-b68e-13a7i5af7d7c\",\"created\":\"2021-04-20T22:43:14.9401559+00:00\",\"status\":\"Succeeded\"}") + .toObject(Object.class), + response.getValue().toObject(Object.class)); + } +} diff --git a/sdk/maps/azure-maps-stylerecipe/src/test/java/com/azure/maps/stylerecipe/generated/GetTheStatusOfAnOperationWhichIsStillRunningTests.java b/sdk/maps/azure-maps-stylerecipe/src/test/java/com/azure/maps/stylerecipe/generated/GetTheStatusOfAnOperationWhichIsStillRunningTests.java new file mode 100644 index 000000000000..a861d66a251a --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/src/test/java/com/azure/maps/stylerecipe/generated/GetTheStatusOfAnOperationWhichIsStillRunningTests.java @@ -0,0 +1,29 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.maps.stylerecipe.generated; + +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +public final class GetTheStatusOfAnOperationWhichIsStillRunningTests extends AzureMapsStyleServiceClientTestBase { + @Test + @Disabled + public void testGetTheStatusOfAnOperationWhichIsStillRunningTests() { + RequestOptions requestOptions = new RequestOptions(); + Response response = + azureMapsStyleServiceClient.getOperationWithResponse( + "8b1288fa-1958-4a2b-b68e-13a7i5af7d7c", requestOptions); + Assertions.assertEquals(200, response.getStatusCode()); + Assertions.assertEquals( + BinaryData.fromString( + "{\"operationId\":\"8b1288fa-1958-4a2b-b68e-13a7i5af7d7c\",\"created\":\"2021-04-23T19:14:03.2452596+00:00\",\"status\":\"Running\"}") + .toObject(Object.class), + response.getValue().toObject(Object.class)); + } +} diff --git a/sdk/maps/azure-maps-stylerecipe/src/test/java/com/azure/maps/stylerecipe/generated/ImportStyleRecipeByProvidingAAzureMapsOrMapboxStyleJsonFileTests.java b/sdk/maps/azure-maps-stylerecipe/src/test/java/com/azure/maps/stylerecipe/generated/ImportStyleRecipeByProvidingAAzureMapsOrMapboxStyleJsonFileTests.java new file mode 100644 index 000000000000..dc95d4be7e5f --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/src/test/java/com/azure/maps/stylerecipe/generated/ImportStyleRecipeByProvidingAAzureMapsOrMapboxStyleJsonFileTests.java @@ -0,0 +1,32 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.maps.stylerecipe.generated; + +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.util.BinaryData; +import com.azure.core.util.polling.LongRunningOperationStatus; +import com.azure.core.util.polling.SyncPoller; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +public final class ImportStyleRecipeByProvidingAAzureMapsOrMapboxStyleJsonFileTests + extends AzureMapsStyleServiceClientTestBase { + @Test + @Disabled + public void testImportStyleRecipeByProvidingAAzureMapsOrMapboxStyleJsonFileTests() { + BinaryData ImportContent = + BinaryData.fromString( + "{\"description\":\"Some optional description\",\"created\":\"2021-05-21T03:04:05.678Z\",\"id\":\"9c451b0a-6527-49a7-9154-1b3d9486487f\",\"layers\":[{\"type\":\"background\",\"id\":\"background\",\"layout\":{\"symbol-avoid-edges\":true,\"symbol-placement\":\"point\",\"text-anchor\":\"center\",\"text-field\":\"{name}\",\"text-font\":[\"SegoeUi-SemiBold\"],\"text-keep-upright\":true,\"text-letter-spacing\":0.1,\"text-size\":{\"stops\":[[18.5,6.5],[19,8],[19.5,9.5],[20,11]]},\"visibility\":\"none\"},\"maxzoom\":20,\"minzoom\":18,\"paint\":{\"text-color\":\"rgb(0, 0, 0)\",\"text-halo-blur\":0.5,\"text-halo-color\":\"rgb(255, 255, 255)\",\"text-halo-width\":1},\"source-layer\":\"bg-source\"}],\"sprite\":\"azuremaps://sprite/e33700db-127e-4ed0-bfec-7a1830eca06d\",\"version\":1}"); + RequestOptions requestOptions = new RequestOptions(); + requestOptions.addQueryParam("alias", "test-alias"); + requestOptions.addQueryParam("dataFormat", "JSON"); + requestOptions.addQueryParam("styleFormat", "mapbox"); + SyncPoller response = + azureMapsStyleServiceClient.beginImportMethod(ImportContent, requestOptions); + Assertions.assertEquals( + LongRunningOperationStatus.SUCCESSFULLY_COMPLETED, response.waitForCompletion().getStatus()); + } +} diff --git a/sdk/maps/azure-maps-stylerecipe/swagger/README_SPEC.md b/sdk/maps/azure-maps-stylerecipe/swagger/README_SPEC.md new file mode 100644 index 000000000000..bfa2fe7147c8 --- /dev/null +++ b/sdk/maps/azure-maps-stylerecipe/swagger/README_SPEC.md @@ -0,0 +1,30 @@ +## Generate autorest code + +```yaml +input-file: +- /mnt/vss/_work/1/s/azure-rest-api-specs/specification/maps/data-plane/Creator/preview/2022-01-01-preview/stylerecipe.json +output-folder: ../ +java: true +regenerate-pom: false +partial-update: true +model-override-setter-from-superclass: true +use-default-http-status-code-to-exception-type-mapping: true +generate-sync-async-clients: true +generate-client-as-impl: true +models-subpackage: implementation.models +generate-client-interfaces: false +generate-builder-per-client: true +add-context-parameter: true +generate-tests: true +artifact-id: azure-maps-stylerecipe +low-level-client: true +sync-methods: all +generate-samples: true +license-header: MICROSOFT_MIT_SMALL +client-logger: true +namespace: com.azure.maps.stylerecipe +context-client-method-parameter: true +azure-arm: false +service-versions: +- 2022-01-01-preview +``` diff --git a/sdk/maps/ci.yml b/sdk/maps/ci.yml index 874e551fbe28..8e74678bfb8f 100644 --- a/sdk/maps/ci.yml +++ b/sdk/maps/ci.yml @@ -35,3 +35,12 @@ extends: - name: azure-resourcemanager-maps groupId: com.azure.resourcemanager safeName: azureresourcemanagermaps + - name: azure-maps-stylerecipe + groupId: com.azure + safeName: azuremapsstylerecipe + - name: azure-maps-styleset + groupId: com.azure + safeName: azuremapsstyleset + - name: azure-maps-tileset + groupId: com.azure + safeName: azuremapstileset diff --git a/sdk/maps/pom.xml b/sdk/maps/pom.xml index d41c02faf8a0..2723b4590475 100644 --- a/sdk/maps/pom.xml +++ b/sdk/maps/pom.xml @@ -37,6 +37,9 @@ true + azure-maps-stylerecipe + azure-maps-styleset + azure-maps-tileset azure-resourcemanager-maps