diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt index e75e6b854f88..c126548ae108 100644 --- a/eng/versioning/version_client.txt +++ b/eng/versioning/version_client.txt @@ -266,6 +266,7 @@ com.azure.spring:spring-cloud-azure-stream-binder-servicebus-core;5.23.0;5.24.0- com.azure.spring:spring-cloud-azure-stream-binder-servicebus;5.23.0;5.24.0-beta.1 com.azure.spring:spring-cloud-azure-testcontainers;5.23.0;5.24.0-beta.1 com.azure:azure-spring-data-cosmos;5.23.0;5.24.0-beta.1 +com.azure:azure-planetarycomputer;1.0.0-beta.1;1.0.0-beta.1 com.azure.resourcemanager:azure-resourcemanager;2.53.1;2.54.0-beta.1 com.azure.resourcemanager:azure-resourcemanager-appplatform;2.50.4;2.51.0-beta.1 com.azure.resourcemanager:azure-resourcemanager-appservice;2.53.1;2.54.0-beta.1 diff --git a/sdk/planetarycomputer/azure-planetarycomputer/CHANGELOG.md b/sdk/planetarycomputer/azure-planetarycomputer/CHANGELOG.md new file mode 100644 index 000000000000..eea93a0ca923 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/CHANGELOG.md @@ -0,0 +1,16 @@ +# Release History + +## 1.0.0-beta.1 (Unreleased) + +- Azure PlanetaryComputer client library for Java. This package contains Microsoft Azure PlanetaryComputer client library. + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes +### Features Added + +- Initial release for the azure-planetarycomputer Java SDK. diff --git a/sdk/planetarycomputer/azure-planetarycomputer/README.md b/sdk/planetarycomputer/azure-planetarycomputer/README.md new file mode 100644 index 000000000000..e2a2374816a6 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/README.md @@ -0,0 +1,78 @@ +# Azure PlanetaryComputer client library for Java + +Azure PlanetaryComputer client library for Java. + +This package contains Microsoft Azure PlanetaryComputer 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-planetarycomputer;current}) +```xml + + com.azure + azure-planetarycomputer + 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.planetarycomputer.readme +``` + +### Service API versions + +The client library targets the latest service API version by default. +The service client builder accepts an optional service API version parameter to specify which API version to communicate. + +#### Select a service API version + +You have the flexibility to explicitly select a supported service API version when initializing a service client via the service client builder. +This ensures that the client can communicate with services using the specified API version. + +When selecting an API version, it is important to verify that there are no breaking changes compared to the latest API version. +If there are significant differences, API calls may fail due to incompatibility. + +Always ensure that the chosen API version is fully supported and operational for your specific use case and that it aligns with the service's versioning policy. + +## 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://learn.microsoft.com/azure/developer/java/fundamentals/ +[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/planetarycomputer/azure-planetarycomputer/assets.json b/sdk/planetarycomputer/azure-planetarycomputer/assets.json new file mode 100644 index 000000000000..2922ef646953 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/assets.json @@ -0,0 +1 @@ +{"AssetsRepo":"Azure/azure-sdk-assets","AssetsRepoPrefixPath":"java","TagPrefix":"java/planetarycomputer/azure-planetarycomputer","Tag":""} \ No newline at end of file diff --git a/sdk/planetarycomputer/azure-planetarycomputer/pom.xml b/sdk/planetarycomputer/azure-planetarycomputer/pom.xml new file mode 100644 index 000000000000..dc307e401880 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/pom.xml @@ -0,0 +1,71 @@ + + + 4.0.0 + + com.azure + azure-client-sdk-parent + 1.7.0 + ../../parents/azure-client-sdk-parent + + + com.azure + azure-planetarycomputer + 1.0.0-beta.1 + jar + + Microsoft Azure SDK for PlanetaryComputer + This package contains Microsoft Azure PlanetaryComputer 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 + + + + com.azure + azure-core + 1.55.5 + + + com.azure + azure-core-http-netty + 1.15.13 + + + com.azure + azure-core-test + 1.27.0-beta.10 + test + + + com.azure + azure-identity + 1.16.3 + test + + + diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/GeocatalogAsyncClient.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/GeocatalogAsyncClient.java new file mode 100644 index 000000000000..bffe6e224e87 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/GeocatalogAsyncClient.java @@ -0,0 +1,218 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +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.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.FluxUtil; +import com.azure.planetarycomputer.implementation.GeocatalogClientImpl; +import com.azure.planetarycomputer.models.AuthConfig; +import com.azure.planetarycomputer.models.AzMapsClientId; +import com.azure.planetarycomputer.models.AzMapsToken; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the asynchronous GeocatalogClient type. + */ +@ServiceClient(builder = GeocatalogClientBuilder.class, isAsync = true) +public final class GeocatalogAsyncClient { + @Generated + private final GeocatalogClientImpl serviceClient; + + /** + * Initializes an instance of GeocatalogAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + GeocatalogAsyncClient(GeocatalogClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Get Auth Config + * + * Get the app id and tenant id information to make a MSAL request for this + * GeoCatalog instance. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     authn_app_id: String (Required)
+     *     tenant_id: String (Required)
+     *     instance: String (Required)
+     *     redirect_uri: String (Optional)
+     * }
+     * }
+     * 
+ * + * @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 auth Config + * + * Get the app id and tenant id information to make a MSAL request for this + * GeoCatalog instance along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAuthConfigWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getAuthConfigWithResponseAsync(requestOptions); + } + + /** + * Get Azmaps Client Id + * + * Fetch the client id for the Azure Maps API service based on the current + * on the current identity. This client id is used for the Explorer to + * authenticate with the Azure Maps API service. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     client_id: String (Required)
+     * }
+     * }
+     * 
+ * + * @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 azmaps Client Id + * + * Fetch the client id for the Azure Maps API service based on the current + * on the current identity along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAzmapsClientIdWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getAzmapsClientIdWithResponseAsync(requestOptions); + } + + /** + * Get Azmaps Token + * + * Fetch a token for the Azure Maps API service based on the current + * service identity. This token is used for the Explorer to authenticate + * with the Azure Maps API service. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     token: String (Required)
+     *     expires_on: int (Required)
+     * }
+     * }
+     * 
+ * + * @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 azmaps Token + * + * Fetch a token for the Azure Maps API service based on the current + * service identity along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAzmapsTokenWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getAzmapsTokenWithResponseAsync(requestOptions); + } + + /** + * Get Auth Config + * + * Get the app id and tenant id information to make a MSAL request for this + * GeoCatalog instance. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return auth Config + * + * Get the app id and tenant id information to make a MSAL request for this + * GeoCatalog instance on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getAuthConfig() { + // Generated convenience method for getAuthConfigWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAuthConfigWithResponse(requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AuthConfig.class)); + } + + /** + * Get Azmaps Client Id + * + * Fetch the client id for the Azure Maps API service based on the current + * on the current identity. This client id is used for the Explorer to + * authenticate with the Azure Maps API service. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return azmaps Client Id + * + * Fetch the client id for the Azure Maps API service based on the current + * on the current identity on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getAzmapsClientId() { + // Generated convenience method for getAzmapsClientIdWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAzmapsClientIdWithResponse(requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AzMapsClientId.class)); + } + + /** + * Get Azmaps Token + * + * Fetch a token for the Azure Maps API service based on the current + * service identity. This token is used for the Explorer to authenticate + * with the Azure Maps API service. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return azmaps Token + * + * Fetch a token for the Azure Maps API service based on the current + * service identity on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getAzmapsToken() { + // Generated convenience method for getAzmapsTokenWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAzmapsTokenWithResponse(requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AzMapsToken.class)); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/GeocatalogClient.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/GeocatalogClient.java new file mode 100644 index 000000000000..acb048d3dcdd --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/GeocatalogClient.java @@ -0,0 +1,213 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +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.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.planetarycomputer.implementation.GeocatalogClientImpl; +import com.azure.planetarycomputer.models.AuthConfig; +import com.azure.planetarycomputer.models.AzMapsClientId; +import com.azure.planetarycomputer.models.AzMapsToken; + +/** + * Initializes a new instance of the synchronous GeocatalogClient type. + */ +@ServiceClient(builder = GeocatalogClientBuilder.class) +public final class GeocatalogClient { + @Generated + private final GeocatalogClientImpl serviceClient; + + /** + * Initializes an instance of GeocatalogClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + GeocatalogClient(GeocatalogClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Get Auth Config + * + * Get the app id and tenant id information to make a MSAL request for this + * GeoCatalog instance. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     authn_app_id: String (Required)
+     *     tenant_id: String (Required)
+     *     instance: String (Required)
+     *     redirect_uri: String (Optional)
+     * }
+     * }
+     * 
+ * + * @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 auth Config + * + * Get the app id and tenant id information to make a MSAL request for this + * GeoCatalog instance along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAuthConfigWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getAuthConfigWithResponse(requestOptions); + } + + /** + * Get Azmaps Client Id + * + * Fetch the client id for the Azure Maps API service based on the current + * on the current identity. This client id is used for the Explorer to + * authenticate with the Azure Maps API service. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     client_id: String (Required)
+     * }
+     * }
+     * 
+ * + * @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 azmaps Client Id + * + * Fetch the client id for the Azure Maps API service based on the current + * on the current identity along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAzmapsClientIdWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getAzmapsClientIdWithResponse(requestOptions); + } + + /** + * Get Azmaps Token + * + * Fetch a token for the Azure Maps API service based on the current + * service identity. This token is used for the Explorer to authenticate + * with the Azure Maps API service. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     token: String (Required)
+     *     expires_on: int (Required)
+     * }
+     * }
+     * 
+ * + * @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 azmaps Token + * + * Fetch a token for the Azure Maps API service based on the current + * service identity along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAzmapsTokenWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getAzmapsTokenWithResponse(requestOptions); + } + + /** + * Get Auth Config + * + * Get the app id and tenant id information to make a MSAL request for this + * GeoCatalog instance. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return auth Config + * + * Get the app id and tenant id information to make a MSAL request for this + * GeoCatalog instance. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AuthConfig getAuthConfig() { + // Generated convenience method for getAuthConfigWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAuthConfigWithResponse(requestOptions).getValue().toObject(AuthConfig.class); + } + + /** + * Get Azmaps Client Id + * + * Fetch the client id for the Azure Maps API service based on the current + * on the current identity. This client id is used for the Explorer to + * authenticate with the Azure Maps API service. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return azmaps Client Id + * + * Fetch the client id for the Azure Maps API service based on the current + * on the current identity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AzMapsClientId getAzmapsClientId() { + // Generated convenience method for getAzmapsClientIdWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAzmapsClientIdWithResponse(requestOptions).getValue().toObject(AzMapsClientId.class); + } + + /** + * Get Azmaps Token + * + * Fetch a token for the Azure Maps API service based on the current + * service identity. This token is used for the Explorer to authenticate + * with the Azure Maps API service. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return azmaps Token + * + * Fetch a token for the Azure Maps API service based on the current + * service identity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AzMapsToken getAzmapsToken() { + // Generated convenience method for getAzmapsTokenWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAzmapsTokenWithResponse(requestOptions).getValue().toObject(AzMapsToken.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/GeocatalogClientBuilder.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/GeocatalogClientBuilder.java new file mode 100644 index 000000000000..5a1b59eb7c32 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/GeocatalogClientBuilder.java @@ -0,0 +1,333 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ServiceClientBuilder; +import com.azure.core.client.traits.ConfigurationTrait; +import com.azure.core.client.traits.EndpointTrait; +import com.azure.core.client.traits.HttpTrait; +import com.azure.core.client.traits.TokenCredentialTrait; +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.AddDatePolicy; +import com.azure.core.http.policy.AddHeadersFromContextPolicy; +import com.azure.core.http.policy.AddHeadersPolicy; +import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; +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.RequestIdPolicy; +import com.azure.core.http.policy.RetryOptions; +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.builder.ClientBuilderUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.planetarycomputer.implementation.GeocatalogClientImpl; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** + * A builder for creating a new instance of the GeocatalogClient type. + */ +@ServiceClientBuilder(serviceClients = { GeocatalogClient.class, GeocatalogAsyncClient.class }) +public final class GeocatalogClientBuilder + implements HttpTrait, ConfigurationTrait, + TokenCredentialTrait, EndpointTrait { + @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://geocatalog.spatio.azure.com/.default" }; + + @Generated + private static final Map PROPERTIES = CoreUtils.getProperties("azure-planetarycomputer.properties"); + + @Generated + private final List pipelinePolicies; + + /** + * Create an instance of the GeocatalogClientBuilder. + */ + @Generated + public GeocatalogClientBuilder() { + this.pipelinePolicies = new ArrayList<>(); + } + + /* + * The HTTP client used to send the request. + */ + @Generated + private HttpClient httpClient; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public GeocatalogClientBuilder httpClient(HttpClient httpClient) { + this.httpClient = httpClient; + return this; + } + + /* + * The HTTP pipeline to send requests through. + */ + @Generated + private HttpPipeline pipeline; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public GeocatalogClientBuilder pipeline(HttpPipeline pipeline) { + if (this.pipeline != null && pipeline == null) { + LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured."); + } + this.pipeline = pipeline; + return this; + } + + /* + * The logging configuration for HTTP requests and responses. + */ + @Generated + private HttpLogOptions httpLogOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public GeocatalogClientBuilder httpLogOptions(HttpLogOptions httpLogOptions) { + this.httpLogOptions = httpLogOptions; + return this; + } + + /* + * The client options such as application ID and custom headers to set on a request. + */ + @Generated + private ClientOptions clientOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public GeocatalogClientBuilder clientOptions(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + return this; + } + + /* + * The retry options to configure retry policy for failed requests. + */ + @Generated + private RetryOptions retryOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public GeocatalogClientBuilder retryOptions(RetryOptions retryOptions) { + this.retryOptions = retryOptions; + return this; + } + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public GeocatalogClientBuilder addPolicy(HttpPipelinePolicy customPolicy) { + Objects.requireNonNull(customPolicy, "'customPolicy' cannot be null."); + pipelinePolicies.add(customPolicy); + return this; + } + + /* + * The configuration store that is used during construction of the service client. + */ + @Generated + private Configuration configuration; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public GeocatalogClientBuilder configuration(Configuration configuration) { + this.configuration = configuration; + return this; + } + + /* + * The TokenCredential used for authentication. + */ + @Generated + private TokenCredential tokenCredential; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public GeocatalogClientBuilder credential(TokenCredential tokenCredential) { + this.tokenCredential = tokenCredential; + return this; + } + + /* + * The service endpoint + */ + @Generated + private String endpoint; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public GeocatalogClientBuilder endpoint(String endpoint) { + this.endpoint = endpoint; + return this; + } + + /* + * Service version + */ + @Generated + private PlanetaryComputerServiceVersion serviceVersion; + + /** + * Sets Service version. + * + * @param serviceVersion the serviceVersion value. + * @return the GeocatalogClientBuilder. + */ + @Generated + public GeocatalogClientBuilder serviceVersion(PlanetaryComputerServiceVersion serviceVersion) { + this.serviceVersion = serviceVersion; + 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 GeocatalogClientBuilder. + */ + @Generated + public GeocatalogClientBuilder retryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = retryPolicy; + return this; + } + + /** + * Builds an instance of GeocatalogClientImpl with the provided parameters. + * + * @return an instance of GeocatalogClientImpl. + */ + @Generated + private GeocatalogClientImpl buildInnerClient() { + this.validateClient(); + HttpPipeline localPipeline = (pipeline != null) ? pipeline : createHttpPipeline(); + PlanetaryComputerServiceVersion localServiceVersion + = (serviceVersion != null) ? serviceVersion : PlanetaryComputerServiceVersion.getLatest(); + GeocatalogClientImpl client = new GeocatalogClientImpl(localPipeline, + JacksonAdapter.createDefaultSerializerAdapter(), this.endpoint, localServiceVersion); + return client; + } + + @Generated + private void validateClient() { + // This method is invoked from 'buildInnerClient'/'buildClient' method. + // Developer can customize this method, to validate that the necessary conditions are met for the new client. + Objects.requireNonNull(endpoint, "'endpoint' cannot be null."); + } + + @Generated + private HttpPipeline createHttpPipeline() { + Configuration buildConfiguration + = (configuration == null) ? Configuration.getGlobalConfiguration() : configuration; + HttpLogOptions localHttpLogOptions = this.httpLogOptions == null ? new HttpLogOptions() : this.httpLogOptions; + ClientOptions localClientOptions = this.clientOptions == null ? new ClientOptions() : this.clientOptions; + List policies = new ArrayList<>(); + String clientName = PROPERTIES.getOrDefault(SDK_NAME, "UnknownName"); + String clientVersion = PROPERTIES.getOrDefault(SDK_VERSION, "UnknownVersion"); + String applicationId = CoreUtils.getApplicationId(localClientOptions, localHttpLogOptions); + policies.add(new UserAgentPolicy(applicationId, clientName, clientVersion, buildConfiguration)); + policies.add(new RequestIdPolicy()); + policies.add(new AddHeadersFromContextPolicy()); + HttpHeaders headers = CoreUtils.createHttpHeadersFromClientOptions(localClientOptions); + if (headers != null) { + policies.add(new AddHeadersPolicy(headers)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addBeforeRetryPolicies(policies); + policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy())); + policies.add(new AddDatePolicy()); + if (tokenCredential != null) { + policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addAfterRetryPolicies(policies); + policies.add(new HttpLoggingPolicy(localHttpLogOptions)); + HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0])) + .httpClient(httpClient) + .clientOptions(localClientOptions) + .build(); + return httpPipeline; + } + + /** + * Builds an instance of GeocatalogAsyncClient class. + * + * @return an instance of GeocatalogAsyncClient. + */ + @Generated + public GeocatalogAsyncClient buildAsyncClient() { + return new GeocatalogAsyncClient(buildInnerClient()); + } + + /** + * Builds an instance of GeocatalogClient class. + * + * @return an instance of GeocatalogClient. + */ + @Generated + public GeocatalogClient buildClient() { + return new GeocatalogClient(buildInnerClient()); + } + + private static final ClientLogger LOGGER = new ClientLogger(GeocatalogClientBuilder.class); +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/ImageExportsAsyncClient.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/ImageExportsAsyncClient.java new file mode 100644 index 000000000000..5810953947f9 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/ImageExportsAsyncClient.java @@ -0,0 +1,175 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +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.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.FluxUtil; +import com.azure.planetarycomputer.implementation.ImageExportsClientImpl; +import com.azure.planetarycomputer.models.ImageRequest; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the asynchronous ImageExportsClient type. + */ +@ServiceClient(builder = ImageExportsClientBuilder.class, isAsync = true) +public final class ImageExportsAsyncClient { + @Generated + private final ImageExportsClientImpl serviceClient; + + /** + * Initializes an instance of ImageExportsAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + ImageExportsAsyncClient(ImageExportsClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Create Static Image + * + * Create a new image export. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     cql (Required): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     geometry (Optional): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     render_params: String (Required)
+     *     cols: int (Required)
+     *     rows: int (Required)
+     *     format: String(png/cog) (Optional)
+     *     showBranding: Boolean (Optional)
+     *     mask: Boolean (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection ID. + * @param accept The accept parameter. + * @param body Image request body. + * @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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createStaticImageWithResponse(String collectionId, String accept, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.createStaticImageWithResponseAsync(collectionId, accept, body, requestOptions); + } + + /** + * Get Static Image + * + * Fetch an existing image export by ID. + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection ID. + * @param id Image export 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 static Image + * + * Fetch an existing image export by ID along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getStaticImageWithResponse(String collectionId, String id, + RequestOptions requestOptions) { + return this.serviceClient.getStaticImageWithResponseAsync(collectionId, id, requestOptions); + } + + /** + * Create Static Image + * + * Create a new image export. + * + * @param collectionId STAC Collection ID. + * @param accept The accept parameter. + * @param body Image request body. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createStaticImage(String collectionId, String accept, ImageRequest body) { + // Generated convenience method for createStaticImageWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createStaticImageWithResponse(collectionId, accept, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Get Static Image + * + * Fetch an existing image export by ID. + * + * @param collectionId STAC Collection ID. + * @param id Image export ID. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return static Image + * + * Fetch an existing image export by ID on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getStaticImage(String collectionId, String id) { + // Generated convenience method for getStaticImageWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getStaticImageWithResponse(collectionId, id, requestOptions).flatMap(FluxUtil::toMono); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/ImageExportsClient.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/ImageExportsClient.java new file mode 100644 index 000000000000..3dfb82abd178 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/ImageExportsClient.java @@ -0,0 +1,173 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +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.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.planetarycomputer.implementation.ImageExportsClientImpl; +import com.azure.planetarycomputer.models.ImageRequest; + +/** + * Initializes a new instance of the synchronous ImageExportsClient type. + */ +@ServiceClient(builder = ImageExportsClientBuilder.class) +public final class ImageExportsClient { + @Generated + private final ImageExportsClientImpl serviceClient; + + /** + * Initializes an instance of ImageExportsClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + ImageExportsClient(ImageExportsClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Create Static Image + * + * Create a new image export. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     cql (Required): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     geometry (Optional): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     render_params: String (Required)
+     *     cols: int (Required)
+     *     rows: int (Required)
+     *     format: String(png/cog) (Optional)
+     *     showBranding: Boolean (Optional)
+     *     mask: Boolean (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection ID. + * @param accept The accept parameter. + * @param body Image request body. + * @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 body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createStaticImageWithResponse(String collectionId, String accept, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.createStaticImageWithResponse(collectionId, accept, body, requestOptions); + } + + /** + * Get Static Image + * + * Fetch an existing image export by ID. + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection ID. + * @param id Image export 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 static Image + * + * Fetch an existing image export by ID along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getStaticImageWithResponse(String collectionId, String id, + RequestOptions requestOptions) { + return this.serviceClient.getStaticImageWithResponse(collectionId, id, requestOptions); + } + + /** + * Create Static Image + * + * Create a new image export. + * + * @param collectionId STAC Collection ID. + * @param accept The accept parameter. + * @param body Image request body. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData createStaticImage(String collectionId, String accept, ImageRequest body) { + // Generated convenience method for createStaticImageWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createStaticImageWithResponse(collectionId, accept, BinaryData.fromObject(body), requestOptions) + .getValue(); + } + + /** + * Get Static Image + * + * Fetch an existing image export by ID. + * + * @param collectionId STAC Collection ID. + * @param id Image export ID. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return static Image + * + * Fetch an existing image export by ID. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData getStaticImage(String collectionId, String id) { + // Generated convenience method for getStaticImageWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getStaticImageWithResponse(collectionId, id, requestOptions).getValue(); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/ImageExportsClientBuilder.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/ImageExportsClientBuilder.java new file mode 100644 index 000000000000..c46ef6f6a376 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/ImageExportsClientBuilder.java @@ -0,0 +1,333 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ServiceClientBuilder; +import com.azure.core.client.traits.ConfigurationTrait; +import com.azure.core.client.traits.EndpointTrait; +import com.azure.core.client.traits.HttpTrait; +import com.azure.core.client.traits.TokenCredentialTrait; +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.AddDatePolicy; +import com.azure.core.http.policy.AddHeadersFromContextPolicy; +import com.azure.core.http.policy.AddHeadersPolicy; +import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; +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.RequestIdPolicy; +import com.azure.core.http.policy.RetryOptions; +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.builder.ClientBuilderUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.planetarycomputer.implementation.ImageExportsClientImpl; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** + * A builder for creating a new instance of the ImageExportsClient type. + */ +@ServiceClientBuilder(serviceClients = { ImageExportsClient.class, ImageExportsAsyncClient.class }) +public final class ImageExportsClientBuilder + implements HttpTrait, ConfigurationTrait, + TokenCredentialTrait, EndpointTrait { + @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://geocatalog.spatio.azure.com/.default" }; + + @Generated + private static final Map PROPERTIES = CoreUtils.getProperties("azure-planetarycomputer.properties"); + + @Generated + private final List pipelinePolicies; + + /** + * Create an instance of the ImageExportsClientBuilder. + */ + @Generated + public ImageExportsClientBuilder() { + this.pipelinePolicies = new ArrayList<>(); + } + + /* + * The HTTP client used to send the request. + */ + @Generated + private HttpClient httpClient; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public ImageExportsClientBuilder httpClient(HttpClient httpClient) { + this.httpClient = httpClient; + return this; + } + + /* + * The HTTP pipeline to send requests through. + */ + @Generated + private HttpPipeline pipeline; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public ImageExportsClientBuilder pipeline(HttpPipeline pipeline) { + if (this.pipeline != null && pipeline == null) { + LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured."); + } + this.pipeline = pipeline; + return this; + } + + /* + * The logging configuration for HTTP requests and responses. + */ + @Generated + private HttpLogOptions httpLogOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public ImageExportsClientBuilder httpLogOptions(HttpLogOptions httpLogOptions) { + this.httpLogOptions = httpLogOptions; + return this; + } + + /* + * The client options such as application ID and custom headers to set on a request. + */ + @Generated + private ClientOptions clientOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public ImageExportsClientBuilder clientOptions(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + return this; + } + + /* + * The retry options to configure retry policy for failed requests. + */ + @Generated + private RetryOptions retryOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public ImageExportsClientBuilder retryOptions(RetryOptions retryOptions) { + this.retryOptions = retryOptions; + return this; + } + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public ImageExportsClientBuilder addPolicy(HttpPipelinePolicy customPolicy) { + Objects.requireNonNull(customPolicy, "'customPolicy' cannot be null."); + pipelinePolicies.add(customPolicy); + return this; + } + + /* + * The configuration store that is used during construction of the service client. + */ + @Generated + private Configuration configuration; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public ImageExportsClientBuilder configuration(Configuration configuration) { + this.configuration = configuration; + return this; + } + + /* + * The TokenCredential used for authentication. + */ + @Generated + private TokenCredential tokenCredential; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public ImageExportsClientBuilder credential(TokenCredential tokenCredential) { + this.tokenCredential = tokenCredential; + return this; + } + + /* + * The service endpoint + */ + @Generated + private String endpoint; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public ImageExportsClientBuilder endpoint(String endpoint) { + this.endpoint = endpoint; + return this; + } + + /* + * Service version + */ + @Generated + private PlanetaryComputerServiceVersion serviceVersion; + + /** + * Sets Service version. + * + * @param serviceVersion the serviceVersion value. + * @return the ImageExportsClientBuilder. + */ + @Generated + public ImageExportsClientBuilder serviceVersion(PlanetaryComputerServiceVersion serviceVersion) { + this.serviceVersion = serviceVersion; + 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 ImageExportsClientBuilder. + */ + @Generated + public ImageExportsClientBuilder retryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = retryPolicy; + return this; + } + + /** + * Builds an instance of ImageExportsClientImpl with the provided parameters. + * + * @return an instance of ImageExportsClientImpl. + */ + @Generated + private ImageExportsClientImpl buildInnerClient() { + this.validateClient(); + HttpPipeline localPipeline = (pipeline != null) ? pipeline : createHttpPipeline(); + PlanetaryComputerServiceVersion localServiceVersion + = (serviceVersion != null) ? serviceVersion : PlanetaryComputerServiceVersion.getLatest(); + ImageExportsClientImpl client = new ImageExportsClientImpl(localPipeline, + JacksonAdapter.createDefaultSerializerAdapter(), this.endpoint, localServiceVersion); + return client; + } + + @Generated + private void validateClient() { + // This method is invoked from 'buildInnerClient'/'buildClient' method. + // Developer can customize this method, to validate that the necessary conditions are met for the new client. + Objects.requireNonNull(endpoint, "'endpoint' cannot be null."); + } + + @Generated + private HttpPipeline createHttpPipeline() { + Configuration buildConfiguration + = (configuration == null) ? Configuration.getGlobalConfiguration() : configuration; + HttpLogOptions localHttpLogOptions = this.httpLogOptions == null ? new HttpLogOptions() : this.httpLogOptions; + ClientOptions localClientOptions = this.clientOptions == null ? new ClientOptions() : this.clientOptions; + List policies = new ArrayList<>(); + String clientName = PROPERTIES.getOrDefault(SDK_NAME, "UnknownName"); + String clientVersion = PROPERTIES.getOrDefault(SDK_VERSION, "UnknownVersion"); + String applicationId = CoreUtils.getApplicationId(localClientOptions, localHttpLogOptions); + policies.add(new UserAgentPolicy(applicationId, clientName, clientVersion, buildConfiguration)); + policies.add(new RequestIdPolicy()); + policies.add(new AddHeadersFromContextPolicy()); + HttpHeaders headers = CoreUtils.createHttpHeadersFromClientOptions(localClientOptions); + if (headers != null) { + policies.add(new AddHeadersPolicy(headers)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addBeforeRetryPolicies(policies); + policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy())); + policies.add(new AddDatePolicy()); + if (tokenCredential != null) { + policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addAfterRetryPolicies(policies); + policies.add(new HttpLoggingPolicy(localHttpLogOptions)); + HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0])) + .httpClient(httpClient) + .clientOptions(localClientOptions) + .build(); + return httpPipeline; + } + + /** + * Builds an instance of ImageExportsAsyncClient class. + * + * @return an instance of ImageExportsAsyncClient. + */ + @Generated + public ImageExportsAsyncClient buildAsyncClient() { + return new ImageExportsAsyncClient(buildInnerClient()); + } + + /** + * Builds an instance of ImageExportsClient class. + * + * @return an instance of ImageExportsClient. + */ + @Generated + public ImageExportsClient buildClient() { + return new ImageExportsClient(buildInnerClient()); + } + + private static final ClientLogger LOGGER = new ClientLogger(ImageExportsClientBuilder.class); +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/IngestionManagementAsyncClient.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/IngestionManagementAsyncClient.java new file mode 100644 index 000000000000..41f5d3e548e5 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/IngestionManagementAsyncClient.java @@ -0,0 +1,931 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +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.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.polling.PollerFlux; +import com.azure.planetarycomputer.com.azure.planetarycomputer.ingestionruns.models.IngestionRun; +import com.azure.planetarycomputer.com.azure.planetarycomputer.ingestionruns.models.IngestionRunsPagedResponse; +import com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionDefinition; +import com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionDefinitionsPagedResponse; +import com.azure.planetarycomputer.implementation.IngestionManagementClientImpl; +import com.azure.planetarycomputer.models.Operation; +import com.azure.planetarycomputer.models.OperationStatus; +import com.azure.planetarycomputer.models.OperationsPagedResponse; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the asynchronous IngestionManagementClient type. + */ +@ServiceClient(builder = IngestionManagementClientBuilder.class, isAsync = true) +public final class IngestionManagementAsyncClient { + @Generated + private final IngestionManagementClientImpl serviceClient; + + /** + * Initializes an instance of IngestionManagementAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + IngestionManagementAsyncClient(IngestionManagementClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Get ingestions of a catalog. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
$topLongNoThe number of items to return
$skipLongNoThe number of items to skip
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     value (Required): [
+     *          (Required){
+     *             id: String (Required)
+     *             importType: String(StaticCatalog) (Optional, Required on create)
+     *             displayName: String (Optional)
+     *             sourceCatalogUrl: String (Optional)
+     *             skipExistingItems: Boolean (Optional)
+     *             keepOriginalAssets: Boolean (Optional)
+     *             creationTime: OffsetDateTime (Required)
+     *             status: String(Ready/Deleting) (Required)
+     *         }
+     *     ]
+     *     nextLink: String (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection 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 ingestions of a catalog along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getIngestionsWithResponse(String collectionId, RequestOptions requestOptions) { + return this.serviceClient.getIngestionsWithResponseAsync(collectionId, requestOptions); + } + + /** + * Create a new ingestion. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     importType: String(StaticCatalog) (Optional, Required on create)
+     *     displayName: String (Optional)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     *     creationTime: OffsetDateTime (Required)
+     *     status: String(Ready/Deleting) (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     importType: String(StaticCatalog) (Optional, Required on create)
+     *     displayName: String (Optional)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     *     creationTime: OffsetDateTime (Required)
+     *     status: String(Ready/Deleting) (Required)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param definition Definition of the ingestion. + * @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 microsoft Planetary Computer Pro geo-catalog ingestion creation model along with {@link Response} on + * successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createIngestionWithResponse(String collectionId, BinaryData definition, + RequestOptions requestOptions) { + return this.serviceClient.createIngestionWithResponseAsync(collectionId, definition, requestOptions); + } + + /** + * Get the definition of an ingestion. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     importType: String(StaticCatalog) (Optional, Required on create)
+     *     displayName: String (Optional)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     *     creationTime: OffsetDateTime (Required)
+     *     status: String(Ready/Deleting) (Required)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion 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 definition of an ingestion along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getIngestionWithResponse(String collectionId, String ingestionId, + RequestOptions requestOptions) { + return this.serviceClient.getIngestionWithResponseAsync(collectionId, ingestionId, requestOptions); + } + + /** + * Update an existing ingestion. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     importType: String(StaticCatalog) (Optional, Required on create)
+     *     displayName: String (Optional)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     *     creationTime: OffsetDateTime (Required)
+     *     status: String(Ready/Deleting) (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     importType: String(StaticCatalog) (Optional, Required on create)
+     *     displayName: String (Optional)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     *     creationTime: OffsetDateTime (Required)
+     *     status: String(Ready/Deleting) (Required)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion id. + * @param definition Ingestion properties to update. + * @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 microsoft Planetary Computer Pro geo-catalog ingestion creation model along with {@link Response} on + * successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateIngestionWithResponse(String collectionId, String ingestionId, + BinaryData definition, RequestOptions requestOptions) { + return this.serviceClient.updateIngestionWithResponseAsync(collectionId, ingestionId, definition, + requestOptions); + } + + /** + * Delete an ingestion from a catalog. All runs of the ingestion will be deleted. Ingestion must not have any runs + * in progress or queued. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion 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 PollerFlux} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginDeleteIngestion(String collectionId, String ingestionId, + RequestOptions requestOptions) { + return this.serviceClient.beginDeleteIngestionAsync(collectionId, ingestionId, requestOptions); + } + + /** + * Get the runs of an ingestion. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
$topLongNoThe number of items to return
$skipLongNoThe number of items to skip
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     value (Required): [
+     *          (Required){
+     *             id: String (Required)
+     *             parentRunId: String (Optional)
+     *             operation (Required): {
+     *                 id: String (Required)
+     *                 status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *                 creationTime: OffsetDateTime (Required)
+     *                 statusHistory (Required): [
+     *                      (Required){
+     *                         timestamp: OffsetDateTime (Required)
+     *                         status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *                         errorCode: String (Optional)
+     *                         errorMessage: String (Optional)
+     *                     }
+     *                 ]
+     *                 startTime: OffsetDateTime (Optional)
+     *                 finishTime: OffsetDateTime (Optional)
+     *                 totalItems: int (Required)
+     *                 totalPendingItems: int (Required)
+     *                 totalSuccessfulItems: int (Required)
+     *                 totalFailedItems: int (Required)
+     *             }
+     *             creationTime: OffsetDateTime (Required)
+     *             sourceCatalogUrl: String (Optional)
+     *             skipExistingItems: Boolean (Optional)
+     *             keepOriginalAssets: Boolean (Optional)
+     *         }
+     *     ]
+     *     nextLink: String (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion 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 runs of an ingestion along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getIngestionRunsWithResponse(String collectionId, String ingestionId, + RequestOptions requestOptions) { + return this.serviceClient.getIngestionRunsWithResponseAsync(collectionId, ingestionId, requestOptions); + } + + /** + * Create a new run of an ingestion. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     parentRunId: String (Optional)
+     *     operation (Required): {
+     *         id: String (Required)
+     *         status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *         creationTime: OffsetDateTime (Required)
+     *         statusHistory (Required): [
+     *              (Required){
+     *                 timestamp: OffsetDateTime (Required)
+     *                 status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *                 errorCode: String (Optional)
+     *                 errorMessage: String (Optional)
+     *             }
+     *         ]
+     *         startTime: OffsetDateTime (Optional)
+     *         finishTime: OffsetDateTime (Optional)
+     *         totalItems: int (Required)
+     *         totalPendingItems: int (Required)
+     *         totalSuccessfulItems: int (Required)
+     *         totalFailedItems: int (Required)
+     *     }
+     *     creationTime: OffsetDateTime (Required)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion 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 microsoft Planetary Computer Pro geo-catalog ingestion run along with {@link Response} on successful + * completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createIngestionRunWithResponse(String collectionId, String ingestionId, + RequestOptions requestOptions) { + return this.serviceClient.createIngestionRunWithResponseAsync(collectionId, ingestionId, requestOptions); + } + + /** + * Get a run of an ingestion. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     parentRunId: String (Optional)
+     *     operation (Required): {
+     *         id: String (Required)
+     *         status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *         creationTime: OffsetDateTime (Required)
+     *         statusHistory (Required): [
+     *              (Required){
+     *                 timestamp: OffsetDateTime (Required)
+     *                 status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *                 errorCode: String (Optional)
+     *                 errorMessage: String (Optional)
+     *             }
+     *         ]
+     *         startTime: OffsetDateTime (Optional)
+     *         finishTime: OffsetDateTime (Optional)
+     *         totalItems: int (Required)
+     *         totalPendingItems: int (Required)
+     *         totalSuccessfulItems: int (Required)
+     *         totalFailedItems: int (Required)
+     *     }
+     *     creationTime: OffsetDateTime (Required)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion id. + * @param runId Run 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 a run of an ingestion along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getIngestionRunWithResponse(String collectionId, String ingestionId, String runId, + RequestOptions requestOptions) { + return this.serviceClient.getIngestionRunWithResponseAsync(collectionId, ingestionId, runId, requestOptions); + } + + /** + * Get operations of a geo-catalog collection. + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
$topLongNoThe number of items to return
$skipLongNoThe number of items to skip
collectionIdStringNoOperation id used to filter the results
statusStringNoOperation status used to filter the results. Allowed values: + * "Pending", "Running", "Succeeded", "Canceled", "Canceling", "Failed".
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     value (Required): [
+     *          (Required){
+     *             id: String (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             type: String (Required)
+     *             creationTime: OffsetDateTime (Required)
+     *             collectionId: String (Optional)
+     *             statusHistory (Required): [
+     *                  (Required){
+     *                     timestamp: OffsetDateTime (Required)
+     *                     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *                     errorCode: String (Optional)
+     *                     errorMessage: String (Optional)
+     *                 }
+     *             ]
+     *             startTime: OffsetDateTime (Optional)
+     *             finishTime: OffsetDateTime (Optional)
+     *             additionalInformation (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             error (Optional): {
+     *                 error (Required): (recursive schema, see error above)
+     *             }
+     *         }
+     *     ]
+     *     nextLink: String (Optional)
+     * }
+     * }
+     * 
+ * + * @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 operations of a geo-catalog collection along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getIngestionOperationsWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getIngestionOperationsWithResponseAsync(requestOptions); + } + + /** + * Cancel all running operations of a geo-catalog collection. + * + * @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> deleteAllIngestionOperationsWithResponse(RequestOptions requestOptions) { + return this.serviceClient.deleteAllIngestionOperationsWithResponseAsync(requestOptions); + } + + /** + * Get an operation of a geo-catalog collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param operationId Operation 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 an operation of a geo-catalog collection along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getIngestionOperationWithResponse(String operationId, + RequestOptions requestOptions) { + return this.serviceClient.getIngestionOperationWithResponseAsync(operationId, requestOptions); + } + + /** + * Cancel a running operation of a geo-catalog collection. + * + * @param operationId Operation 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> deleteIngestionOperationWithResponse(String operationId, + RequestOptions requestOptions) { + return this.serviceClient.deleteIngestionOperationWithResponseAsync(operationId, requestOptions); + } + + /** + * Get ingestions of a catalog. + * + * @param collectionId Catalog collection id. + * @param top The number of items to return. + * @param skip The number of items to skip. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return ingestions of a catalog on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getIngestions(String collectionId, Long top, Long skip) { + // Generated convenience method for getIngestionsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (top != null) { + requestOptions.addQueryParam("$top", String.valueOf(top), false); + } + if (skip != null) { + requestOptions.addQueryParam("$skip", String.valueOf(skip), false); + } + return getIngestionsWithResponse(collectionId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(IngestionDefinitionsPagedResponse.class)); + } + + /** + * Get ingestions of a catalog. + * + * @param collectionId Catalog collection id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return ingestions of a catalog on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getIngestions(String collectionId) { + // Generated convenience method for getIngestionsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getIngestionsWithResponse(collectionId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(IngestionDefinitionsPagedResponse.class)); + } + + /** + * Create a new ingestion. + * + * @param collectionId Catalog collection id. + * @param definition Definition of the ingestion. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return microsoft Planetary Computer Pro geo-catalog ingestion creation model on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createIngestion(String collectionId, IngestionDefinition definition) { + // Generated convenience method for createIngestionWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createIngestionWithResponse(collectionId, BinaryData.fromObject(definition), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(IngestionDefinition.class)); + } + + /** + * Get the definition of an ingestion. + * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the definition of an ingestion on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getIngestion(String collectionId, String ingestionId) { + // Generated convenience method for getIngestionWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getIngestionWithResponse(collectionId, ingestionId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(IngestionDefinition.class)); + } + + /** + * Delete an ingestion from a catalog. All runs of the ingestion will be deleted. Ingestion must not have any runs + * in progress or queued. + * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link PollerFlux} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginDeleteIngestion(String collectionId, String ingestionId) { + // Generated convenience method for beginDeleteIngestionWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginDeleteIngestionWithModelAsync(collectionId, ingestionId, requestOptions); + } + + /** + * Get the runs of an ingestion. + * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion id. + * @param top The number of items to return. + * @param skip The number of items to skip. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the runs of an ingestion on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getIngestionRuns(String collectionId, String ingestionId, Long top, + Long skip) { + // Generated convenience method for getIngestionRunsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (top != null) { + requestOptions.addQueryParam("$top", String.valueOf(top), false); + } + if (skip != null) { + requestOptions.addQueryParam("$skip", String.valueOf(skip), false); + } + return getIngestionRunsWithResponse(collectionId, ingestionId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(IngestionRunsPagedResponse.class)); + } + + /** + * Get the runs of an ingestion. + * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the runs of an ingestion on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getIngestionRuns(String collectionId, String ingestionId) { + // Generated convenience method for getIngestionRunsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getIngestionRunsWithResponse(collectionId, ingestionId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(IngestionRunsPagedResponse.class)); + } + + /** + * Create a new run of an ingestion. + * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return microsoft Planetary Computer Pro geo-catalog ingestion run on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createIngestionRun(String collectionId, String ingestionId) { + // Generated convenience method for createIngestionRunWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createIngestionRunWithResponse(collectionId, ingestionId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(IngestionRun.class)); + } + + /** + * Get a run of an ingestion. + * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion id. + * @param runId Run id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a run of an ingestion on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getIngestionRun(String collectionId, String ingestionId, String runId) { + // Generated convenience method for getIngestionRunWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getIngestionRunWithResponse(collectionId, ingestionId, runId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(IngestionRun.class)); + } + + /** + * Get operations of a geo-catalog collection. + * + * @param top The number of items to return. + * @param skip The number of items to skip. + * @param collectionId Operation id used to filter the results. + * @param status Operation status used to filter the results. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return operations of a geo-catalog collection on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getIngestionOperations(Long top, Long skip, String collectionId, + OperationStatus status) { + // Generated convenience method for getIngestionOperationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (top != null) { + requestOptions.addQueryParam("$top", String.valueOf(top), false); + } + if (skip != null) { + requestOptions.addQueryParam("$skip", String.valueOf(skip), false); + } + if (collectionId != null) { + requestOptions.addQueryParam("collectionId", collectionId, false); + } + if (status != null) { + requestOptions.addQueryParam("status", status.toString(), false); + } + return getIngestionOperationsWithResponse(requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(OperationsPagedResponse.class)); + } + + /** + * Get operations of a geo-catalog collection. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return operations of a geo-catalog collection on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getIngestionOperations() { + // Generated convenience method for getIngestionOperationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getIngestionOperationsWithResponse(requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(OperationsPagedResponse.class)); + } + + /** + * Cancel all running operations of a geo-catalog collection. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono deleteAllIngestionOperations() { + // Generated convenience method for deleteAllIngestionOperationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteAllIngestionOperationsWithResponse(requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Get an operation of a geo-catalog collection. + * + * @param operationId Operation id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an operation of a geo-catalog collection on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getIngestionOperation(String operationId) { + // Generated convenience method for getIngestionOperationWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getIngestionOperationWithResponse(operationId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(Operation.class)); + } + + /** + * Cancel a running operation of a geo-catalog collection. + * + * @param operationId Operation id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono deleteIngestionOperation(String operationId) { + // Generated convenience method for deleteIngestionOperationWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteIngestionOperationWithResponse(operationId, requestOptions).flatMap(FluxUtil::toMono); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/IngestionManagementClient.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/IngestionManagementClient.java new file mode 100644 index 000000000000..e6aa1a4bea70 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/IngestionManagementClient.java @@ -0,0 +1,913 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +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.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.polling.SyncPoller; +import com.azure.planetarycomputer.com.azure.planetarycomputer.ingestionruns.models.IngestionRun; +import com.azure.planetarycomputer.com.azure.planetarycomputer.ingestionruns.models.IngestionRunsPagedResponse; +import com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionDefinition; +import com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionDefinitionsPagedResponse; +import com.azure.planetarycomputer.implementation.IngestionManagementClientImpl; +import com.azure.planetarycomputer.models.Operation; +import com.azure.planetarycomputer.models.OperationStatus; +import com.azure.planetarycomputer.models.OperationsPagedResponse; + +/** + * Initializes a new instance of the synchronous IngestionManagementClient type. + */ +@ServiceClient(builder = IngestionManagementClientBuilder.class) +public final class IngestionManagementClient { + @Generated + private final IngestionManagementClientImpl serviceClient; + + /** + * Initializes an instance of IngestionManagementClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + IngestionManagementClient(IngestionManagementClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Get ingestions of a catalog. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
$topLongNoThe number of items to return
$skipLongNoThe number of items to skip
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     value (Required): [
+     *          (Required){
+     *             id: String (Required)
+     *             importType: String(StaticCatalog) (Optional, Required on create)
+     *             displayName: String (Optional)
+     *             sourceCatalogUrl: String (Optional)
+     *             skipExistingItems: Boolean (Optional)
+     *             keepOriginalAssets: Boolean (Optional)
+     *             creationTime: OffsetDateTime (Required)
+     *             status: String(Ready/Deleting) (Required)
+     *         }
+     *     ]
+     *     nextLink: String (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection 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 ingestions of a catalog along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getIngestionsWithResponse(String collectionId, RequestOptions requestOptions) { + return this.serviceClient.getIngestionsWithResponse(collectionId, requestOptions); + } + + /** + * Create a new ingestion. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     importType: String(StaticCatalog) (Optional, Required on create)
+     *     displayName: String (Optional)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     *     creationTime: OffsetDateTime (Required)
+     *     status: String(Ready/Deleting) (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     importType: String(StaticCatalog) (Optional, Required on create)
+     *     displayName: String (Optional)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     *     creationTime: OffsetDateTime (Required)
+     *     status: String(Ready/Deleting) (Required)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param definition Definition of the ingestion. + * @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 microsoft Planetary Computer Pro geo-catalog ingestion creation model along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createIngestionWithResponse(String collectionId, BinaryData definition, + RequestOptions requestOptions) { + return this.serviceClient.createIngestionWithResponse(collectionId, definition, requestOptions); + } + + /** + * Get the definition of an ingestion. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     importType: String(StaticCatalog) (Optional, Required on create)
+     *     displayName: String (Optional)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     *     creationTime: OffsetDateTime (Required)
+     *     status: String(Ready/Deleting) (Required)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion 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 definition of an ingestion along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getIngestionWithResponse(String collectionId, String ingestionId, + RequestOptions requestOptions) { + return this.serviceClient.getIngestionWithResponse(collectionId, ingestionId, requestOptions); + } + + /** + * Update an existing ingestion. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     importType: String(StaticCatalog) (Optional, Required on create)
+     *     displayName: String (Optional)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     *     creationTime: OffsetDateTime (Required)
+     *     status: String(Ready/Deleting) (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     importType: String(StaticCatalog) (Optional, Required on create)
+     *     displayName: String (Optional)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     *     creationTime: OffsetDateTime (Required)
+     *     status: String(Ready/Deleting) (Required)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion id. + * @param definition Ingestion properties to update. + * @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 microsoft Planetary Computer Pro geo-catalog ingestion creation model along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateIngestionWithResponse(String collectionId, String ingestionId, + BinaryData definition, RequestOptions requestOptions) { + return this.serviceClient.updateIngestionWithResponse(collectionId, ingestionId, definition, requestOptions); + } + + /** + * Delete an ingestion from a catalog. All runs of the ingestion will be deleted. Ingestion must not have any runs + * in progress or queued. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion 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 SyncPoller} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginDeleteIngestion(String collectionId, String ingestionId, + RequestOptions requestOptions) { + return this.serviceClient.beginDeleteIngestion(collectionId, ingestionId, requestOptions); + } + + /** + * Get the runs of an ingestion. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
$topLongNoThe number of items to return
$skipLongNoThe number of items to skip
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     value (Required): [
+     *          (Required){
+     *             id: String (Required)
+     *             parentRunId: String (Optional)
+     *             operation (Required): {
+     *                 id: String (Required)
+     *                 status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *                 creationTime: OffsetDateTime (Required)
+     *                 statusHistory (Required): [
+     *                      (Required){
+     *                         timestamp: OffsetDateTime (Required)
+     *                         status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *                         errorCode: String (Optional)
+     *                         errorMessage: String (Optional)
+     *                     }
+     *                 ]
+     *                 startTime: OffsetDateTime (Optional)
+     *                 finishTime: OffsetDateTime (Optional)
+     *                 totalItems: int (Required)
+     *                 totalPendingItems: int (Required)
+     *                 totalSuccessfulItems: int (Required)
+     *                 totalFailedItems: int (Required)
+     *             }
+     *             creationTime: OffsetDateTime (Required)
+     *             sourceCatalogUrl: String (Optional)
+     *             skipExistingItems: Boolean (Optional)
+     *             keepOriginalAssets: Boolean (Optional)
+     *         }
+     *     ]
+     *     nextLink: String (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion 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 runs of an ingestion along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getIngestionRunsWithResponse(String collectionId, String ingestionId, + RequestOptions requestOptions) { + return this.serviceClient.getIngestionRunsWithResponse(collectionId, ingestionId, requestOptions); + } + + /** + * Create a new run of an ingestion. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     parentRunId: String (Optional)
+     *     operation (Required): {
+     *         id: String (Required)
+     *         status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *         creationTime: OffsetDateTime (Required)
+     *         statusHistory (Required): [
+     *              (Required){
+     *                 timestamp: OffsetDateTime (Required)
+     *                 status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *                 errorCode: String (Optional)
+     *                 errorMessage: String (Optional)
+     *             }
+     *         ]
+     *         startTime: OffsetDateTime (Optional)
+     *         finishTime: OffsetDateTime (Optional)
+     *         totalItems: int (Required)
+     *         totalPendingItems: int (Required)
+     *         totalSuccessfulItems: int (Required)
+     *         totalFailedItems: int (Required)
+     *     }
+     *     creationTime: OffsetDateTime (Required)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion 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 microsoft Planetary Computer Pro geo-catalog ingestion run along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createIngestionRunWithResponse(String collectionId, String ingestionId, + RequestOptions requestOptions) { + return this.serviceClient.createIngestionRunWithResponse(collectionId, ingestionId, requestOptions); + } + + /** + * Get a run of an ingestion. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     parentRunId: String (Optional)
+     *     operation (Required): {
+     *         id: String (Required)
+     *         status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *         creationTime: OffsetDateTime (Required)
+     *         statusHistory (Required): [
+     *              (Required){
+     *                 timestamp: OffsetDateTime (Required)
+     *                 status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *                 errorCode: String (Optional)
+     *                 errorMessage: String (Optional)
+     *             }
+     *         ]
+     *         startTime: OffsetDateTime (Optional)
+     *         finishTime: OffsetDateTime (Optional)
+     *         totalItems: int (Required)
+     *         totalPendingItems: int (Required)
+     *         totalSuccessfulItems: int (Required)
+     *         totalFailedItems: int (Required)
+     *     }
+     *     creationTime: OffsetDateTime (Required)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion id. + * @param runId Run 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 a run of an ingestion along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getIngestionRunWithResponse(String collectionId, String ingestionId, String runId, + RequestOptions requestOptions) { + return this.serviceClient.getIngestionRunWithResponse(collectionId, ingestionId, runId, requestOptions); + } + + /** + * Get operations of a geo-catalog collection. + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
$topLongNoThe number of items to return
$skipLongNoThe number of items to skip
collectionIdStringNoOperation id used to filter the results
statusStringNoOperation status used to filter the results. Allowed values: + * "Pending", "Running", "Succeeded", "Canceled", "Canceling", "Failed".
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     value (Required): [
+     *          (Required){
+     *             id: String (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             type: String (Required)
+     *             creationTime: OffsetDateTime (Required)
+     *             collectionId: String (Optional)
+     *             statusHistory (Required): [
+     *                  (Required){
+     *                     timestamp: OffsetDateTime (Required)
+     *                     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *                     errorCode: String (Optional)
+     *                     errorMessage: String (Optional)
+     *                 }
+     *             ]
+     *             startTime: OffsetDateTime (Optional)
+     *             finishTime: OffsetDateTime (Optional)
+     *             additionalInformation (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             error (Optional): {
+     *                 error (Required): (recursive schema, see error above)
+     *             }
+     *         }
+     *     ]
+     *     nextLink: String (Optional)
+     * }
+     * }
+     * 
+ * + * @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 operations of a geo-catalog collection along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getIngestionOperationsWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getIngestionOperationsWithResponse(requestOptions); + } + + /** + * Cancel all running operations of a geo-catalog collection. + * + * @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 deleteAllIngestionOperationsWithResponse(RequestOptions requestOptions) { + return this.serviceClient.deleteAllIngestionOperationsWithResponse(requestOptions); + } + + /** + * Get an operation of a geo-catalog collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param operationId Operation 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 an operation of a geo-catalog collection along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getIngestionOperationWithResponse(String operationId, RequestOptions requestOptions) { + return this.serviceClient.getIngestionOperationWithResponse(operationId, requestOptions); + } + + /** + * Cancel a running operation of a geo-catalog collection. + * + * @param operationId Operation 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 deleteIngestionOperationWithResponse(String operationId, RequestOptions requestOptions) { + return this.serviceClient.deleteIngestionOperationWithResponse(operationId, requestOptions); + } + + /** + * Get ingestions of a catalog. + * + * @param collectionId Catalog collection id. + * @param top The number of items to return. + * @param skip The number of items to skip. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return ingestions of a catalog. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public IngestionDefinitionsPagedResponse getIngestions(String collectionId, Long top, Long skip) { + // Generated convenience method for getIngestionsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (top != null) { + requestOptions.addQueryParam("$top", String.valueOf(top), false); + } + if (skip != null) { + requestOptions.addQueryParam("$skip", String.valueOf(skip), false); + } + return getIngestionsWithResponse(collectionId, requestOptions).getValue() + .toObject(IngestionDefinitionsPagedResponse.class); + } + + /** + * Get ingestions of a catalog. + * + * @param collectionId Catalog collection id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return ingestions of a catalog. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public IngestionDefinitionsPagedResponse getIngestions(String collectionId) { + // Generated convenience method for getIngestionsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getIngestionsWithResponse(collectionId, requestOptions).getValue() + .toObject(IngestionDefinitionsPagedResponse.class); + } + + /** + * Create a new ingestion. + * + * @param collectionId Catalog collection id. + * @param definition Definition of the ingestion. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return microsoft Planetary Computer Pro geo-catalog ingestion creation model. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public IngestionDefinition createIngestion(String collectionId, IngestionDefinition definition) { + // Generated convenience method for createIngestionWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createIngestionWithResponse(collectionId, BinaryData.fromObject(definition), requestOptions).getValue() + .toObject(IngestionDefinition.class); + } + + /** + * Get the definition of an ingestion. + * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the definition of an ingestion. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public IngestionDefinition getIngestion(String collectionId, String ingestionId) { + // Generated convenience method for getIngestionWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getIngestionWithResponse(collectionId, ingestionId, requestOptions).getValue() + .toObject(IngestionDefinition.class); + } + + /** + * Delete an ingestion from a catalog. All runs of the ingestion will be deleted. Ingestion must not have any runs + * in progress or queued. + * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link SyncPoller} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginDeleteIngestion(String collectionId, String ingestionId) { + // Generated convenience method for beginDeleteIngestionWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginDeleteIngestionWithModel(collectionId, ingestionId, requestOptions); + } + + /** + * Get the runs of an ingestion. + * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion id. + * @param top The number of items to return. + * @param skip The number of items to skip. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the runs of an ingestion. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public IngestionRunsPagedResponse getIngestionRuns(String collectionId, String ingestionId, Long top, Long skip) { + // Generated convenience method for getIngestionRunsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (top != null) { + requestOptions.addQueryParam("$top", String.valueOf(top), false); + } + if (skip != null) { + requestOptions.addQueryParam("$skip", String.valueOf(skip), false); + } + return getIngestionRunsWithResponse(collectionId, ingestionId, requestOptions).getValue() + .toObject(IngestionRunsPagedResponse.class); + } + + /** + * Get the runs of an ingestion. + * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the runs of an ingestion. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public IngestionRunsPagedResponse getIngestionRuns(String collectionId, String ingestionId) { + // Generated convenience method for getIngestionRunsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getIngestionRunsWithResponse(collectionId, ingestionId, requestOptions).getValue() + .toObject(IngestionRunsPagedResponse.class); + } + + /** + * Create a new run of an ingestion. + * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return microsoft Planetary Computer Pro geo-catalog ingestion run. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public IngestionRun createIngestionRun(String collectionId, String ingestionId) { + // Generated convenience method for createIngestionRunWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createIngestionRunWithResponse(collectionId, ingestionId, requestOptions).getValue() + .toObject(IngestionRun.class); + } + + /** + * Get a run of an ingestion. + * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion id. + * @param runId Run id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a run of an ingestion. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public IngestionRun getIngestionRun(String collectionId, String ingestionId, String runId) { + // Generated convenience method for getIngestionRunWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getIngestionRunWithResponse(collectionId, ingestionId, runId, requestOptions).getValue() + .toObject(IngestionRun.class); + } + + /** + * Get operations of a geo-catalog collection. + * + * @param top The number of items to return. + * @param skip The number of items to skip. + * @param collectionId Operation id used to filter the results. + * @param status Operation status used to filter the results. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return operations of a geo-catalog collection. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public OperationsPagedResponse getIngestionOperations(Long top, Long skip, String collectionId, + OperationStatus status) { + // Generated convenience method for getIngestionOperationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (top != null) { + requestOptions.addQueryParam("$top", String.valueOf(top), false); + } + if (skip != null) { + requestOptions.addQueryParam("$skip", String.valueOf(skip), false); + } + if (collectionId != null) { + requestOptions.addQueryParam("collectionId", collectionId, false); + } + if (status != null) { + requestOptions.addQueryParam("status", status.toString(), false); + } + return getIngestionOperationsWithResponse(requestOptions).getValue().toObject(OperationsPagedResponse.class); + } + + /** + * Get operations of a geo-catalog collection. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return operations of a geo-catalog collection. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public OperationsPagedResponse getIngestionOperations() { + // Generated convenience method for getIngestionOperationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getIngestionOperationsWithResponse(requestOptions).getValue().toObject(OperationsPagedResponse.class); + } + + /** + * Cancel all running operations of a geo-catalog collection. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void deleteAllIngestionOperations() { + // Generated convenience method for deleteAllIngestionOperationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteAllIngestionOperationsWithResponse(requestOptions).getValue(); + } + + /** + * Get an operation of a geo-catalog collection. + * + * @param operationId Operation id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an operation of a geo-catalog collection. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Operation getIngestionOperation(String operationId) { + // Generated convenience method for getIngestionOperationWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getIngestionOperationWithResponse(operationId, requestOptions).getValue().toObject(Operation.class); + } + + /** + * Cancel a running operation of a geo-catalog collection. + * + * @param operationId Operation id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void deleteIngestionOperation(String operationId) { + // Generated convenience method for deleteIngestionOperationWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteIngestionOperationWithResponse(operationId, requestOptions).getValue(); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/IngestionManagementClientBuilder.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/IngestionManagementClientBuilder.java new file mode 100644 index 000000000000..123914ae0210 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/IngestionManagementClientBuilder.java @@ -0,0 +1,333 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ServiceClientBuilder; +import com.azure.core.client.traits.ConfigurationTrait; +import com.azure.core.client.traits.EndpointTrait; +import com.azure.core.client.traits.HttpTrait; +import com.azure.core.client.traits.TokenCredentialTrait; +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.AddDatePolicy; +import com.azure.core.http.policy.AddHeadersFromContextPolicy; +import com.azure.core.http.policy.AddHeadersPolicy; +import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; +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.RequestIdPolicy; +import com.azure.core.http.policy.RetryOptions; +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.builder.ClientBuilderUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.planetarycomputer.implementation.IngestionManagementClientImpl; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** + * A builder for creating a new instance of the IngestionManagementClient type. + */ +@ServiceClientBuilder(serviceClients = { IngestionManagementClient.class, IngestionManagementAsyncClient.class }) +public final class IngestionManagementClientBuilder + implements HttpTrait, ConfigurationTrait, + TokenCredentialTrait, EndpointTrait { + @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://geocatalog.spatio.azure.com/.default" }; + + @Generated + private static final Map PROPERTIES = CoreUtils.getProperties("azure-planetarycomputer.properties"); + + @Generated + private final List pipelinePolicies; + + /** + * Create an instance of the IngestionManagementClientBuilder. + */ + @Generated + public IngestionManagementClientBuilder() { + this.pipelinePolicies = new ArrayList<>(); + } + + /* + * The HTTP client used to send the request. + */ + @Generated + private HttpClient httpClient; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public IngestionManagementClientBuilder httpClient(HttpClient httpClient) { + this.httpClient = httpClient; + return this; + } + + /* + * The HTTP pipeline to send requests through. + */ + @Generated + private HttpPipeline pipeline; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public IngestionManagementClientBuilder pipeline(HttpPipeline pipeline) { + if (this.pipeline != null && pipeline == null) { + LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured."); + } + this.pipeline = pipeline; + return this; + } + + /* + * The logging configuration for HTTP requests and responses. + */ + @Generated + private HttpLogOptions httpLogOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public IngestionManagementClientBuilder httpLogOptions(HttpLogOptions httpLogOptions) { + this.httpLogOptions = httpLogOptions; + return this; + } + + /* + * The client options such as application ID and custom headers to set on a request. + */ + @Generated + private ClientOptions clientOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public IngestionManagementClientBuilder clientOptions(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + return this; + } + + /* + * The retry options to configure retry policy for failed requests. + */ + @Generated + private RetryOptions retryOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public IngestionManagementClientBuilder retryOptions(RetryOptions retryOptions) { + this.retryOptions = retryOptions; + return this; + } + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public IngestionManagementClientBuilder addPolicy(HttpPipelinePolicy customPolicy) { + Objects.requireNonNull(customPolicy, "'customPolicy' cannot be null."); + pipelinePolicies.add(customPolicy); + return this; + } + + /* + * The configuration store that is used during construction of the service client. + */ + @Generated + private Configuration configuration; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public IngestionManagementClientBuilder configuration(Configuration configuration) { + this.configuration = configuration; + return this; + } + + /* + * The TokenCredential used for authentication. + */ + @Generated + private TokenCredential tokenCredential; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public IngestionManagementClientBuilder credential(TokenCredential tokenCredential) { + this.tokenCredential = tokenCredential; + return this; + } + + /* + * The service endpoint + */ + @Generated + private String endpoint; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public IngestionManagementClientBuilder endpoint(String endpoint) { + this.endpoint = endpoint; + return this; + } + + /* + * Service version + */ + @Generated + private PlanetaryComputerServiceVersion serviceVersion; + + /** + * Sets Service version. + * + * @param serviceVersion the serviceVersion value. + * @return the IngestionManagementClientBuilder. + */ + @Generated + public IngestionManagementClientBuilder serviceVersion(PlanetaryComputerServiceVersion serviceVersion) { + this.serviceVersion = serviceVersion; + 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 IngestionManagementClientBuilder. + */ + @Generated + public IngestionManagementClientBuilder retryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = retryPolicy; + return this; + } + + /** + * Builds an instance of IngestionManagementClientImpl with the provided parameters. + * + * @return an instance of IngestionManagementClientImpl. + */ + @Generated + private IngestionManagementClientImpl buildInnerClient() { + this.validateClient(); + HttpPipeline localPipeline = (pipeline != null) ? pipeline : createHttpPipeline(); + PlanetaryComputerServiceVersion localServiceVersion + = (serviceVersion != null) ? serviceVersion : PlanetaryComputerServiceVersion.getLatest(); + IngestionManagementClientImpl client = new IngestionManagementClientImpl(localPipeline, + JacksonAdapter.createDefaultSerializerAdapter(), this.endpoint, localServiceVersion); + return client; + } + + @Generated + private void validateClient() { + // This method is invoked from 'buildInnerClient'/'buildClient' method. + // Developer can customize this method, to validate that the necessary conditions are met for the new client. + Objects.requireNonNull(endpoint, "'endpoint' cannot be null."); + } + + @Generated + private HttpPipeline createHttpPipeline() { + Configuration buildConfiguration + = (configuration == null) ? Configuration.getGlobalConfiguration() : configuration; + HttpLogOptions localHttpLogOptions = this.httpLogOptions == null ? new HttpLogOptions() : this.httpLogOptions; + ClientOptions localClientOptions = this.clientOptions == null ? new ClientOptions() : this.clientOptions; + List policies = new ArrayList<>(); + String clientName = PROPERTIES.getOrDefault(SDK_NAME, "UnknownName"); + String clientVersion = PROPERTIES.getOrDefault(SDK_VERSION, "UnknownVersion"); + String applicationId = CoreUtils.getApplicationId(localClientOptions, localHttpLogOptions); + policies.add(new UserAgentPolicy(applicationId, clientName, clientVersion, buildConfiguration)); + policies.add(new RequestIdPolicy()); + policies.add(new AddHeadersFromContextPolicy()); + HttpHeaders headers = CoreUtils.createHttpHeadersFromClientOptions(localClientOptions); + if (headers != null) { + policies.add(new AddHeadersPolicy(headers)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addBeforeRetryPolicies(policies); + policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy())); + policies.add(new AddDatePolicy()); + if (tokenCredential != null) { + policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addAfterRetryPolicies(policies); + policies.add(new HttpLoggingPolicy(localHttpLogOptions)); + HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0])) + .httpClient(httpClient) + .clientOptions(localClientOptions) + .build(); + return httpPipeline; + } + + /** + * Builds an instance of IngestionManagementAsyncClient class. + * + * @return an instance of IngestionManagementAsyncClient. + */ + @Generated + public IngestionManagementAsyncClient buildAsyncClient() { + return new IngestionManagementAsyncClient(buildInnerClient()); + } + + /** + * Builds an instance of IngestionManagementClient class. + * + * @return an instance of IngestionManagementClient. + */ + @Generated + public IngestionManagementClient buildClient() { + return new IngestionManagementClient(buildInnerClient()); + } + + private static final ClientLogger LOGGER = new ClientLogger(IngestionManagementClientBuilder.class); +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/IngestionSourcesAsyncClient.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/IngestionSourcesAsyncClient.java new file mode 100644 index 000000000000..16c679a52d5b --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/IngestionSourcesAsyncClient.java @@ -0,0 +1,396 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +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.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.FluxUtil; +import com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionSource; +import com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionSourcesPagedResponse; +import com.azure.planetarycomputer.com.azure.planetarycomputer.models.ManagedIdentitiesPagedResponse; +import com.azure.planetarycomputer.implementation.IngestionSourcesClientImpl; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the asynchronous IngestionSourcesClient type. + */ +@ServiceClient(builder = IngestionSourcesClientBuilder.class, isAsync = true) +public final class IngestionSourcesAsyncClient { + @Generated + private final IngestionSourcesClientImpl serviceClient; + + /** + * Initializes an instance of IngestionSourcesAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + IngestionSourcesAsyncClient(IngestionSourcesClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Get ingestion sources in a geo-catalog. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
$topLongNoThe number of items to return
$skipLongNoThe number of items to skip
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     value (Required): [
+     *          (Required){
+     *             id: String (Required)
+     *             kind: String(SasToken/BlobManagedIdentity) (Required)
+     *             created: OffsetDateTime (Required)
+     *         }
+     *     ]
+     *     nextLink: String (Optional)
+     * }
+     * }
+     * 
+ * + * @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 ingestion sources in a geo-catalog along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getIngestionSourcesWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getIngestionSourcesWithResponseAsync(requestOptions); + } + + /** + * Create a new ingestion source in a geo-catalog. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     kind: String(SasToken/BlobManagedIdentity) (Required)
+     *     id: String (Required)
+     *     created: OffsetDateTime (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     kind: String(SasToken/BlobManagedIdentity) (Required)
+     *     id: String (Required)
+     *     created: OffsetDateTime (Required)
+     * }
+     * }
+     * 
+ * + * @param ingestionSource Definition of the ingestion source. + * @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 ingestion Source along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createIngestionSourceWithResponse(BinaryData ingestionSource, + RequestOptions requestOptions) { + return this.serviceClient.createIngestionSourceWithResponseAsync(ingestionSource, requestOptions); + } + + /** + * Get an ingestion source in a geo-catalog. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     kind: String(SasToken/BlobManagedIdentity) (Required)
+     *     id: String (Required)
+     *     created: OffsetDateTime (Required)
+     * }
+     * }
+     * 
+ * + * @param id Ingestion source 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 an ingestion source in a geo-catalog along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getIngestionSourceWithResponse(String id, RequestOptions requestOptions) { + return this.serviceClient.getIngestionSourceWithResponseAsync(id, requestOptions); + } + + /** + * Update an existing ingestion source in a geo-catalog. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     kind: String(SasToken/BlobManagedIdentity) (Required)
+     *     id: String (Required)
+     *     created: OffsetDateTime (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     kind: String(SasToken/BlobManagedIdentity) (Required)
+     *     id: String (Required)
+     *     created: OffsetDateTime (Required)
+     * }
+     * }
+     * 
+ * + * @param id Ingestion source id. + * @param ingestionSource Definition of the ingestion source. + * @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 ingestion Source along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createOrReplaceIngestionSourceWithResponse(String id, BinaryData ingestionSource, + RequestOptions requestOptions) { + return this.serviceClient.createOrReplaceIngestionSourceWithResponseAsync(id, ingestionSource, requestOptions); + } + + /** + * Delete an ingestion source from a geo-catalog. + * + * @param id Ingestion source 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> deleteIngestionSourceWithResponse(String id, RequestOptions requestOptions) { + return this.serviceClient.deleteIngestionSourceWithResponseAsync(id, requestOptions); + } + + /** + * Get all managed identities with access to storage accounts configured for a geo-catalog. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     value (Required): [
+     *          (Required){
+     *             objectId: String (Required)
+     *             resourceId: String (Required)
+     *         }
+     *     ]
+     *     nextLink: String (Optional)
+     * }
+     * }
+     * 
+ * + * @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 all managed identities with access to storage accounts configured for a geo-catalog along with + * {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getManagedIdentitiesWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getManagedIdentitiesWithResponseAsync(requestOptions); + } + + /** + * Get ingestion sources in a geo-catalog. + * + * @param top The number of items to return. + * @param skip The number of items to skip. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return ingestion sources in a geo-catalog on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getIngestionSources(Long top, Long skip) { + // Generated convenience method for getIngestionSourcesWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (top != null) { + requestOptions.addQueryParam("$top", String.valueOf(top), false); + } + if (skip != null) { + requestOptions.addQueryParam("$skip", String.valueOf(skip), false); + } + return getIngestionSourcesWithResponse(requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(IngestionSourcesPagedResponse.class)); + } + + /** + * Get ingestion sources in a geo-catalog. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return ingestion sources in a geo-catalog on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getIngestionSources() { + // Generated convenience method for getIngestionSourcesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getIngestionSourcesWithResponse(requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(IngestionSourcesPagedResponse.class)); + } + + /** + * Create a new ingestion source in a geo-catalog. + * + * @param ingestionSource Definition of the ingestion source. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return ingestion Source on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createIngestionSource(IngestionSource ingestionSource) { + // Generated convenience method for createIngestionSourceWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createIngestionSourceWithResponse(BinaryData.fromObject(ingestionSource), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(IngestionSource.class)); + } + + /** + * Get an ingestion source in a geo-catalog. + * + * @param id Ingestion source id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an ingestion source in a geo-catalog on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getIngestionSource(String id) { + // Generated convenience method for getIngestionSourceWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getIngestionSourceWithResponse(id, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(IngestionSource.class)); + } + + /** + * Update an existing ingestion source in a geo-catalog. + * + * @param id Ingestion source id. + * @param ingestionSource Definition of the ingestion source. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return ingestion Source on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createOrReplaceIngestionSource(String id, IngestionSource ingestionSource) { + // Generated convenience method for createOrReplaceIngestionSourceWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createOrReplaceIngestionSourceWithResponse(id, BinaryData.fromObject(ingestionSource), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(IngestionSource.class)); + } + + /** + * Delete an ingestion source from a geo-catalog. + * + * @param id Ingestion source id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono deleteIngestionSource(String id) { + // Generated convenience method for deleteIngestionSourceWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteIngestionSourceWithResponse(id, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Get all managed identities with access to storage accounts configured for a geo-catalog. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all managed identities with access to storage accounts configured for a geo-catalog on successful + * completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getManagedIdentities() { + // Generated convenience method for getManagedIdentitiesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getManagedIdentitiesWithResponse(requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(ManagedIdentitiesPagedResponse.class)); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/IngestionSourcesClient.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/IngestionSourcesClient.java new file mode 100644 index 000000000000..0b4375658086 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/IngestionSourcesClient.java @@ -0,0 +1,387 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +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.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionSource; +import com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionSourcesPagedResponse; +import com.azure.planetarycomputer.com.azure.planetarycomputer.models.ManagedIdentitiesPagedResponse; +import com.azure.planetarycomputer.implementation.IngestionSourcesClientImpl; + +/** + * Initializes a new instance of the synchronous IngestionSourcesClient type. + */ +@ServiceClient(builder = IngestionSourcesClientBuilder.class) +public final class IngestionSourcesClient { + @Generated + private final IngestionSourcesClientImpl serviceClient; + + /** + * Initializes an instance of IngestionSourcesClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + IngestionSourcesClient(IngestionSourcesClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Get ingestion sources in a geo-catalog. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
$topLongNoThe number of items to return
$skipLongNoThe number of items to skip
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     value (Required): [
+     *          (Required){
+     *             id: String (Required)
+     *             kind: String(SasToken/BlobManagedIdentity) (Required)
+     *             created: OffsetDateTime (Required)
+     *         }
+     *     ]
+     *     nextLink: String (Optional)
+     * }
+     * }
+     * 
+ * + * @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 ingestion sources in a geo-catalog along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getIngestionSourcesWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getIngestionSourcesWithResponse(requestOptions); + } + + /** + * Create a new ingestion source in a geo-catalog. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     kind: String(SasToken/BlobManagedIdentity) (Required)
+     *     id: String (Required)
+     *     created: OffsetDateTime (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     kind: String(SasToken/BlobManagedIdentity) (Required)
+     *     id: String (Required)
+     *     created: OffsetDateTime (Required)
+     * }
+     * }
+     * 
+ * + * @param ingestionSource Definition of the ingestion source. + * @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 ingestion Source along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createIngestionSourceWithResponse(BinaryData ingestionSource, + RequestOptions requestOptions) { + return this.serviceClient.createIngestionSourceWithResponse(ingestionSource, requestOptions); + } + + /** + * Get an ingestion source in a geo-catalog. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     kind: String(SasToken/BlobManagedIdentity) (Required)
+     *     id: String (Required)
+     *     created: OffsetDateTime (Required)
+     * }
+     * }
+     * 
+ * + * @param id Ingestion source 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 an ingestion source in a geo-catalog along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getIngestionSourceWithResponse(String id, RequestOptions requestOptions) { + return this.serviceClient.getIngestionSourceWithResponse(id, requestOptions); + } + + /** + * Update an existing ingestion source in a geo-catalog. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     kind: String(SasToken/BlobManagedIdentity) (Required)
+     *     id: String (Required)
+     *     created: OffsetDateTime (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     kind: String(SasToken/BlobManagedIdentity) (Required)
+     *     id: String (Required)
+     *     created: OffsetDateTime (Required)
+     * }
+     * }
+     * 
+ * + * @param id Ingestion source id. + * @param ingestionSource Definition of the ingestion source. + * @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 ingestion Source along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createOrReplaceIngestionSourceWithResponse(String id, BinaryData ingestionSource, + RequestOptions requestOptions) { + return this.serviceClient.createOrReplaceIngestionSourceWithResponse(id, ingestionSource, requestOptions); + } + + /** + * Delete an ingestion source from a geo-catalog. + * + * @param id Ingestion source 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 deleteIngestionSourceWithResponse(String id, RequestOptions requestOptions) { + return this.serviceClient.deleteIngestionSourceWithResponse(id, requestOptions); + } + + /** + * Get all managed identities with access to storage accounts configured for a geo-catalog. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     value (Required): [
+     *          (Required){
+     *             objectId: String (Required)
+     *             resourceId: String (Required)
+     *         }
+     *     ]
+     *     nextLink: String (Optional)
+     * }
+     * }
+     * 
+ * + * @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 all managed identities with access to storage accounts configured for a geo-catalog along with + * {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getManagedIdentitiesWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getManagedIdentitiesWithResponse(requestOptions); + } + + /** + * Get ingestion sources in a geo-catalog. + * + * @param top The number of items to return. + * @param skip The number of items to skip. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return ingestion sources in a geo-catalog. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public IngestionSourcesPagedResponse getIngestionSources(Long top, Long skip) { + // Generated convenience method for getIngestionSourcesWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (top != null) { + requestOptions.addQueryParam("$top", String.valueOf(top), false); + } + if (skip != null) { + requestOptions.addQueryParam("$skip", String.valueOf(skip), false); + } + return getIngestionSourcesWithResponse(requestOptions).getValue().toObject(IngestionSourcesPagedResponse.class); + } + + /** + * Get ingestion sources in a geo-catalog. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return ingestion sources in a geo-catalog. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public IngestionSourcesPagedResponse getIngestionSources() { + // Generated convenience method for getIngestionSourcesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getIngestionSourcesWithResponse(requestOptions).getValue().toObject(IngestionSourcesPagedResponse.class); + } + + /** + * Create a new ingestion source in a geo-catalog. + * + * @param ingestionSource Definition of the ingestion source. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return ingestion Source. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public IngestionSource createIngestionSource(IngestionSource ingestionSource) { + // Generated convenience method for createIngestionSourceWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createIngestionSourceWithResponse(BinaryData.fromObject(ingestionSource), requestOptions).getValue() + .toObject(IngestionSource.class); + } + + /** + * Get an ingestion source in a geo-catalog. + * + * @param id Ingestion source id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an ingestion source in a geo-catalog. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public IngestionSource getIngestionSource(String id) { + // Generated convenience method for getIngestionSourceWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getIngestionSourceWithResponse(id, requestOptions).getValue().toObject(IngestionSource.class); + } + + /** + * Update an existing ingestion source in a geo-catalog. + * + * @param id Ingestion source id. + * @param ingestionSource Definition of the ingestion source. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return ingestion Source. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public IngestionSource createOrReplaceIngestionSource(String id, IngestionSource ingestionSource) { + // Generated convenience method for createOrReplaceIngestionSourceWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createOrReplaceIngestionSourceWithResponse(id, BinaryData.fromObject(ingestionSource), requestOptions) + .getValue() + .toObject(IngestionSource.class); + } + + /** + * Delete an ingestion source from a geo-catalog. + * + * @param id Ingestion source id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void deleteIngestionSource(String id) { + // Generated convenience method for deleteIngestionSourceWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteIngestionSourceWithResponse(id, requestOptions).getValue(); + } + + /** + * Get all managed identities with access to storage accounts configured for a geo-catalog. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all managed identities with access to storage accounts configured for a geo-catalog. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public ManagedIdentitiesPagedResponse getManagedIdentities() { + // Generated convenience method for getManagedIdentitiesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getManagedIdentitiesWithResponse(requestOptions).getValue() + .toObject(ManagedIdentitiesPagedResponse.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/IngestionSourcesClientBuilder.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/IngestionSourcesClientBuilder.java new file mode 100644 index 000000000000..55b9be6d4812 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/IngestionSourcesClientBuilder.java @@ -0,0 +1,333 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ServiceClientBuilder; +import com.azure.core.client.traits.ConfigurationTrait; +import com.azure.core.client.traits.EndpointTrait; +import com.azure.core.client.traits.HttpTrait; +import com.azure.core.client.traits.TokenCredentialTrait; +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.AddDatePolicy; +import com.azure.core.http.policy.AddHeadersFromContextPolicy; +import com.azure.core.http.policy.AddHeadersPolicy; +import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; +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.RequestIdPolicy; +import com.azure.core.http.policy.RetryOptions; +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.builder.ClientBuilderUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.planetarycomputer.implementation.IngestionSourcesClientImpl; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** + * A builder for creating a new instance of the IngestionSourcesClient type. + */ +@ServiceClientBuilder(serviceClients = { IngestionSourcesClient.class, IngestionSourcesAsyncClient.class }) +public final class IngestionSourcesClientBuilder + implements HttpTrait, ConfigurationTrait, + TokenCredentialTrait, EndpointTrait { + @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://geocatalog.spatio.azure.com/.default" }; + + @Generated + private static final Map PROPERTIES = CoreUtils.getProperties("azure-planetarycomputer.properties"); + + @Generated + private final List pipelinePolicies; + + /** + * Create an instance of the IngestionSourcesClientBuilder. + */ + @Generated + public IngestionSourcesClientBuilder() { + this.pipelinePolicies = new ArrayList<>(); + } + + /* + * The HTTP client used to send the request. + */ + @Generated + private HttpClient httpClient; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public IngestionSourcesClientBuilder httpClient(HttpClient httpClient) { + this.httpClient = httpClient; + return this; + } + + /* + * The HTTP pipeline to send requests through. + */ + @Generated + private HttpPipeline pipeline; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public IngestionSourcesClientBuilder pipeline(HttpPipeline pipeline) { + if (this.pipeline != null && pipeline == null) { + LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured."); + } + this.pipeline = pipeline; + return this; + } + + /* + * The logging configuration for HTTP requests and responses. + */ + @Generated + private HttpLogOptions httpLogOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public IngestionSourcesClientBuilder httpLogOptions(HttpLogOptions httpLogOptions) { + this.httpLogOptions = httpLogOptions; + return this; + } + + /* + * The client options such as application ID and custom headers to set on a request. + */ + @Generated + private ClientOptions clientOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public IngestionSourcesClientBuilder clientOptions(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + return this; + } + + /* + * The retry options to configure retry policy for failed requests. + */ + @Generated + private RetryOptions retryOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public IngestionSourcesClientBuilder retryOptions(RetryOptions retryOptions) { + this.retryOptions = retryOptions; + return this; + } + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public IngestionSourcesClientBuilder addPolicy(HttpPipelinePolicy customPolicy) { + Objects.requireNonNull(customPolicy, "'customPolicy' cannot be null."); + pipelinePolicies.add(customPolicy); + return this; + } + + /* + * The configuration store that is used during construction of the service client. + */ + @Generated + private Configuration configuration; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public IngestionSourcesClientBuilder configuration(Configuration configuration) { + this.configuration = configuration; + return this; + } + + /* + * The TokenCredential used for authentication. + */ + @Generated + private TokenCredential tokenCredential; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public IngestionSourcesClientBuilder credential(TokenCredential tokenCredential) { + this.tokenCredential = tokenCredential; + return this; + } + + /* + * The service endpoint + */ + @Generated + private String endpoint; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public IngestionSourcesClientBuilder endpoint(String endpoint) { + this.endpoint = endpoint; + return this; + } + + /* + * Service version + */ + @Generated + private PlanetaryComputerServiceVersion serviceVersion; + + /** + * Sets Service version. + * + * @param serviceVersion the serviceVersion value. + * @return the IngestionSourcesClientBuilder. + */ + @Generated + public IngestionSourcesClientBuilder serviceVersion(PlanetaryComputerServiceVersion serviceVersion) { + this.serviceVersion = serviceVersion; + 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 IngestionSourcesClientBuilder. + */ + @Generated + public IngestionSourcesClientBuilder retryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = retryPolicy; + return this; + } + + /** + * Builds an instance of IngestionSourcesClientImpl with the provided parameters. + * + * @return an instance of IngestionSourcesClientImpl. + */ + @Generated + private IngestionSourcesClientImpl buildInnerClient() { + this.validateClient(); + HttpPipeline localPipeline = (pipeline != null) ? pipeline : createHttpPipeline(); + PlanetaryComputerServiceVersion localServiceVersion + = (serviceVersion != null) ? serviceVersion : PlanetaryComputerServiceVersion.getLatest(); + IngestionSourcesClientImpl client = new IngestionSourcesClientImpl(localPipeline, + JacksonAdapter.createDefaultSerializerAdapter(), this.endpoint, localServiceVersion); + return client; + } + + @Generated + private void validateClient() { + // This method is invoked from 'buildInnerClient'/'buildClient' method. + // Developer can customize this method, to validate that the necessary conditions are met for the new client. + Objects.requireNonNull(endpoint, "'endpoint' cannot be null."); + } + + @Generated + private HttpPipeline createHttpPipeline() { + Configuration buildConfiguration + = (configuration == null) ? Configuration.getGlobalConfiguration() : configuration; + HttpLogOptions localHttpLogOptions = this.httpLogOptions == null ? new HttpLogOptions() : this.httpLogOptions; + ClientOptions localClientOptions = this.clientOptions == null ? new ClientOptions() : this.clientOptions; + List policies = new ArrayList<>(); + String clientName = PROPERTIES.getOrDefault(SDK_NAME, "UnknownName"); + String clientVersion = PROPERTIES.getOrDefault(SDK_VERSION, "UnknownVersion"); + String applicationId = CoreUtils.getApplicationId(localClientOptions, localHttpLogOptions); + policies.add(new UserAgentPolicy(applicationId, clientName, clientVersion, buildConfiguration)); + policies.add(new RequestIdPolicy()); + policies.add(new AddHeadersFromContextPolicy()); + HttpHeaders headers = CoreUtils.createHttpHeadersFromClientOptions(localClientOptions); + if (headers != null) { + policies.add(new AddHeadersPolicy(headers)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addBeforeRetryPolicies(policies); + policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy())); + policies.add(new AddDatePolicy()); + if (tokenCredential != null) { + policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addAfterRetryPolicies(policies); + policies.add(new HttpLoggingPolicy(localHttpLogOptions)); + HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0])) + .httpClient(httpClient) + .clientOptions(localClientOptions) + .build(); + return httpPipeline; + } + + /** + * Builds an instance of IngestionSourcesAsyncClient class. + * + * @return an instance of IngestionSourcesAsyncClient. + */ + @Generated + public IngestionSourcesAsyncClient buildAsyncClient() { + return new IngestionSourcesAsyncClient(buildInnerClient()); + } + + /** + * Builds an instance of IngestionSourcesClient class. + * + * @return an instance of IngestionSourcesClient. + */ + @Generated + public IngestionSourcesClient buildClient() { + return new IngestionSourcesClient(buildInnerClient()); + } + + private static final ClientLogger LOGGER = new ClientLogger(IngestionSourcesClientBuilder.class); +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/MapLegendsAsyncClient.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/MapLegendsAsyncClient.java new file mode 100644 index 000000000000..df443176d607 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/MapLegendsAsyncClient.java @@ -0,0 +1,515 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +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.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.serializer.TypeReference; +import com.azure.planetarycomputer.implementation.MapLegendsClientImpl; +import com.azure.planetarycomputer.models.ClassmapLegendResponse; +import java.util.List; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the asynchronous MapLegendsClient type. + */ +@ServiceClient(builder = MapLegendsClientBuilder.class, isAsync = true) +public final class MapLegendsAsyncClient { + @Generated + private final MapLegendsClientImpl serviceClient; + + /** + * Initializes an instance of MapLegendsAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + MapLegendsAsyncClient(MapLegendsClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Get Classmap Legend + * + * Generate values and color swatches mapping for a given classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim + * from the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
trim_startIntegerNoNumber of items to trim from the start of the + * cmap
trim_endIntegerNoNumber of items to trim from the end of the cmap
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *      (Optional): {
+     *         String (Required): [
+     *             long (Required)
+     *         ]
+     *     }
+     * }
+     * }
+     * 
+ * + * @param classmapName classmap name. + * @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 classmap Legend + * + * Generate values and color swatches mapping for a given classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim + * from the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap along with {@link Response} on + * successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getClassmapLegendWithResponse(String classmapName, + RequestOptions requestOptions) { + return this.serviceClient.getClassmapLegendWithResponseAsync(classmapName, requestOptions); + } + + /** + * Get Legend + * + * Generate a legend image for a given colormap. + * + * If the colormap has non-contiguous values at the beginning or end, + * which aren't desired in the output image, they can be trimmed by specifying + * the number of values to trim. + * + * Args: + * cmap_name (string): The name of the registered colormap to generate + * a legend for + * height (float, optional): The output height of the legend image + * width (float, optional): The output width of the legend image + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap + * + * Returns: + * HTTP response with jpeg encoded image data. + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
heightDoubleNoThe output height of the legend image
widthDoubleNoThe output width of the legend image
trim_startIntegerNoNumber of items to trim from the start of the + * cmap
trim_endIntegerNoNumber of items to trim from the end of the cmap
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param cmapName The name of the registered colormap to generate a legend for. + * @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 legend + * + * Generate a legend image for a given colormap. + * + * If the colormap has non-contiguous values at the beginning or end, + * which aren't desired in the output image, they can be trimmed by specifying + * the number of values to trim. + * + * Args: + * cmap_name (string): The name of the registered colormap to generate + * a legend for + * height (float, optional): The output height of the legend image + * width (float, optional): The output width of the legend image + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap + * + * Returns: + * HTTP response with jpeg encoded image data along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getLegendWithResponse(String cmapName, RequestOptions requestOptions) { + return this.serviceClient.getLegendWithResponseAsync(cmapName, requestOptions); + } + + /** + * Get Interval Legend + * + * Generate values and color swatches mapping for a given interval classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
trim_startIntegerNoNumber of items to trim from the start of the + * cmap
trim_endIntegerNoNumber of items to trim from the end of the cmap
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *      (Required)[
+     *         BinaryData (Required)
+     *     ]
+     * ]
+     * }
+     * 
+ * + * @param classmapName classmap name. + * @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 interval Legend + * + * Generate values and color swatches mapping for a given interval classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap along with {@link Response} on + * successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getIntervalLegendWithResponse(String classmapName, + RequestOptions requestOptions) { + return this.serviceClient.getIntervalLegendWithResponseAsync(classmapName, requestOptions); + } + + /** + * Get Classmap Legend + * + * Generate values and color swatches mapping for a given classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim + * from the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap. + * + * @param classmapName classmap name. + * @param trimStart Number of items to trim from the start of the cmap. + * @param trimEnd Number of items to trim from the end of the cmap. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return classmap Legend + * + * Generate values and color swatches mapping for a given classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim + * from the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getClassmapLegend(String classmapName, Integer trimStart, Integer trimEnd) { + // Generated convenience method for getClassmapLegendWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (trimStart != null) { + requestOptions.addQueryParam("trim_start", String.valueOf(trimStart), false); + } + if (trimEnd != null) { + requestOptions.addQueryParam("trim_end", String.valueOf(trimEnd), false); + } + return getClassmapLegendWithResponse(classmapName, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(ClassmapLegendResponse.class)); + } + + /** + * Get Classmap Legend + * + * Generate values and color swatches mapping for a given classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim + * from the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap. + * + * @param classmapName classmap name. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return classmap Legend + * + * Generate values and color swatches mapping for a given classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim + * from the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getClassmapLegend(String classmapName) { + // Generated convenience method for getClassmapLegendWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getClassmapLegendWithResponse(classmapName, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(ClassmapLegendResponse.class)); + } + + /** + * Get Legend + * + * Generate a legend image for a given colormap. + * + * If the colormap has non-contiguous values at the beginning or end, + * which aren't desired in the output image, they can be trimmed by specifying + * the number of values to trim. + * + * Args: + * cmap_name (string): The name of the registered colormap to generate + * a legend for + * height (float, optional): The output height of the legend image + * width (float, optional): The output width of the legend image + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap + * + * Returns: + * HTTP response with jpeg encoded image data. + * + * @param cmapName The name of the registered colormap to generate a legend for. + * @param height The output height of the legend image. + * @param width The output width of the legend image. + * @param trimStart Number of items to trim from the start of the cmap. + * @param trimEnd Number of items to trim from the end of the cmap. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return legend + * + * Generate a legend image for a given colormap. + * + * If the colormap has non-contiguous values at the beginning or end, + * which aren't desired in the output image, they can be trimmed by specifying + * the number of values to trim. + * + * Args: + * cmap_name (string): The name of the registered colormap to generate + * a legend for + * height (float, optional): The output height of the legend image + * width (float, optional): The output width of the legend image + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap + * + * Returns: + * HTTP response with jpeg encoded image data on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getLegend(String cmapName, Double height, Double width, Integer trimStart, + Integer trimEnd) { + // Generated convenience method for getLegendWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (height != null) { + requestOptions.addQueryParam("height", String.valueOf(height), false); + } + if (width != null) { + requestOptions.addQueryParam("width", String.valueOf(width), false); + } + if (trimStart != null) { + requestOptions.addQueryParam("trim_start", String.valueOf(trimStart), false); + } + if (trimEnd != null) { + requestOptions.addQueryParam("trim_end", String.valueOf(trimEnd), false); + } + return getLegendWithResponse(cmapName, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Get Legend + * + * Generate a legend image for a given colormap. + * + * If the colormap has non-contiguous values at the beginning or end, + * which aren't desired in the output image, they can be trimmed by specifying + * the number of values to trim. + * + * Args: + * cmap_name (string): The name of the registered colormap to generate + * a legend for + * height (float, optional): The output height of the legend image + * width (float, optional): The output width of the legend image + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap + * + * Returns: + * HTTP response with jpeg encoded image data. + * + * @param cmapName The name of the registered colormap to generate a legend for. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return legend + * + * Generate a legend image for a given colormap. + * + * If the colormap has non-contiguous values at the beginning or end, + * which aren't desired in the output image, they can be trimmed by specifying + * the number of values to trim. + * + * Args: + * cmap_name (string): The name of the registered colormap to generate + * a legend for + * height (float, optional): The output height of the legend image + * width (float, optional): The output width of the legend image + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap + * + * Returns: + * HTTP response with jpeg encoded image data on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getLegend(String cmapName) { + // Generated convenience method for getLegendWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getLegendWithResponse(cmapName, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Get Interval Legend + * + * Generate values and color swatches mapping for a given interval classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap. + * + * @param classmapName classmap name. + * @param trimStart Number of items to trim from the start of the cmap. + * @param trimEnd Number of items to trim from the end of the cmap. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return interval Legend + * + * Generate values and color swatches mapping for a given interval classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono>> getIntervalLegend(String classmapName, Integer trimStart, Integer trimEnd) { + // Generated convenience method for getIntervalLegendWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (trimStart != null) { + requestOptions.addQueryParam("trim_start", String.valueOf(trimStart), false); + } + if (trimEnd != null) { + requestOptions.addQueryParam("trim_end", String.valueOf(trimEnd), false); + } + return getIntervalLegendWithResponse(classmapName, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_LIST_BINARY_DATA)); + } + + /** + * Get Interval Legend + * + * Generate values and color swatches mapping for a given interval classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap. + * + * @param classmapName classmap name. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return interval Legend + * + * Generate values and color swatches mapping for a given interval classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono>> getIntervalLegend(String classmapName) { + // Generated convenience method for getIntervalLegendWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getIntervalLegendWithResponse(classmapName, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_LIST_BINARY_DATA)); + } + + @Generated + private static final TypeReference>> TYPE_REFERENCE_LIST_LIST_BINARY_DATA + = new TypeReference>>() { + }; +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/MapLegendsClient.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/MapLegendsClient.java new file mode 100644 index 000000000000..f19be3595f12 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/MapLegendsClient.java @@ -0,0 +1,504 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +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.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.serializer.TypeReference; +import com.azure.planetarycomputer.implementation.MapLegendsClientImpl; +import com.azure.planetarycomputer.models.ClassmapLegendResponse; +import java.util.List; + +/** + * Initializes a new instance of the synchronous MapLegendsClient type. + */ +@ServiceClient(builder = MapLegendsClientBuilder.class) +public final class MapLegendsClient { + @Generated + private final MapLegendsClientImpl serviceClient; + + /** + * Initializes an instance of MapLegendsClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + MapLegendsClient(MapLegendsClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Get Classmap Legend + * + * Generate values and color swatches mapping for a given classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim + * from the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
trim_startIntegerNoNumber of items to trim from the start of the + * cmap
trim_endIntegerNoNumber of items to trim from the end of the cmap
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *      (Optional): {
+     *         String (Required): [
+     *             long (Required)
+     *         ]
+     *     }
+     * }
+     * }
+     * 
+ * + * @param classmapName classmap name. + * @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 classmap Legend + * + * Generate values and color swatches mapping for a given classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim + * from the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getClassmapLegendWithResponse(String classmapName, RequestOptions requestOptions) { + return this.serviceClient.getClassmapLegendWithResponse(classmapName, requestOptions); + } + + /** + * Get Legend + * + * Generate a legend image for a given colormap. + * + * If the colormap has non-contiguous values at the beginning or end, + * which aren't desired in the output image, they can be trimmed by specifying + * the number of values to trim. + * + * Args: + * cmap_name (string): The name of the registered colormap to generate + * a legend for + * height (float, optional): The output height of the legend image + * width (float, optional): The output width of the legend image + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap + * + * Returns: + * HTTP response with jpeg encoded image data. + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
heightDoubleNoThe output height of the legend image
widthDoubleNoThe output width of the legend image
trim_startIntegerNoNumber of items to trim from the start of the + * cmap
trim_endIntegerNoNumber of items to trim from the end of the cmap
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param cmapName The name of the registered colormap to generate a legend for. + * @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 legend + * + * Generate a legend image for a given colormap. + * + * If the colormap has non-contiguous values at the beginning or end, + * which aren't desired in the output image, they can be trimmed by specifying + * the number of values to trim. + * + * Args: + * cmap_name (string): The name of the registered colormap to generate + * a legend for + * height (float, optional): The output height of the legend image + * width (float, optional): The output width of the legend image + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap + * + * Returns: + * HTTP response with jpeg encoded image data along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getLegendWithResponse(String cmapName, RequestOptions requestOptions) { + return this.serviceClient.getLegendWithResponse(cmapName, requestOptions); + } + + /** + * Get Interval Legend + * + * Generate values and color swatches mapping for a given interval classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
trim_startIntegerNoNumber of items to trim from the start of the + * cmap
trim_endIntegerNoNumber of items to trim from the end of the cmap
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *      (Required)[
+     *         BinaryData (Required)
+     *     ]
+     * ]
+     * }
+     * 
+ * + * @param classmapName classmap name. + * @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 interval Legend + * + * Generate values and color swatches mapping for a given interval classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getIntervalLegendWithResponse(String classmapName, RequestOptions requestOptions) { + return this.serviceClient.getIntervalLegendWithResponse(classmapName, requestOptions); + } + + /** + * Get Classmap Legend + * + * Generate values and color swatches mapping for a given classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim + * from the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap. + * + * @param classmapName classmap name. + * @param trimStart Number of items to trim from the start of the cmap. + * @param trimEnd Number of items to trim from the end of the cmap. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return classmap Legend + * + * Generate values and color swatches mapping for a given classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim + * from the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public ClassmapLegendResponse getClassmapLegend(String classmapName, Integer trimStart, Integer trimEnd) { + // Generated convenience method for getClassmapLegendWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (trimStart != null) { + requestOptions.addQueryParam("trim_start", String.valueOf(trimStart), false); + } + if (trimEnd != null) { + requestOptions.addQueryParam("trim_end", String.valueOf(trimEnd), false); + } + return getClassmapLegendWithResponse(classmapName, requestOptions).getValue() + .toObject(ClassmapLegendResponse.class); + } + + /** + * Get Classmap Legend + * + * Generate values and color swatches mapping for a given classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim + * from the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap. + * + * @param classmapName classmap name. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return classmap Legend + * + * Generate values and color swatches mapping for a given classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim + * from the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public ClassmapLegendResponse getClassmapLegend(String classmapName) { + // Generated convenience method for getClassmapLegendWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getClassmapLegendWithResponse(classmapName, requestOptions).getValue() + .toObject(ClassmapLegendResponse.class); + } + + /** + * Get Legend + * + * Generate a legend image for a given colormap. + * + * If the colormap has non-contiguous values at the beginning or end, + * which aren't desired in the output image, they can be trimmed by specifying + * the number of values to trim. + * + * Args: + * cmap_name (string): The name of the registered colormap to generate + * a legend for + * height (float, optional): The output height of the legend image + * width (float, optional): The output width of the legend image + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap + * + * Returns: + * HTTP response with jpeg encoded image data. + * + * @param cmapName The name of the registered colormap to generate a legend for. + * @param height The output height of the legend image. + * @param width The output width of the legend image. + * @param trimStart Number of items to trim from the start of the cmap. + * @param trimEnd Number of items to trim from the end of the cmap. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return legend + * + * Generate a legend image for a given colormap. + * + * If the colormap has non-contiguous values at the beginning or end, + * which aren't desired in the output image, they can be trimmed by specifying + * the number of values to trim. + * + * Args: + * cmap_name (string): The name of the registered colormap to generate + * a legend for + * height (float, optional): The output height of the legend image + * width (float, optional): The output width of the legend image + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap + * + * Returns: + * HTTP response with jpeg encoded image data. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData getLegend(String cmapName, Double height, Double width, Integer trimStart, Integer trimEnd) { + // Generated convenience method for getLegendWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (height != null) { + requestOptions.addQueryParam("height", String.valueOf(height), false); + } + if (width != null) { + requestOptions.addQueryParam("width", String.valueOf(width), false); + } + if (trimStart != null) { + requestOptions.addQueryParam("trim_start", String.valueOf(trimStart), false); + } + if (trimEnd != null) { + requestOptions.addQueryParam("trim_end", String.valueOf(trimEnd), false); + } + return getLegendWithResponse(cmapName, requestOptions).getValue(); + } + + /** + * Get Legend + * + * Generate a legend image for a given colormap. + * + * If the colormap has non-contiguous values at the beginning or end, + * which aren't desired in the output image, they can be trimmed by specifying + * the number of values to trim. + * + * Args: + * cmap_name (string): The name of the registered colormap to generate + * a legend for + * height (float, optional): The output height of the legend image + * width (float, optional): The output width of the legend image + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap + * + * Returns: + * HTTP response with jpeg encoded image data. + * + * @param cmapName The name of the registered colormap to generate a legend for. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return legend + * + * Generate a legend image for a given colormap. + * + * If the colormap has non-contiguous values at the beginning or end, + * which aren't desired in the output image, they can be trimmed by specifying + * the number of values to trim. + * + * Args: + * cmap_name (string): The name of the registered colormap to generate + * a legend for + * height (float, optional): The output height of the legend image + * width (float, optional): The output width of the legend image + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap + * + * Returns: + * HTTP response with jpeg encoded image data. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData getLegend(String cmapName) { + // Generated convenience method for getLegendWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getLegendWithResponse(cmapName, requestOptions).getValue(); + } + + /** + * Get Interval Legend + * + * Generate values and color swatches mapping for a given interval classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap. + * + * @param classmapName classmap name. + * @param trimStart Number of items to trim from the start of the cmap. + * @param trimEnd Number of items to trim from the end of the cmap. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return interval Legend + * + * Generate values and color swatches mapping for a given interval classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List> getIntervalLegend(String classmapName, Integer trimStart, Integer trimEnd) { + // Generated convenience method for getIntervalLegendWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (trimStart != null) { + requestOptions.addQueryParam("trim_start", String.valueOf(trimStart), false); + } + if (trimEnd != null) { + requestOptions.addQueryParam("trim_end", String.valueOf(trimEnd), false); + } + return getIntervalLegendWithResponse(classmapName, requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_LIST_BINARY_DATA); + } + + /** + * Get Interval Legend + * + * Generate values and color swatches mapping for a given interval classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap. + * + * @param classmapName classmap name. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return interval Legend + * + * Generate values and color swatches mapping for a given interval classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List> getIntervalLegend(String classmapName) { + // Generated convenience method for getIntervalLegendWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getIntervalLegendWithResponse(classmapName, requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_LIST_BINARY_DATA); + } + + @Generated + private static final TypeReference>> TYPE_REFERENCE_LIST_LIST_BINARY_DATA + = new TypeReference>>() { + }; +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/MapLegendsClientBuilder.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/MapLegendsClientBuilder.java new file mode 100644 index 000000000000..b3d4e47c2cb8 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/MapLegendsClientBuilder.java @@ -0,0 +1,333 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ServiceClientBuilder; +import com.azure.core.client.traits.ConfigurationTrait; +import com.azure.core.client.traits.EndpointTrait; +import com.azure.core.client.traits.HttpTrait; +import com.azure.core.client.traits.TokenCredentialTrait; +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.AddDatePolicy; +import com.azure.core.http.policy.AddHeadersFromContextPolicy; +import com.azure.core.http.policy.AddHeadersPolicy; +import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; +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.RequestIdPolicy; +import com.azure.core.http.policy.RetryOptions; +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.builder.ClientBuilderUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.planetarycomputer.implementation.MapLegendsClientImpl; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** + * A builder for creating a new instance of the MapLegendsClient type. + */ +@ServiceClientBuilder(serviceClients = { MapLegendsClient.class, MapLegendsAsyncClient.class }) +public final class MapLegendsClientBuilder + implements HttpTrait, ConfigurationTrait, + TokenCredentialTrait, EndpointTrait { + @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://geocatalog.spatio.azure.com/.default" }; + + @Generated + private static final Map PROPERTIES = CoreUtils.getProperties("azure-planetarycomputer.properties"); + + @Generated + private final List pipelinePolicies; + + /** + * Create an instance of the MapLegendsClientBuilder. + */ + @Generated + public MapLegendsClientBuilder() { + this.pipelinePolicies = new ArrayList<>(); + } + + /* + * The HTTP client used to send the request. + */ + @Generated + private HttpClient httpClient; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public MapLegendsClientBuilder httpClient(HttpClient httpClient) { + this.httpClient = httpClient; + return this; + } + + /* + * The HTTP pipeline to send requests through. + */ + @Generated + private HttpPipeline pipeline; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public MapLegendsClientBuilder pipeline(HttpPipeline pipeline) { + if (this.pipeline != null && pipeline == null) { + LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured."); + } + this.pipeline = pipeline; + return this; + } + + /* + * The logging configuration for HTTP requests and responses. + */ + @Generated + private HttpLogOptions httpLogOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public MapLegendsClientBuilder httpLogOptions(HttpLogOptions httpLogOptions) { + this.httpLogOptions = httpLogOptions; + return this; + } + + /* + * The client options such as application ID and custom headers to set on a request. + */ + @Generated + private ClientOptions clientOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public MapLegendsClientBuilder clientOptions(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + return this; + } + + /* + * The retry options to configure retry policy for failed requests. + */ + @Generated + private RetryOptions retryOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public MapLegendsClientBuilder retryOptions(RetryOptions retryOptions) { + this.retryOptions = retryOptions; + return this; + } + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public MapLegendsClientBuilder addPolicy(HttpPipelinePolicy customPolicy) { + Objects.requireNonNull(customPolicy, "'customPolicy' cannot be null."); + pipelinePolicies.add(customPolicy); + return this; + } + + /* + * The configuration store that is used during construction of the service client. + */ + @Generated + private Configuration configuration; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public MapLegendsClientBuilder configuration(Configuration configuration) { + this.configuration = configuration; + return this; + } + + /* + * The TokenCredential used for authentication. + */ + @Generated + private TokenCredential tokenCredential; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public MapLegendsClientBuilder credential(TokenCredential tokenCredential) { + this.tokenCredential = tokenCredential; + return this; + } + + /* + * The service endpoint + */ + @Generated + private String endpoint; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public MapLegendsClientBuilder endpoint(String endpoint) { + this.endpoint = endpoint; + return this; + } + + /* + * Service version + */ + @Generated + private PlanetaryComputerServiceVersion serviceVersion; + + /** + * Sets Service version. + * + * @param serviceVersion the serviceVersion value. + * @return the MapLegendsClientBuilder. + */ + @Generated + public MapLegendsClientBuilder serviceVersion(PlanetaryComputerServiceVersion serviceVersion) { + this.serviceVersion = serviceVersion; + 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 MapLegendsClientBuilder. + */ + @Generated + public MapLegendsClientBuilder retryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = retryPolicy; + return this; + } + + /** + * Builds an instance of MapLegendsClientImpl with the provided parameters. + * + * @return an instance of MapLegendsClientImpl. + */ + @Generated + private MapLegendsClientImpl buildInnerClient() { + this.validateClient(); + HttpPipeline localPipeline = (pipeline != null) ? pipeline : createHttpPipeline(); + PlanetaryComputerServiceVersion localServiceVersion + = (serviceVersion != null) ? serviceVersion : PlanetaryComputerServiceVersion.getLatest(); + MapLegendsClientImpl client = new MapLegendsClientImpl(localPipeline, + JacksonAdapter.createDefaultSerializerAdapter(), this.endpoint, localServiceVersion); + return client; + } + + @Generated + private void validateClient() { + // This method is invoked from 'buildInnerClient'/'buildClient' method. + // Developer can customize this method, to validate that the necessary conditions are met for the new client. + Objects.requireNonNull(endpoint, "'endpoint' cannot be null."); + } + + @Generated + private HttpPipeline createHttpPipeline() { + Configuration buildConfiguration + = (configuration == null) ? Configuration.getGlobalConfiguration() : configuration; + HttpLogOptions localHttpLogOptions = this.httpLogOptions == null ? new HttpLogOptions() : this.httpLogOptions; + ClientOptions localClientOptions = this.clientOptions == null ? new ClientOptions() : this.clientOptions; + List policies = new ArrayList<>(); + String clientName = PROPERTIES.getOrDefault(SDK_NAME, "UnknownName"); + String clientVersion = PROPERTIES.getOrDefault(SDK_VERSION, "UnknownVersion"); + String applicationId = CoreUtils.getApplicationId(localClientOptions, localHttpLogOptions); + policies.add(new UserAgentPolicy(applicationId, clientName, clientVersion, buildConfiguration)); + policies.add(new RequestIdPolicy()); + policies.add(new AddHeadersFromContextPolicy()); + HttpHeaders headers = CoreUtils.createHttpHeadersFromClientOptions(localClientOptions); + if (headers != null) { + policies.add(new AddHeadersPolicy(headers)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addBeforeRetryPolicies(policies); + policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy())); + policies.add(new AddDatePolicy()); + if (tokenCredential != null) { + policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addAfterRetryPolicies(policies); + policies.add(new HttpLoggingPolicy(localHttpLogOptions)); + HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0])) + .httpClient(httpClient) + .clientOptions(localClientOptions) + .build(); + return httpPipeline; + } + + /** + * Builds an instance of MapLegendsAsyncClient class. + * + * @return an instance of MapLegendsAsyncClient. + */ + @Generated + public MapLegendsAsyncClient buildAsyncClient() { + return new MapLegendsAsyncClient(buildInnerClient()); + } + + /** + * Builds an instance of MapLegendsClient class. + * + * @return an instance of MapLegendsClient. + */ + @Generated + public MapLegendsClient buildClient() { + return new MapLegendsClient(buildInnerClient()); + } + + private static final ClientLogger LOGGER = new ClientLogger(MapLegendsClientBuilder.class); +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/MosaicTilerAsyncClient.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/MosaicTilerAsyncClient.java new file mode 100644 index 000000000000..d2aec0764855 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/MosaicTilerAsyncClient.java @@ -0,0 +1,2368 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +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.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.serializer.TypeReference; +import com.azure.planetarycomputer.implementation.MosaicTilerClientImpl; +import com.azure.planetarycomputer.implementation.models.RegisterSearchRequest; +import com.azure.planetarycomputer.models.Algorithm; +import com.azure.planetarycomputer.models.ColorMapNames; +import com.azure.planetarycomputer.models.ImageType; +import com.azure.planetarycomputer.models.PixelSelection; +import com.azure.planetarycomputer.models.RegisterResponse; +import com.azure.planetarycomputer.models.RegisterSearchOptions; +import com.azure.planetarycomputer.models.Resampling; +import com.azure.planetarycomputer.models.TileJsonResponse; +import com.azure.planetarycomputer.models.Tilematrixsetid; +import com.azure.planetarycomputer.models.TitilerPgstacModelInfo; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the asynchronous MosaicTilerClient type. + */ +@ServiceClient(builder = MosaicTilerClientBuilder.class, isAsync = true) +public final class MosaicTilerAsyncClient { + @Generated + private final MosaicTilerClientImpl serviceClient; + + /** + * Initializes an instance of MosaicTilerAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + MosaicTilerAsyncClient(MosaicTilerClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Tile + * + * Create map tile. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: + * 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", "LINZAntarticaMapTilegrid", + * "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", "WGS1984Quad", + * "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
collectionStringNoSTAC Collection ID
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
pixel_selectionStringNoPixel selection method. Allowed values: "first", + * "highest", "lowest", "mean", "median", "stdev", "lastbandlow", "lastbandhight".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept 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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTileWithResponse(String searchId, double z, double x, double y, double scale, + String format, String accept, RequestOptions requestOptions) { + return this.serviceClient.getTileWithResponseAsync(searchId, z, x, y, scale, format, accept, requestOptions); + } + + /** + * Tile Tilematrixsetid As Path + * + * Create map tile. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
collectionStringNoSTAC Collection ID
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
pixel_selectionStringNoPixel selection method. Allowed values: "first", + * "highest", "lowest", "mean", "median", "stdev", "lastbandlow", "lastbandhight".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept 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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTileWithMatrixSetWithResponse(String searchId, String tileMatrixSetId, + double z, double x, double y, double scale, String format, String accept, RequestOptions requestOptions) { + return this.serviceClient.getTileWithMatrixSetWithResponseAsync(searchId, tileMatrixSetId, z, x, y, scale, + format, accept, requestOptions); + } + + /** + * Tilejson + * + * Return TileJSON document for a searchId. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", + * "LINZAntarticaMapTilegrid", "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", + * "WGS1984Quad", "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
tile_formatStringNoDefault will be automatically defined if the output image + * needs a mask (png) or + * not (jpeg). Allowed values: "png", "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferDoubleNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
collectionStringNoSTAC Collection ID
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
pixel_selectionStringNoPixel selection method. Allowed values: "first", + * "highest", "lowest", "mean", "median", "stdev", "lastbandlow", "lastbandhight".
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     tilejson: String (Optional)
+     *     name: String (Optional)
+     *     description: String (Optional)
+     *     version: String (Optional)
+     *     attribution: String (Optional)
+     *     template: String (Optional)
+     *     legend: String (Optional)
+     *     scheme: String(xyz/tms) (Optional)
+     *     tiles (Required): [
+     *         String (Required)
+     *     ]
+     *     grids (Optional): [
+     *         String (Optional)
+     *     ]
+     *     data (Optional): [
+     *         String (Optional)
+     *     ]
+     *     minzoom: Integer (Optional)
+     *     maxzoom: Integer (Optional)
+     *     bounds (Optional): [
+     *         double (Optional)
+     *     ]
+     *     center (Optional): [
+     *         double (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @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 tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTileJsonWithResponse(String searchId, RequestOptions requestOptions) { + return this.serviceClient.getTileJsonWithResponseAsync(searchId, requestOptions); + } + + /** + * Tilejson Tilematrixsetid As Path + * + * Return TileJSON document for a searchId. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
tile_formatStringNoDefault will be automatically defined if the output image + * needs a mask (png) or + * not (jpeg). Allowed values: "png", "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
collectionStringNoSTAC Collection ID
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
pixel_selectionStringNoPixel selection method. Allowed values: "first", + * "highest", "lowest", "mean", "median", "stdev", "lastbandlow", "lastbandhight".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     tilejson: String (Optional)
+     *     name: String (Optional)
+     *     description: String (Optional)
+     *     version: String (Optional)
+     *     attribution: String (Optional)
+     *     template: String (Optional)
+     *     legend: String (Optional)
+     *     scheme: String(xyz/tms) (Optional)
+     *     tiles (Required): [
+     *         String (Required)
+     *     ]
+     *     grids (Optional): [
+     *         String (Optional)
+     *     ]
+     *     data (Optional): [
+     *         String (Optional)
+     *     ]
+     *     minzoom: Integer (Optional)
+     *     maxzoom: Integer (Optional)
+     *     bounds (Optional): [
+     *         double (Optional)
+     *     ]
+     *     center (Optional): [
+     *         double (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @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 tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTileJsonWithMatrixSetWithResponse(String searchId, String tileMatrixSetId, + RequestOptions requestOptions) { + return this.serviceClient.getTileJsonWithMatrixSetWithResponseAsync(searchId, tileMatrixSetId, requestOptions); + } + + /** + * Wmts + * + * OGC WMTS endpoint. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: + * 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", "LINZAntarticaMapTilegrid", + * "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", "WGS1984Quad", + * "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
tile_formatStringNoOutput image type. Default is png. Allowed values: "png", + * "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * String
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @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 a sequence of textual characters along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getWmtsCapabilitiesWithResponse(String searchId, RequestOptions requestOptions) { + return this.serviceClient.getWmtsCapabilitiesWithResponseAsync(searchId, requestOptions); + } + + /** + * Wmts Tilematrixsetid As Path + * + * OGC WMTS endpoint. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tile_formatStringNoOutput image type. Default is png. Allowed values: "png", + * "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * String
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @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 a sequence of textual characters along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getWmtsCapabilitiesWithMatrixSetWithResponse(String searchId, + String tileMatrixSetId, RequestOptions requestOptions) { + return this.serviceClient.getWmtsCapabilitiesWithMatrixSetWithResponseAsync(searchId, tileMatrixSetId, + requestOptions); + } + + /** + * Register Search + * + * Register a Search query. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     collections (Optional): [
+     *         String (Optional)
+     *     ]
+     *     ids (Optional): [
+     *         String (Optional)
+     *     ]
+     *     bbox: Double (Optional)
+     *     intersects (Optional): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     query (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     filter: String (Optional)
+     *     datetime: String (Optional)
+     *     sortby (Optional): [
+     *          (Optional){
+     *             field: String (Required)
+     *             direction: String(asc/desc) (Required)
+     *         }
+     *     ]
+     *     filter-lang: String(cql-json/cql2-json/cql2-text) (Optional)
+     *     metadata (Optional): {
+     *         type: String(mosaic/search) (Optional)
+     *         bounds: String (Optional)
+     *         minzoom: Integer (Optional)
+     *         maxzoom: Integer (Optional)
+     *         name: String (Optional)
+     *         assets (Optional): [
+     *             String (Optional)
+     *         ]
+     *         defaults (Optional): {
+     *             String: String (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     searchId: String (Required)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param registerSearchRequest The registerSearchRequest 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 response from a successful mosaic registration with search ID and related links along with + * {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> registerSearchWithResponse(BinaryData registerSearchRequest, + RequestOptions requestOptions) { + return this.serviceClient.registerSearchWithResponseAsync(registerSearchRequest, requestOptions); + } + + /** + * Info Search + * + * Get Search query metadata. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     search (Required): {
+     *         hash: String (Required)
+     *         search (Required): {
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *         _where: String (Required)
+     *         orderby: String (Required)
+     *         lastused: OffsetDateTime (Required)
+     *         usecount: int (Required)
+     *         metadata (Required): {
+     *             type: String(mosaic/search) (Optional)
+     *             bounds: String (Optional)
+     *             minzoom: Integer (Optional)
+     *             maxzoom: Integer (Optional)
+     *             name: String (Optional)
+     *             assets (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             defaults (Optional): {
+     *                 String: String (Required)
+     *             }
+     *         }
+     *     }
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @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 information about a registered STAC search query along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getSearchInfoWithResponse(String searchId, RequestOptions requestOptions) { + return this.serviceClient.getSearchInfoWithResponseAsync(searchId, requestOptions); + } + + /** + * Assets For Tile + * + * Return a list of assets which overlap a given tile. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: + * 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", "LINZAntarticaMapTilegrid", + * "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", "WGS1984Quad", + * "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *     BinaryData (Required)
+     * ]
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAssetsForTileWithResponse(String searchId, double z, double x, double y, + RequestOptions requestOptions) { + return this.serviceClient.getAssetsForTileWithResponseAsync(searchId, z, x, y, requestOptions); + } + + /** + * Assets For Tile Tilematrixsetid As Path + * + * Return a list of assets which overlap a given tile. + *

Query Parameters

+ * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *     BinaryData (Required)
+     * ]
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAssetsForTileWithMatrixSetWithResponse(String searchId, String tileMatrixSetId, + double z, double x, double y, RequestOptions requestOptions) { + return this.serviceClient.getAssetsForTileWithMatrixSetWithResponseAsync(searchId, tileMatrixSetId, z, x, y, + requestOptions); + } + + /** + * Assets For Point + * + * Return a list of assets for a given point. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *     BinaryData (Required)
+     * ]
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param lon Longitude. + * @param lat Latitude. + * @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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAssetsForPointWithResponse(String searchId, double lon, double lat, + RequestOptions requestOptions) { + return this.serviceClient.getAssetsForPointWithResponseAsync(searchId, lon, lat, requestOptions); + } + + /** + * Tile + * + * Create map tile. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept parameter. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param scanLimit Return as soon as we scan N items (defaults to 10000 in PgSTAC). + * @param itemsLimit Return as soon as we have N items per geometry (defaults to 100 in PgSTAC). + * @param timeLimit Return after N seconds to avoid long requests (defaults to 5 in PgSTAC). + * @param exitwhenfull Return as soon as the geometry is fully covered (defaults to True in PgSTAC). + * @param skipcovered Skip any items that would show up completely under the previous items (defaults + * to True in PgSTAC). + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported (default: + * 'WebMercatorQuad'). + * @param buffer Buffer on each side of the given tile. It must be a multiple of `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param collection STAC Collection ID. + * @param resampling Resampling method. + * @param pixelSelection Pixel selection method. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTile(String searchId, double z, double x, double y, double scale, String format, + String accept, List assets, String expression, List assetBidx, Boolean assetAsBand, + Double nodata, Boolean unscale, Integer scanLimit, Integer itemsLimit, Integer timeLimit, Boolean exitwhenfull, + Boolean skipcovered, Algorithm algorithm, String algorithmParams, Tilematrixsetid tileMatrixSetId, + String buffer, String colorFormula, String collection, Resampling resampling, PixelSelection pixelSelection, + List rescale, ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for getTileWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (scanLimit != null) { + requestOptions.addQueryParam("scan_limit", String.valueOf(scanLimit), false); + } + if (itemsLimit != null) { + requestOptions.addQueryParam("items_limit", String.valueOf(itemsLimit), false); + } + if (timeLimit != null) { + requestOptions.addQueryParam("time_limit", String.valueOf(timeLimit), false); + } + if (exitwhenfull != null) { + requestOptions.addQueryParam("exitwhenfull", String.valueOf(exitwhenfull), false); + } + if (skipcovered != null) { + requestOptions.addQueryParam("skipcovered", String.valueOf(skipcovered), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (tileMatrixSetId != null) { + requestOptions.addQueryParam("tileMatrixSetId", tileMatrixSetId.toString(), false); + } + if (buffer != null) { + requestOptions.addQueryParam("buffer", buffer, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (collection != null) { + requestOptions.addQueryParam("collection", collection, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (pixelSelection != null) { + requestOptions.addQueryParam("pixel_selection", pixelSelection.toString(), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getTileWithResponse(searchId, z, x, y, scale, format, accept, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Tile + * + * Create map tile. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTile(String searchId, double z, double x, double y, double scale, String format, + String accept) { + // Generated convenience method for getTileWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTileWithResponse(searchId, z, x, y, scale, format, accept, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Tile Tilematrixsetid As Path + * + * Create map tile. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept parameter. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param scanLimit Return as soon as we scan N items (defaults to 10000 in PgSTAC). + * @param itemsLimit Return as soon as we have N items per geometry (defaults to 100 in PgSTAC). + * @param timeLimit Return after N seconds to avoid long requests (defaults to 5 in PgSTAC). + * @param exitwhenfull Return as soon as the geometry is fully covered (defaults to True in PgSTAC). + * @param skipcovered Skip any items that would show up completely under the previous items (defaults + * to True in PgSTAC). + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param buffer Buffer on each side of the given tile. It must be a multiple of `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param collection STAC Collection ID. + * @param resampling Resampling method. + * @param pixelSelection Pixel selection method. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTileWithMatrixSet(String searchId, String tileMatrixSetId, double z, double x, double y, + double scale, String format, String accept, List assets, String expression, List assetBidx, + Boolean assetAsBand, Double nodata, Boolean unscale, Integer scanLimit, Integer itemsLimit, Integer timeLimit, + Boolean exitwhenfull, Boolean skipcovered, Algorithm algorithm, String algorithmParams, String buffer, + String colorFormula, String collection, Resampling resampling, PixelSelection pixelSelection, + List rescale, ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for getTileWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (scanLimit != null) { + requestOptions.addQueryParam("scan_limit", String.valueOf(scanLimit), false); + } + if (itemsLimit != null) { + requestOptions.addQueryParam("items_limit", String.valueOf(itemsLimit), false); + } + if (timeLimit != null) { + requestOptions.addQueryParam("time_limit", String.valueOf(timeLimit), false); + } + if (exitwhenfull != null) { + requestOptions.addQueryParam("exitwhenfull", String.valueOf(exitwhenfull), false); + } + if (skipcovered != null) { + requestOptions.addQueryParam("skipcovered", String.valueOf(skipcovered), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (buffer != null) { + requestOptions.addQueryParam("buffer", buffer, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (collection != null) { + requestOptions.addQueryParam("collection", collection, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (pixelSelection != null) { + requestOptions.addQueryParam("pixel_selection", pixelSelection.toString(), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getTileWithMatrixSetWithResponse(searchId, tileMatrixSetId, z, x, y, scale, format, accept, + requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Tile Tilematrixsetid As Path + * + * Create map tile. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTileWithMatrixSet(String searchId, String tileMatrixSetId, double z, double x, double y, + double scale, String format, String accept) { + // Generated convenience method for getTileWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTileWithMatrixSetWithResponse(searchId, tileMatrixSetId, z, x, y, scale, format, accept, + requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Tilejson + * + * Return TileJSON document for a searchId. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param scanLimit Return as soon as we scan N items (defaults to 10000 in PgSTAC). + * @param itemsLimit Return as soon as we have N items per geometry (defaults to 100 in PgSTAC). + * @param timeLimit Return after N seconds to avoid long requests (defaults to 5 in PgSTAC). + * @param exitwhenfull Return as soon as the geometry is fully covered (defaults to True in PgSTAC). + * @param skipcovered Skip any items that would show up completely under the previous items (defaults + * to True in PgSTAC). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported (default: 'WebMercatorQuad'). + * @param tileFormat Default will be automatically defined if the output image needs a mask (png) or + * not (jpeg). + * @param tileScale Tile scale factor affecting output size. Values > 1 produce larger tiles (e.g., 1=256x256, + * 2=512x512). + * @param minzoom Overwrite default minzoom. + * @param maxzoom Overwrite default maxzoom. + * @param buffer Buffer on each side of the given tile. It must be a multiple of `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param collection STAC Collection ID. + * @param resampling Resampling method. + * @param pixelSelection Pixel selection method. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTileJson(String searchId, List assets, String expression, + List assetBidx, Boolean assetAsBand, Double nodata, Boolean unscale, Integer scanLimit, + Integer itemsLimit, Integer timeLimit, Boolean exitwhenfull, Boolean skipcovered, + Tilematrixsetid tileMatrixSetId, ImageType tileFormat, Integer tileScale, Integer minzoom, Integer maxzoom, + Double buffer, String colorFormula, String collection, Resampling resampling, PixelSelection pixelSelection, + Algorithm algorithm, String algorithmParams, List rescale, ColorMapNames colormapName, String colormap, + Boolean returnMask) { + // Generated convenience method for getTileJsonWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (scanLimit != null) { + requestOptions.addQueryParam("scan_limit", String.valueOf(scanLimit), false); + } + if (itemsLimit != null) { + requestOptions.addQueryParam("items_limit", String.valueOf(itemsLimit), false); + } + if (timeLimit != null) { + requestOptions.addQueryParam("time_limit", String.valueOf(timeLimit), false); + } + if (exitwhenfull != null) { + requestOptions.addQueryParam("exitwhenfull", String.valueOf(exitwhenfull), false); + } + if (skipcovered != null) { + requestOptions.addQueryParam("skipcovered", String.valueOf(skipcovered), false); + } + if (tileMatrixSetId != null) { + requestOptions.addQueryParam("tileMatrixSetId", tileMatrixSetId.toString(), false); + } + if (tileFormat != null) { + requestOptions.addQueryParam("tile_format", tileFormat.toString(), false); + } + if (tileScale != null) { + requestOptions.addQueryParam("tile_scale", String.valueOf(tileScale), false); + } + if (minzoom != null) { + requestOptions.addQueryParam("minzoom", String.valueOf(minzoom), false); + } + if (maxzoom != null) { + requestOptions.addQueryParam("maxzoom", String.valueOf(maxzoom), false); + } + if (buffer != null) { + requestOptions.addQueryParam("buffer", String.valueOf(buffer), false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (collection != null) { + requestOptions.addQueryParam("collection", collection, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (pixelSelection != null) { + requestOptions.addQueryParam("pixel_selection", pixelSelection.toString(), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getTileJsonWithResponse(searchId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TileJsonResponse.class)); + } + + /** + * Tilejson + * + * Return TileJSON document for a searchId. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTileJson(String searchId) { + // Generated convenience method for getTileJsonWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTileJsonWithResponse(searchId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TileJsonResponse.class)); + } + + /** + * Tilejson Tilematrixsetid As Path + * + * Return TileJSON document for a searchId. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param scanLimit Return as soon as we scan N items (defaults to 10000 in PgSTAC). + * @param itemsLimit Return as soon as we have N items per geometry (defaults to 100 in PgSTAC). + * @param timeLimit Return after N seconds to avoid long requests (defaults to 5 in PgSTAC). + * @param exitwhenfull Return as soon as the geometry is fully covered (defaults to True in PgSTAC). + * @param skipcovered Skip any items that would show up completely under the previous items (defaults + * to True in PgSTAC). + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param minzoom Overwrite default minzoom. + * @param maxzoom Overwrite default maxzoom. + * @param tileFormat Default will be automatically defined if the output image needs a mask (png) or + * not (jpeg). + * @param tileScale Tile scale factor affecting output size. Values > 1 produce larger tiles (e.g., 1=256x256, + * 2=512x512). + * @param buffer Buffer on each side of the given tile. It must be a multiple of `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param collection STAC Collection ID. + * @param resampling Resampling method. + * @param pixelSelection Pixel selection method. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTileJsonWithMatrixSet(String searchId, String tileMatrixSetId, List assets, + String expression, List assetBidx, Boolean assetAsBand, Double nodata, Boolean unscale, + Integer scanLimit, Integer itemsLimit, Integer timeLimit, Boolean exitwhenfull, Boolean skipcovered, + Algorithm algorithm, String algorithmParams, Integer minzoom, Integer maxzoom, ImageType tileFormat, + Integer tileScale, String buffer, String colorFormula, String collection, Resampling resampling, + PixelSelection pixelSelection, List rescale, ColorMapNames colormapName, String colormap, + Boolean returnMask) { + // Generated convenience method for getTileJsonWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (scanLimit != null) { + requestOptions.addQueryParam("scan_limit", String.valueOf(scanLimit), false); + } + if (itemsLimit != null) { + requestOptions.addQueryParam("items_limit", String.valueOf(itemsLimit), false); + } + if (timeLimit != null) { + requestOptions.addQueryParam("time_limit", String.valueOf(timeLimit), false); + } + if (exitwhenfull != null) { + requestOptions.addQueryParam("exitwhenfull", String.valueOf(exitwhenfull), false); + } + if (skipcovered != null) { + requestOptions.addQueryParam("skipcovered", String.valueOf(skipcovered), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (minzoom != null) { + requestOptions.addQueryParam("minzoom", String.valueOf(minzoom), false); + } + if (maxzoom != null) { + requestOptions.addQueryParam("maxzoom", String.valueOf(maxzoom), false); + } + if (tileFormat != null) { + requestOptions.addQueryParam("tile_format", tileFormat.toString(), false); + } + if (tileScale != null) { + requestOptions.addQueryParam("tile_scale", String.valueOf(tileScale), false); + } + if (buffer != null) { + requestOptions.addQueryParam("buffer", buffer, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (collection != null) { + requestOptions.addQueryParam("collection", collection, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (pixelSelection != null) { + requestOptions.addQueryParam("pixel_selection", pixelSelection.toString(), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getTileJsonWithMatrixSetWithResponse(searchId, tileMatrixSetId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TileJsonResponse.class)); + } + + /** + * Tilejson Tilematrixsetid As Path + * + * Return TileJSON document for a searchId. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTileJsonWithMatrixSet(String searchId, String tileMatrixSetId) { + // Generated convenience method for getTileJsonWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTileJsonWithMatrixSetWithResponse(searchId, tileMatrixSetId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TileJsonResponse.class)); + } + + /** + * Wmts + * + * OGC WMTS endpoint. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported (default: + * 'WebMercatorQuad'). + * @param tileFormat Output image type. Default is png. + * @param tileScale Tile scale factor affecting output size. Values > 1 produce larger tiles (e.g., 1=256x256, + * 2=512x512). + * @param minzoom Overwrite default minzoom. + * @param maxzoom Overwrite default maxzoom. + * @param buffer Buffer on each side of the given tile. It must be a multiple of `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param resampling Resampling method. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a sequence of textual characters on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getWmtsCapabilities(String searchId, List assets, String expression, + List assetBidx, Boolean assetAsBand, Double nodata, Boolean unscale, Algorithm algorithm, + String algorithmParams, Tilematrixsetid tileMatrixSetId, ImageType tileFormat, Integer tileScale, + Integer minzoom, Integer maxzoom, String buffer, String colorFormula, Resampling resampling, + List rescale, ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for getWmtsCapabilitiesWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (tileMatrixSetId != null) { + requestOptions.addQueryParam("tileMatrixSetId", tileMatrixSetId.toString(), false); + } + if (tileFormat != null) { + requestOptions.addQueryParam("tile_format", tileFormat.toString(), false); + } + if (tileScale != null) { + requestOptions.addQueryParam("tile_scale", String.valueOf(tileScale), false); + } + if (minzoom != null) { + requestOptions.addQueryParam("minzoom", String.valueOf(minzoom), false); + } + if (maxzoom != null) { + requestOptions.addQueryParam("maxzoom", String.valueOf(maxzoom), false); + } + if (buffer != null) { + requestOptions.addQueryParam("buffer", buffer, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getWmtsCapabilitiesWithResponse(searchId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(String.class)); + } + + /** + * Wmts + * + * OGC WMTS endpoint. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a sequence of textual characters on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getWmtsCapabilities(String searchId) { + // Generated convenience method for getWmtsCapabilitiesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWmtsCapabilitiesWithResponse(searchId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(String.class)); + } + + /** + * Wmts Tilematrixsetid As Path + * + * OGC WMTS endpoint. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param tileFormat Output image type. Default is png. + * @param tileScale Tile scale factor affecting output size. Values > 1 produce larger tiles (e.g., 1=256x256, + * 2=512x512). + * @param minzoom Overwrite default minzoom. + * @param maxzoom Overwrite default maxzoom. + * @param buffer Buffer on each side of the given tile. It must be a multiple of `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param resampling Resampling method. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a sequence of textual characters on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getWmtsCapabilitiesWithMatrixSet(String searchId, String tileMatrixSetId, List assets, + String expression, List assetBidx, Boolean assetAsBand, Double nodata, Boolean unscale, + Algorithm algorithm, String algorithmParams, ImageType tileFormat, Integer tileScale, Integer minzoom, + Integer maxzoom, String buffer, String colorFormula, Resampling resampling, List rescale, + ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for getWmtsCapabilitiesWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (tileFormat != null) { + requestOptions.addQueryParam("tile_format", tileFormat.toString(), false); + } + if (tileScale != null) { + requestOptions.addQueryParam("tile_scale", String.valueOf(tileScale), false); + } + if (minzoom != null) { + requestOptions.addQueryParam("minzoom", String.valueOf(minzoom), false); + } + if (maxzoom != null) { + requestOptions.addQueryParam("maxzoom", String.valueOf(maxzoom), false); + } + if (buffer != null) { + requestOptions.addQueryParam("buffer", buffer, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getWmtsCapabilitiesWithMatrixSetWithResponse(searchId, tileMatrixSetId, requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(String.class)); + } + + /** + * Wmts Tilematrixsetid As Path + * + * OGC WMTS endpoint. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a sequence of textual characters on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getWmtsCapabilitiesWithMatrixSet(String searchId, String tileMatrixSetId) { + // Generated convenience method for getWmtsCapabilitiesWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWmtsCapabilitiesWithMatrixSetWithResponse(searchId, tileMatrixSetId, requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(String.class)); + } + + /** + * Register Search + * + * Register a Search query. + * + * @param options Options for registerSearch API. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return response from a successful mosaic registration with search ID and related links on successful completion + * of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono registerSearch(RegisterSearchOptions options) { + // Generated convenience method for registerSearchWithResponse + RequestOptions requestOptions = new RequestOptions(); + RegisterSearchRequest registerSearchRequestObj + = new RegisterSearchRequest().setCollections(options.getCollections()) + .setIds(options.getIds()) + .setBbox(options.getBbox()) + .setIntersects(options.getIntersects()) + .setQuery(options.getQuery()) + .setFilter(options.getFilter()) + .setDatetime(options.getDatetime()) + .setSortBy(options.getSortBy()) + .setFilterLang(options.getFilterLang()) + .setMetadata(options.getMetadata()); + BinaryData registerSearchRequest = BinaryData.fromObject(registerSearchRequestObj); + return registerSearchWithResponse(registerSearchRequest, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(RegisterResponse.class)); + } + + /** + * Info Search + * + * Get Search query metadata. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return information about a registered STAC search query on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getSearchInfo(String searchId) { + // Generated convenience method for getSearchInfoWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getSearchInfoWithResponse(searchId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TitilerPgstacModelInfo.class)); + } + + /** + * Assets For Tile + * + * Return a list of assets which overlap a given tile. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scanLimit Return as soon as we scan N items (defaults to 10000 in PgSTAC). + * @param itemsLimit Return as soon as we have N items per geometry (defaults to 100 in PgSTAC). + * @param timeLimit Return after N seconds to avoid long requests (defaults to 5 in PgSTAC). + * @param exitwhenfull Return as soon as the geometry is fully covered (defaults to True in PgSTAC). + * @param skipcovered Skip any items that would show up completely under the previous items (defaults + * to True in PgSTAC). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported (default: + * 'WebMercatorQuad'). + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAssetsForTile(String searchId, double z, double x, double y, Integer scanLimit, + Integer itemsLimit, Integer timeLimit, Boolean exitwhenfull, Boolean skipcovered, + Tilematrixsetid tileMatrixSetId) { + // Generated convenience method for getAssetsForTileWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (scanLimit != null) { + requestOptions.addQueryParam("scan_limit", String.valueOf(scanLimit), false); + } + if (itemsLimit != null) { + requestOptions.addQueryParam("items_limit", String.valueOf(itemsLimit), false); + } + if (timeLimit != null) { + requestOptions.addQueryParam("time_limit", String.valueOf(timeLimit), false); + } + if (exitwhenfull != null) { + requestOptions.addQueryParam("exitwhenfull", String.valueOf(exitwhenfull), false); + } + if (skipcovered != null) { + requestOptions.addQueryParam("skipcovered", String.valueOf(skipcovered), false); + } + if (tileMatrixSetId != null) { + requestOptions.addQueryParam("tileMatrixSetId", tileMatrixSetId.toString(), false); + } + return getAssetsForTileWithResponse(searchId, z, x, y, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_BINARY_DATA)); + } + + /** + * Assets For Tile + * + * Return a list of assets which overlap a given tile. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAssetsForTile(String searchId, double z, double x, double y) { + // Generated convenience method for getAssetsForTileWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAssetsForTileWithResponse(searchId, z, x, y, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_BINARY_DATA)); + } + + /** + * Assets For Tile Tilematrixsetid As Path + * + * Return a list of assets which overlap a given tile. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scanLimit Return as soon as we scan N items (defaults to 10000 in PgSTAC). + * @param itemsLimit Return as soon as we have N items per geometry (defaults to 100 in PgSTAC). + * @param timeLimit Return after N seconds to avoid long requests (defaults to 5 in PgSTAC). + * @param exitwhenfull Return as soon as the geometry is fully covered (defaults to True in PgSTAC). + * @param skipcovered Skip any items that would show up completely under the previous items (defaults + * to True in PgSTAC). + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAssetsForTileWithMatrixSet(String searchId, String tileMatrixSetId, double z, + double x, double y, Integer scanLimit, Integer itemsLimit, Integer timeLimit, Boolean exitwhenfull, + Boolean skipcovered) { + // Generated convenience method for getAssetsForTileWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (scanLimit != null) { + requestOptions.addQueryParam("scan_limit", String.valueOf(scanLimit), false); + } + if (itemsLimit != null) { + requestOptions.addQueryParam("items_limit", String.valueOf(itemsLimit), false); + } + if (timeLimit != null) { + requestOptions.addQueryParam("time_limit", String.valueOf(timeLimit), false); + } + if (exitwhenfull != null) { + requestOptions.addQueryParam("exitwhenfull", String.valueOf(exitwhenfull), false); + } + if (skipcovered != null) { + requestOptions.addQueryParam("skipcovered", String.valueOf(skipcovered), false); + } + return getAssetsForTileWithMatrixSetWithResponse(searchId, tileMatrixSetId, z, x, y, requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_BINARY_DATA)); + } + + /** + * Assets For Tile Tilematrixsetid As Path + * + * Return a list of assets which overlap a given tile. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAssetsForTileWithMatrixSet(String searchId, String tileMatrixSetId, double z, + double x, double y) { + // Generated convenience method for getAssetsForTileWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAssetsForTileWithMatrixSetWithResponse(searchId, tileMatrixSetId, z, x, y, requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_BINARY_DATA)); + } + + /** + * Assets For Point + * + * Return a list of assets for a given point. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param lon Longitude. + * @param lat Latitude. + * @param scanLimit Return as soon as we scan N items (defaults to 10000 in PgSTAC). + * @param itemsLimit Return as soon as we have N items per geometry (defaults to 100 in PgSTAC). + * @param timeLimit Return after N seconds to avoid long requests (defaults to 5 in PgSTAC). + * @param exitwhenfull Return as soon as the geometry is fully covered (defaults to True in PgSTAC). + * @param skipcovered Skip any items that would show up completely under the previous items (defaults + * to True in PgSTAC). + * @param coordCrs Coordinate Reference System of the input coords. Default to `epsg:4326`. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAssetsForPoint(String searchId, double lon, double lat, Integer scanLimit, + Integer itemsLimit, Integer timeLimit, Boolean exitwhenfull, Boolean skipcovered, String coordCrs) { + // Generated convenience method for getAssetsForPointWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (scanLimit != null) { + requestOptions.addQueryParam("scan_limit", String.valueOf(scanLimit), false); + } + if (itemsLimit != null) { + requestOptions.addQueryParam("items_limit", String.valueOf(itemsLimit), false); + } + if (timeLimit != null) { + requestOptions.addQueryParam("time_limit", String.valueOf(timeLimit), false); + } + if (exitwhenfull != null) { + requestOptions.addQueryParam("exitwhenfull", String.valueOf(exitwhenfull), false); + } + if (skipcovered != null) { + requestOptions.addQueryParam("skipcovered", String.valueOf(skipcovered), false); + } + if (coordCrs != null) { + requestOptions.addQueryParam("coord-crs", coordCrs, false); + } + return getAssetsForPointWithResponse(searchId, lon, lat, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_BINARY_DATA)); + } + + /** + * Assets For Point + * + * Return a list of assets for a given point. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param lon Longitude. + * @param lat Latitude. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAssetsForPoint(String searchId, double lon, double lat) { + // Generated convenience method for getAssetsForPointWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAssetsForPointWithResponse(searchId, lon, lat, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_BINARY_DATA)); + } + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_BINARY_DATA + = new TypeReference>() { + }; +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/MosaicTilerClient.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/MosaicTilerClient.java new file mode 100644 index 000000000000..fb3e10879a86 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/MosaicTilerClient.java @@ -0,0 +1,2353 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +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.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.serializer.TypeReference; +import com.azure.planetarycomputer.implementation.MosaicTilerClientImpl; +import com.azure.planetarycomputer.implementation.models.RegisterSearchRequest; +import com.azure.planetarycomputer.models.Algorithm; +import com.azure.planetarycomputer.models.ColorMapNames; +import com.azure.planetarycomputer.models.ImageType; +import com.azure.planetarycomputer.models.PixelSelection; +import com.azure.planetarycomputer.models.RegisterResponse; +import com.azure.planetarycomputer.models.RegisterSearchOptions; +import com.azure.planetarycomputer.models.Resampling; +import com.azure.planetarycomputer.models.TileJsonResponse; +import com.azure.planetarycomputer.models.Tilematrixsetid; +import com.azure.planetarycomputer.models.TitilerPgstacModelInfo; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * Initializes a new instance of the synchronous MosaicTilerClient type. + */ +@ServiceClient(builder = MosaicTilerClientBuilder.class) +public final class MosaicTilerClient { + @Generated + private final MosaicTilerClientImpl serviceClient; + + /** + * Initializes an instance of MosaicTilerClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + MosaicTilerClient(MosaicTilerClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Tile + * + * Create map tile. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: + * 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", "LINZAntarticaMapTilegrid", + * "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", "WGS1984Quad", + * "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
collectionStringNoSTAC Collection ID
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
pixel_selectionStringNoPixel selection method. Allowed values: "first", + * "highest", "lowest", "mean", "median", "stdev", "lastbandlow", "lastbandhight".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept 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 body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTileWithResponse(String searchId, double z, double x, double y, double scale, + String format, String accept, RequestOptions requestOptions) { + return this.serviceClient.getTileWithResponse(searchId, z, x, y, scale, format, accept, requestOptions); + } + + /** + * Tile Tilematrixsetid As Path + * + * Create map tile. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
collectionStringNoSTAC Collection ID
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
pixel_selectionStringNoPixel selection method. Allowed values: "first", + * "highest", "lowest", "mean", "median", "stdev", "lastbandlow", "lastbandhight".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept 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 body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTileWithMatrixSetWithResponse(String searchId, String tileMatrixSetId, double z, + double x, double y, double scale, String format, String accept, RequestOptions requestOptions) { + return this.serviceClient.getTileWithMatrixSetWithResponse(searchId, tileMatrixSetId, z, x, y, scale, format, + accept, requestOptions); + } + + /** + * Tilejson + * + * Return TileJSON document for a searchId. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", + * "LINZAntarticaMapTilegrid", "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", + * "WGS1984Quad", "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
tile_formatStringNoDefault will be automatically defined if the output image + * needs a mask (png) or + * not (jpeg). Allowed values: "png", "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferDoubleNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
collectionStringNoSTAC Collection ID
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
pixel_selectionStringNoPixel selection method. Allowed values: "first", + * "highest", "lowest", "mean", "median", "stdev", "lastbandlow", "lastbandhight".
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     tilejson: String (Optional)
+     *     name: String (Optional)
+     *     description: String (Optional)
+     *     version: String (Optional)
+     *     attribution: String (Optional)
+     *     template: String (Optional)
+     *     legend: String (Optional)
+     *     scheme: String(xyz/tms) (Optional)
+     *     tiles (Required): [
+     *         String (Required)
+     *     ]
+     *     grids (Optional): [
+     *         String (Optional)
+     *     ]
+     *     data (Optional): [
+     *         String (Optional)
+     *     ]
+     *     minzoom: Integer (Optional)
+     *     maxzoom: Integer (Optional)
+     *     bounds (Optional): [
+     *         double (Optional)
+     *     ]
+     *     center (Optional): [
+     *         double (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @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 tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTileJsonWithResponse(String searchId, RequestOptions requestOptions) { + return this.serviceClient.getTileJsonWithResponse(searchId, requestOptions); + } + + /** + * Tilejson Tilematrixsetid As Path + * + * Return TileJSON document for a searchId. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
tile_formatStringNoDefault will be automatically defined if the output image + * needs a mask (png) or + * not (jpeg). Allowed values: "png", "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
collectionStringNoSTAC Collection ID
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
pixel_selectionStringNoPixel selection method. Allowed values: "first", + * "highest", "lowest", "mean", "median", "stdev", "lastbandlow", "lastbandhight".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     tilejson: String (Optional)
+     *     name: String (Optional)
+     *     description: String (Optional)
+     *     version: String (Optional)
+     *     attribution: String (Optional)
+     *     template: String (Optional)
+     *     legend: String (Optional)
+     *     scheme: String(xyz/tms) (Optional)
+     *     tiles (Required): [
+     *         String (Required)
+     *     ]
+     *     grids (Optional): [
+     *         String (Optional)
+     *     ]
+     *     data (Optional): [
+     *         String (Optional)
+     *     ]
+     *     minzoom: Integer (Optional)
+     *     maxzoom: Integer (Optional)
+     *     bounds (Optional): [
+     *         double (Optional)
+     *     ]
+     *     center (Optional): [
+     *         double (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @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 tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTileJsonWithMatrixSetWithResponse(String searchId, String tileMatrixSetId, + RequestOptions requestOptions) { + return this.serviceClient.getTileJsonWithMatrixSetWithResponse(searchId, tileMatrixSetId, requestOptions); + } + + /** + * Wmts + * + * OGC WMTS endpoint. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: + * 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", "LINZAntarticaMapTilegrid", + * "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", "WGS1984Quad", + * "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
tile_formatStringNoOutput image type. Default is png. Allowed values: "png", + * "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * String
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @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 a sequence of textual characters along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWmtsCapabilitiesWithResponse(String searchId, RequestOptions requestOptions) { + return this.serviceClient.getWmtsCapabilitiesWithResponse(searchId, requestOptions); + } + + /** + * Wmts Tilematrixsetid As Path + * + * OGC WMTS endpoint. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tile_formatStringNoOutput image type. Default is png. Allowed values: "png", + * "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * String
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @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 a sequence of textual characters along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWmtsCapabilitiesWithMatrixSetWithResponse(String searchId, String tileMatrixSetId, + RequestOptions requestOptions) { + return this.serviceClient.getWmtsCapabilitiesWithMatrixSetWithResponse(searchId, tileMatrixSetId, + requestOptions); + } + + /** + * Register Search + * + * Register a Search query. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     collections (Optional): [
+     *         String (Optional)
+     *     ]
+     *     ids (Optional): [
+     *         String (Optional)
+     *     ]
+     *     bbox: Double (Optional)
+     *     intersects (Optional): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     query (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     filter: String (Optional)
+     *     datetime: String (Optional)
+     *     sortby (Optional): [
+     *          (Optional){
+     *             field: String (Required)
+     *             direction: String(asc/desc) (Required)
+     *         }
+     *     ]
+     *     filter-lang: String(cql-json/cql2-json/cql2-text) (Optional)
+     *     metadata (Optional): {
+     *         type: String(mosaic/search) (Optional)
+     *         bounds: String (Optional)
+     *         minzoom: Integer (Optional)
+     *         maxzoom: Integer (Optional)
+     *         name: String (Optional)
+     *         assets (Optional): [
+     *             String (Optional)
+     *         ]
+     *         defaults (Optional): {
+     *             String: String (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     searchId: String (Required)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param registerSearchRequest The registerSearchRequest 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 response from a successful mosaic registration with search ID and related links along with + * {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response registerSearchWithResponse(BinaryData registerSearchRequest, + RequestOptions requestOptions) { + return this.serviceClient.registerSearchWithResponse(registerSearchRequest, requestOptions); + } + + /** + * Info Search + * + * Get Search query metadata. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     search (Required): {
+     *         hash: String (Required)
+     *         search (Required): {
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *         _where: String (Required)
+     *         orderby: String (Required)
+     *         lastused: OffsetDateTime (Required)
+     *         usecount: int (Required)
+     *         metadata (Required): {
+     *             type: String(mosaic/search) (Optional)
+     *             bounds: String (Optional)
+     *             minzoom: Integer (Optional)
+     *             maxzoom: Integer (Optional)
+     *             name: String (Optional)
+     *             assets (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             defaults (Optional): {
+     *                 String: String (Required)
+     *             }
+     *         }
+     *     }
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @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 information about a registered STAC search query along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getSearchInfoWithResponse(String searchId, RequestOptions requestOptions) { + return this.serviceClient.getSearchInfoWithResponse(searchId, requestOptions); + } + + /** + * Assets For Tile + * + * Return a list of assets which overlap a given tile. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: + * 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", "LINZAntarticaMapTilegrid", + * "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", "WGS1984Quad", + * "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *     BinaryData (Required)
+     * ]
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @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 body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAssetsForTileWithResponse(String searchId, double z, double x, double y, + RequestOptions requestOptions) { + return this.serviceClient.getAssetsForTileWithResponse(searchId, z, x, y, requestOptions); + } + + /** + * Assets For Tile Tilematrixsetid As Path + * + * Return a list of assets which overlap a given tile. + *

Query Parameters

+ * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *     BinaryData (Required)
+     * ]
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @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 body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAssetsForTileWithMatrixSetWithResponse(String searchId, String tileMatrixSetId, + double z, double x, double y, RequestOptions requestOptions) { + return this.serviceClient.getAssetsForTileWithMatrixSetWithResponse(searchId, tileMatrixSetId, z, x, y, + requestOptions); + } + + /** + * Assets For Point + * + * Return a list of assets for a given point. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *     BinaryData (Required)
+     * ]
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param lon Longitude. + * @param lat Latitude. + * @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 body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAssetsForPointWithResponse(String searchId, double lon, double lat, + RequestOptions requestOptions) { + return this.serviceClient.getAssetsForPointWithResponse(searchId, lon, lat, requestOptions); + } + + /** + * Tile + * + * Create map tile. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept parameter. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param scanLimit Return as soon as we scan N items (defaults to 10000 in PgSTAC). + * @param itemsLimit Return as soon as we have N items per geometry (defaults to 100 in PgSTAC). + * @param timeLimit Return after N seconds to avoid long requests (defaults to 5 in PgSTAC). + * @param exitwhenfull Return as soon as the geometry is fully covered (defaults to True in PgSTAC). + * @param skipcovered Skip any items that would show up completely under the previous items (defaults + * to True in PgSTAC). + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported (default: + * 'WebMercatorQuad'). + * @param buffer Buffer on each side of the given tile. It must be a multiple of `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param collection STAC Collection ID. + * @param resampling Resampling method. + * @param pixelSelection Pixel selection method. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData getTile(String searchId, double z, double x, double y, double scale, String format, String accept, + List assets, String expression, List assetBidx, Boolean assetAsBand, Double nodata, + Boolean unscale, Integer scanLimit, Integer itemsLimit, Integer timeLimit, Boolean exitwhenfull, + Boolean skipcovered, Algorithm algorithm, String algorithmParams, Tilematrixsetid tileMatrixSetId, + String buffer, String colorFormula, String collection, Resampling resampling, PixelSelection pixelSelection, + List rescale, ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for getTileWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (scanLimit != null) { + requestOptions.addQueryParam("scan_limit", String.valueOf(scanLimit), false); + } + if (itemsLimit != null) { + requestOptions.addQueryParam("items_limit", String.valueOf(itemsLimit), false); + } + if (timeLimit != null) { + requestOptions.addQueryParam("time_limit", String.valueOf(timeLimit), false); + } + if (exitwhenfull != null) { + requestOptions.addQueryParam("exitwhenfull", String.valueOf(exitwhenfull), false); + } + if (skipcovered != null) { + requestOptions.addQueryParam("skipcovered", String.valueOf(skipcovered), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (tileMatrixSetId != null) { + requestOptions.addQueryParam("tileMatrixSetId", tileMatrixSetId.toString(), false); + } + if (buffer != null) { + requestOptions.addQueryParam("buffer", buffer, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (collection != null) { + requestOptions.addQueryParam("collection", collection, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (pixelSelection != null) { + requestOptions.addQueryParam("pixel_selection", pixelSelection.toString(), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getTileWithResponse(searchId, z, x, y, scale, format, accept, requestOptions).getValue(); + } + + /** + * Tile + * + * Create map tile. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData getTile(String searchId, double z, double x, double y, double scale, String format, + String accept) { + // Generated convenience method for getTileWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTileWithResponse(searchId, z, x, y, scale, format, accept, requestOptions).getValue(); + } + + /** + * Tile Tilematrixsetid As Path + * + * Create map tile. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept parameter. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param scanLimit Return as soon as we scan N items (defaults to 10000 in PgSTAC). + * @param itemsLimit Return as soon as we have N items per geometry (defaults to 100 in PgSTAC). + * @param timeLimit Return after N seconds to avoid long requests (defaults to 5 in PgSTAC). + * @param exitwhenfull Return as soon as the geometry is fully covered (defaults to True in PgSTAC). + * @param skipcovered Skip any items that would show up completely under the previous items (defaults + * to True in PgSTAC). + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param buffer Buffer on each side of the given tile. It must be a multiple of `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param collection STAC Collection ID. + * @param resampling Resampling method. + * @param pixelSelection Pixel selection method. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData getTileWithMatrixSet(String searchId, String tileMatrixSetId, double z, double x, double y, + double scale, String format, String accept, List assets, String expression, List assetBidx, + Boolean assetAsBand, Double nodata, Boolean unscale, Integer scanLimit, Integer itemsLimit, Integer timeLimit, + Boolean exitwhenfull, Boolean skipcovered, Algorithm algorithm, String algorithmParams, String buffer, + String colorFormula, String collection, Resampling resampling, PixelSelection pixelSelection, + List rescale, ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for getTileWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (scanLimit != null) { + requestOptions.addQueryParam("scan_limit", String.valueOf(scanLimit), false); + } + if (itemsLimit != null) { + requestOptions.addQueryParam("items_limit", String.valueOf(itemsLimit), false); + } + if (timeLimit != null) { + requestOptions.addQueryParam("time_limit", String.valueOf(timeLimit), false); + } + if (exitwhenfull != null) { + requestOptions.addQueryParam("exitwhenfull", String.valueOf(exitwhenfull), false); + } + if (skipcovered != null) { + requestOptions.addQueryParam("skipcovered", String.valueOf(skipcovered), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (buffer != null) { + requestOptions.addQueryParam("buffer", buffer, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (collection != null) { + requestOptions.addQueryParam("collection", collection, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (pixelSelection != null) { + requestOptions.addQueryParam("pixel_selection", pixelSelection.toString(), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getTileWithMatrixSetWithResponse(searchId, tileMatrixSetId, z, x, y, scale, format, accept, + requestOptions).getValue(); + } + + /** + * Tile Tilematrixsetid As Path + * + * Create map tile. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData getTileWithMatrixSet(String searchId, String tileMatrixSetId, double z, double x, double y, + double scale, String format, String accept) { + // Generated convenience method for getTileWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTileWithMatrixSetWithResponse(searchId, tileMatrixSetId, z, x, y, scale, format, accept, + requestOptions).getValue(); + } + + /** + * Tilejson + * + * Return TileJSON document for a searchId. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param scanLimit Return as soon as we scan N items (defaults to 10000 in PgSTAC). + * @param itemsLimit Return as soon as we have N items per geometry (defaults to 100 in PgSTAC). + * @param timeLimit Return after N seconds to avoid long requests (defaults to 5 in PgSTAC). + * @param exitwhenfull Return as soon as the geometry is fully covered (defaults to True in PgSTAC). + * @param skipcovered Skip any items that would show up completely under the previous items (defaults + * to True in PgSTAC). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported (default: 'WebMercatorQuad'). + * @param tileFormat Default will be automatically defined if the output image needs a mask (png) or + * not (jpeg). + * @param tileScale Tile scale factor affecting output size. Values > 1 produce larger tiles (e.g., 1=256x256, + * 2=512x512). + * @param minzoom Overwrite default minzoom. + * @param maxzoom Overwrite default maxzoom. + * @param buffer Buffer on each side of the given tile. It must be a multiple of `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param collection STAC Collection ID. + * @param resampling Resampling method. + * @param pixelSelection Pixel selection method. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TileJsonResponse getTileJson(String searchId, List assets, String expression, List assetBidx, + Boolean assetAsBand, Double nodata, Boolean unscale, Integer scanLimit, Integer itemsLimit, Integer timeLimit, + Boolean exitwhenfull, Boolean skipcovered, Tilematrixsetid tileMatrixSetId, ImageType tileFormat, + Integer tileScale, Integer minzoom, Integer maxzoom, Double buffer, String colorFormula, String collection, + Resampling resampling, PixelSelection pixelSelection, Algorithm algorithm, String algorithmParams, + List rescale, ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for getTileJsonWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (scanLimit != null) { + requestOptions.addQueryParam("scan_limit", String.valueOf(scanLimit), false); + } + if (itemsLimit != null) { + requestOptions.addQueryParam("items_limit", String.valueOf(itemsLimit), false); + } + if (timeLimit != null) { + requestOptions.addQueryParam("time_limit", String.valueOf(timeLimit), false); + } + if (exitwhenfull != null) { + requestOptions.addQueryParam("exitwhenfull", String.valueOf(exitwhenfull), false); + } + if (skipcovered != null) { + requestOptions.addQueryParam("skipcovered", String.valueOf(skipcovered), false); + } + if (tileMatrixSetId != null) { + requestOptions.addQueryParam("tileMatrixSetId", tileMatrixSetId.toString(), false); + } + if (tileFormat != null) { + requestOptions.addQueryParam("tile_format", tileFormat.toString(), false); + } + if (tileScale != null) { + requestOptions.addQueryParam("tile_scale", String.valueOf(tileScale), false); + } + if (minzoom != null) { + requestOptions.addQueryParam("minzoom", String.valueOf(minzoom), false); + } + if (maxzoom != null) { + requestOptions.addQueryParam("maxzoom", String.valueOf(maxzoom), false); + } + if (buffer != null) { + requestOptions.addQueryParam("buffer", String.valueOf(buffer), false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (collection != null) { + requestOptions.addQueryParam("collection", collection, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (pixelSelection != null) { + requestOptions.addQueryParam("pixel_selection", pixelSelection.toString(), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getTileJsonWithResponse(searchId, requestOptions).getValue().toObject(TileJsonResponse.class); + } + + /** + * Tilejson + * + * Return TileJSON document for a searchId. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TileJsonResponse getTileJson(String searchId) { + // Generated convenience method for getTileJsonWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTileJsonWithResponse(searchId, requestOptions).getValue().toObject(TileJsonResponse.class); + } + + /** + * Tilejson Tilematrixsetid As Path + * + * Return TileJSON document for a searchId. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param scanLimit Return as soon as we scan N items (defaults to 10000 in PgSTAC). + * @param itemsLimit Return as soon as we have N items per geometry (defaults to 100 in PgSTAC). + * @param timeLimit Return after N seconds to avoid long requests (defaults to 5 in PgSTAC). + * @param exitwhenfull Return as soon as the geometry is fully covered (defaults to True in PgSTAC). + * @param skipcovered Skip any items that would show up completely under the previous items (defaults + * to True in PgSTAC). + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param minzoom Overwrite default minzoom. + * @param maxzoom Overwrite default maxzoom. + * @param tileFormat Default will be automatically defined if the output image needs a mask (png) or + * not (jpeg). + * @param tileScale Tile scale factor affecting output size. Values > 1 produce larger tiles (e.g., 1=256x256, + * 2=512x512). + * @param buffer Buffer on each side of the given tile. It must be a multiple of `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param collection STAC Collection ID. + * @param resampling Resampling method. + * @param pixelSelection Pixel selection method. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TileJsonResponse getTileJsonWithMatrixSet(String searchId, String tileMatrixSetId, List assets, + String expression, List assetBidx, Boolean assetAsBand, Double nodata, Boolean unscale, + Integer scanLimit, Integer itemsLimit, Integer timeLimit, Boolean exitwhenfull, Boolean skipcovered, + Algorithm algorithm, String algorithmParams, Integer minzoom, Integer maxzoom, ImageType tileFormat, + Integer tileScale, String buffer, String colorFormula, String collection, Resampling resampling, + PixelSelection pixelSelection, List rescale, ColorMapNames colormapName, String colormap, + Boolean returnMask) { + // Generated convenience method for getTileJsonWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (scanLimit != null) { + requestOptions.addQueryParam("scan_limit", String.valueOf(scanLimit), false); + } + if (itemsLimit != null) { + requestOptions.addQueryParam("items_limit", String.valueOf(itemsLimit), false); + } + if (timeLimit != null) { + requestOptions.addQueryParam("time_limit", String.valueOf(timeLimit), false); + } + if (exitwhenfull != null) { + requestOptions.addQueryParam("exitwhenfull", String.valueOf(exitwhenfull), false); + } + if (skipcovered != null) { + requestOptions.addQueryParam("skipcovered", String.valueOf(skipcovered), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (minzoom != null) { + requestOptions.addQueryParam("minzoom", String.valueOf(minzoom), false); + } + if (maxzoom != null) { + requestOptions.addQueryParam("maxzoom", String.valueOf(maxzoom), false); + } + if (tileFormat != null) { + requestOptions.addQueryParam("tile_format", tileFormat.toString(), false); + } + if (tileScale != null) { + requestOptions.addQueryParam("tile_scale", String.valueOf(tileScale), false); + } + if (buffer != null) { + requestOptions.addQueryParam("buffer", buffer, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (collection != null) { + requestOptions.addQueryParam("collection", collection, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (pixelSelection != null) { + requestOptions.addQueryParam("pixel_selection", pixelSelection.toString(), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getTileJsonWithMatrixSetWithResponse(searchId, tileMatrixSetId, requestOptions).getValue() + .toObject(TileJsonResponse.class); + } + + /** + * Tilejson Tilematrixsetid As Path + * + * Return TileJSON document for a searchId. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TileJsonResponse getTileJsonWithMatrixSet(String searchId, String tileMatrixSetId) { + // Generated convenience method for getTileJsonWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTileJsonWithMatrixSetWithResponse(searchId, tileMatrixSetId, requestOptions).getValue() + .toObject(TileJsonResponse.class); + } + + /** + * Wmts + * + * OGC WMTS endpoint. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported (default: + * 'WebMercatorQuad'). + * @param tileFormat Output image type. Default is png. + * @param tileScale Tile scale factor affecting output size. Values > 1 produce larger tiles (e.g., 1=256x256, + * 2=512x512). + * @param minzoom Overwrite default minzoom. + * @param maxzoom Overwrite default maxzoom. + * @param buffer Buffer on each side of the given tile. It must be a multiple of `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param resampling Resampling method. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a sequence of textual characters. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public String getWmtsCapabilities(String searchId, List assets, String expression, List assetBidx, + Boolean assetAsBand, Double nodata, Boolean unscale, Algorithm algorithm, String algorithmParams, + Tilematrixsetid tileMatrixSetId, ImageType tileFormat, Integer tileScale, Integer minzoom, Integer maxzoom, + String buffer, String colorFormula, Resampling resampling, List rescale, ColorMapNames colormapName, + String colormap, Boolean returnMask) { + // Generated convenience method for getWmtsCapabilitiesWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (tileMatrixSetId != null) { + requestOptions.addQueryParam("tileMatrixSetId", tileMatrixSetId.toString(), false); + } + if (tileFormat != null) { + requestOptions.addQueryParam("tile_format", tileFormat.toString(), false); + } + if (tileScale != null) { + requestOptions.addQueryParam("tile_scale", String.valueOf(tileScale), false); + } + if (minzoom != null) { + requestOptions.addQueryParam("minzoom", String.valueOf(minzoom), false); + } + if (maxzoom != null) { + requestOptions.addQueryParam("maxzoom", String.valueOf(maxzoom), false); + } + if (buffer != null) { + requestOptions.addQueryParam("buffer", buffer, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getWmtsCapabilitiesWithResponse(searchId, requestOptions).getValue().toObject(String.class); + } + + /** + * Wmts + * + * OGC WMTS endpoint. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a sequence of textual characters. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public String getWmtsCapabilities(String searchId) { + // Generated convenience method for getWmtsCapabilitiesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWmtsCapabilitiesWithResponse(searchId, requestOptions).getValue().toObject(String.class); + } + + /** + * Wmts Tilematrixsetid As Path + * + * OGC WMTS endpoint. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param tileFormat Output image type. Default is png. + * @param tileScale Tile scale factor affecting output size. Values > 1 produce larger tiles (e.g., 1=256x256, + * 2=512x512). + * @param minzoom Overwrite default minzoom. + * @param maxzoom Overwrite default maxzoom. + * @param buffer Buffer on each side of the given tile. It must be a multiple of `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param resampling Resampling method. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a sequence of textual characters. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public String getWmtsCapabilitiesWithMatrixSet(String searchId, String tileMatrixSetId, List assets, + String expression, List assetBidx, Boolean assetAsBand, Double nodata, Boolean unscale, + Algorithm algorithm, String algorithmParams, ImageType tileFormat, Integer tileScale, Integer minzoom, + Integer maxzoom, String buffer, String colorFormula, Resampling resampling, List rescale, + ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for getWmtsCapabilitiesWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (tileFormat != null) { + requestOptions.addQueryParam("tile_format", tileFormat.toString(), false); + } + if (tileScale != null) { + requestOptions.addQueryParam("tile_scale", String.valueOf(tileScale), false); + } + if (minzoom != null) { + requestOptions.addQueryParam("minzoom", String.valueOf(minzoom), false); + } + if (maxzoom != null) { + requestOptions.addQueryParam("maxzoom", String.valueOf(maxzoom), false); + } + if (buffer != null) { + requestOptions.addQueryParam("buffer", buffer, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getWmtsCapabilitiesWithMatrixSetWithResponse(searchId, tileMatrixSetId, requestOptions).getValue() + .toObject(String.class); + } + + /** + * Wmts Tilematrixsetid As Path + * + * OGC WMTS endpoint. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a sequence of textual characters. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public String getWmtsCapabilitiesWithMatrixSet(String searchId, String tileMatrixSetId) { + // Generated convenience method for getWmtsCapabilitiesWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWmtsCapabilitiesWithMatrixSetWithResponse(searchId, tileMatrixSetId, requestOptions).getValue() + .toObject(String.class); + } + + /** + * Register Search + * + * Register a Search query. + * + * @param options Options for registerSearch API. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return response from a successful mosaic registration with search ID and related links. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public RegisterResponse registerSearch(RegisterSearchOptions options) { + // Generated convenience method for registerSearchWithResponse + RequestOptions requestOptions = new RequestOptions(); + RegisterSearchRequest registerSearchRequestObj + = new RegisterSearchRequest().setCollections(options.getCollections()) + .setIds(options.getIds()) + .setBbox(options.getBbox()) + .setIntersects(options.getIntersects()) + .setQuery(options.getQuery()) + .setFilter(options.getFilter()) + .setDatetime(options.getDatetime()) + .setSortBy(options.getSortBy()) + .setFilterLang(options.getFilterLang()) + .setMetadata(options.getMetadata()); + BinaryData registerSearchRequest = BinaryData.fromObject(registerSearchRequestObj); + return registerSearchWithResponse(registerSearchRequest, requestOptions).getValue() + .toObject(RegisterResponse.class); + } + + /** + * Info Search + * + * Get Search query metadata. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return information about a registered STAC search query. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TitilerPgstacModelInfo getSearchInfo(String searchId) { + // Generated convenience method for getSearchInfoWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getSearchInfoWithResponse(searchId, requestOptions).getValue().toObject(TitilerPgstacModelInfo.class); + } + + /** + * Assets For Tile + * + * Return a list of assets which overlap a given tile. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scanLimit Return as soon as we scan N items (defaults to 10000 in PgSTAC). + * @param itemsLimit Return as soon as we have N items per geometry (defaults to 100 in PgSTAC). + * @param timeLimit Return after N seconds to avoid long requests (defaults to 5 in PgSTAC). + * @param exitwhenfull Return as soon as the geometry is fully covered (defaults to True in PgSTAC). + * @param skipcovered Skip any items that would show up completely under the previous items (defaults + * to True in PgSTAC). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported (default: + * 'WebMercatorQuad'). + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getAssetsForTile(String searchId, double z, double x, double y, Integer scanLimit, + Integer itemsLimit, Integer timeLimit, Boolean exitwhenfull, Boolean skipcovered, + Tilematrixsetid tileMatrixSetId) { + // Generated convenience method for getAssetsForTileWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (scanLimit != null) { + requestOptions.addQueryParam("scan_limit", String.valueOf(scanLimit), false); + } + if (itemsLimit != null) { + requestOptions.addQueryParam("items_limit", String.valueOf(itemsLimit), false); + } + if (timeLimit != null) { + requestOptions.addQueryParam("time_limit", String.valueOf(timeLimit), false); + } + if (exitwhenfull != null) { + requestOptions.addQueryParam("exitwhenfull", String.valueOf(exitwhenfull), false); + } + if (skipcovered != null) { + requestOptions.addQueryParam("skipcovered", String.valueOf(skipcovered), false); + } + if (tileMatrixSetId != null) { + requestOptions.addQueryParam("tileMatrixSetId", tileMatrixSetId.toString(), false); + } + return getAssetsForTileWithResponse(searchId, z, x, y, requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_BINARY_DATA); + } + + /** + * Assets For Tile + * + * Return a list of assets which overlap a given tile. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getAssetsForTile(String searchId, double z, double x, double y) { + // Generated convenience method for getAssetsForTileWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAssetsForTileWithResponse(searchId, z, x, y, requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_BINARY_DATA); + } + + /** + * Assets For Tile Tilematrixsetid As Path + * + * Return a list of assets which overlap a given tile. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scanLimit Return as soon as we scan N items (defaults to 10000 in PgSTAC). + * @param itemsLimit Return as soon as we have N items per geometry (defaults to 100 in PgSTAC). + * @param timeLimit Return after N seconds to avoid long requests (defaults to 5 in PgSTAC). + * @param exitwhenfull Return as soon as the geometry is fully covered (defaults to True in PgSTAC). + * @param skipcovered Skip any items that would show up completely under the previous items (defaults + * to True in PgSTAC). + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getAssetsForTileWithMatrixSet(String searchId, String tileMatrixSetId, double z, double x, + double y, Integer scanLimit, Integer itemsLimit, Integer timeLimit, Boolean exitwhenfull, Boolean skipcovered) { + // Generated convenience method for getAssetsForTileWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (scanLimit != null) { + requestOptions.addQueryParam("scan_limit", String.valueOf(scanLimit), false); + } + if (itemsLimit != null) { + requestOptions.addQueryParam("items_limit", String.valueOf(itemsLimit), false); + } + if (timeLimit != null) { + requestOptions.addQueryParam("time_limit", String.valueOf(timeLimit), false); + } + if (exitwhenfull != null) { + requestOptions.addQueryParam("exitwhenfull", String.valueOf(exitwhenfull), false); + } + if (skipcovered != null) { + requestOptions.addQueryParam("skipcovered", String.valueOf(skipcovered), false); + } + return getAssetsForTileWithMatrixSetWithResponse(searchId, tileMatrixSetId, z, x, y, requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_BINARY_DATA); + } + + /** + * Assets For Tile Tilematrixsetid As Path + * + * Return a list of assets which overlap a given tile. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getAssetsForTileWithMatrixSet(String searchId, String tileMatrixSetId, double z, double x, + double y) { + // Generated convenience method for getAssetsForTileWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAssetsForTileWithMatrixSetWithResponse(searchId, tileMatrixSetId, z, x, y, requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_BINARY_DATA); + } + + /** + * Assets For Point + * + * Return a list of assets for a given point. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param lon Longitude. + * @param lat Latitude. + * @param scanLimit Return as soon as we scan N items (defaults to 10000 in PgSTAC). + * @param itemsLimit Return as soon as we have N items per geometry (defaults to 100 in PgSTAC). + * @param timeLimit Return after N seconds to avoid long requests (defaults to 5 in PgSTAC). + * @param exitwhenfull Return as soon as the geometry is fully covered (defaults to True in PgSTAC). + * @param skipcovered Skip any items that would show up completely under the previous items (defaults + * to True in PgSTAC). + * @param coordCrs Coordinate Reference System of the input coords. Default to `epsg:4326`. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getAssetsForPoint(String searchId, double lon, double lat, Integer scanLimit, + Integer itemsLimit, Integer timeLimit, Boolean exitwhenfull, Boolean skipcovered, String coordCrs) { + // Generated convenience method for getAssetsForPointWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (scanLimit != null) { + requestOptions.addQueryParam("scan_limit", String.valueOf(scanLimit), false); + } + if (itemsLimit != null) { + requestOptions.addQueryParam("items_limit", String.valueOf(itemsLimit), false); + } + if (timeLimit != null) { + requestOptions.addQueryParam("time_limit", String.valueOf(timeLimit), false); + } + if (exitwhenfull != null) { + requestOptions.addQueryParam("exitwhenfull", String.valueOf(exitwhenfull), false); + } + if (skipcovered != null) { + requestOptions.addQueryParam("skipcovered", String.valueOf(skipcovered), false); + } + if (coordCrs != null) { + requestOptions.addQueryParam("coord-crs", coordCrs, false); + } + return getAssetsForPointWithResponse(searchId, lon, lat, requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_BINARY_DATA); + } + + /** + * Assets For Point + * + * Return a list of assets for a given point. + * + * @param searchId Search Id (pgSTAC Search Hash). + * @param lon Longitude. + * @param lat Latitude. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getAssetsForPoint(String searchId, double lon, double lat) { + // Generated convenience method for getAssetsForPointWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAssetsForPointWithResponse(searchId, lon, lat, requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_BINARY_DATA); + } + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_BINARY_DATA + = new TypeReference>() { + }; +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/MosaicTilerClientBuilder.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/MosaicTilerClientBuilder.java new file mode 100644 index 000000000000..1a94c84b8d81 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/MosaicTilerClientBuilder.java @@ -0,0 +1,333 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ServiceClientBuilder; +import com.azure.core.client.traits.ConfigurationTrait; +import com.azure.core.client.traits.EndpointTrait; +import com.azure.core.client.traits.HttpTrait; +import com.azure.core.client.traits.TokenCredentialTrait; +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.AddDatePolicy; +import com.azure.core.http.policy.AddHeadersFromContextPolicy; +import com.azure.core.http.policy.AddHeadersPolicy; +import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; +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.RequestIdPolicy; +import com.azure.core.http.policy.RetryOptions; +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.builder.ClientBuilderUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.planetarycomputer.implementation.MosaicTilerClientImpl; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** + * A builder for creating a new instance of the MosaicTilerClient type. + */ +@ServiceClientBuilder(serviceClients = { MosaicTilerClient.class, MosaicTilerAsyncClient.class }) +public final class MosaicTilerClientBuilder + implements HttpTrait, ConfigurationTrait, + TokenCredentialTrait, EndpointTrait { + @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://geocatalog.spatio.azure.com/.default" }; + + @Generated + private static final Map PROPERTIES = CoreUtils.getProperties("azure-planetarycomputer.properties"); + + @Generated + private final List pipelinePolicies; + + /** + * Create an instance of the MosaicTilerClientBuilder. + */ + @Generated + public MosaicTilerClientBuilder() { + this.pipelinePolicies = new ArrayList<>(); + } + + /* + * The HTTP client used to send the request. + */ + @Generated + private HttpClient httpClient; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public MosaicTilerClientBuilder httpClient(HttpClient httpClient) { + this.httpClient = httpClient; + return this; + } + + /* + * The HTTP pipeline to send requests through. + */ + @Generated + private HttpPipeline pipeline; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public MosaicTilerClientBuilder pipeline(HttpPipeline pipeline) { + if (this.pipeline != null && pipeline == null) { + LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured."); + } + this.pipeline = pipeline; + return this; + } + + /* + * The logging configuration for HTTP requests and responses. + */ + @Generated + private HttpLogOptions httpLogOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public MosaicTilerClientBuilder httpLogOptions(HttpLogOptions httpLogOptions) { + this.httpLogOptions = httpLogOptions; + return this; + } + + /* + * The client options such as application ID and custom headers to set on a request. + */ + @Generated + private ClientOptions clientOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public MosaicTilerClientBuilder clientOptions(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + return this; + } + + /* + * The retry options to configure retry policy for failed requests. + */ + @Generated + private RetryOptions retryOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public MosaicTilerClientBuilder retryOptions(RetryOptions retryOptions) { + this.retryOptions = retryOptions; + return this; + } + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public MosaicTilerClientBuilder addPolicy(HttpPipelinePolicy customPolicy) { + Objects.requireNonNull(customPolicy, "'customPolicy' cannot be null."); + pipelinePolicies.add(customPolicy); + return this; + } + + /* + * The configuration store that is used during construction of the service client. + */ + @Generated + private Configuration configuration; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public MosaicTilerClientBuilder configuration(Configuration configuration) { + this.configuration = configuration; + return this; + } + + /* + * The TokenCredential used for authentication. + */ + @Generated + private TokenCredential tokenCredential; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public MosaicTilerClientBuilder credential(TokenCredential tokenCredential) { + this.tokenCredential = tokenCredential; + return this; + } + + /* + * The service endpoint + */ + @Generated + private String endpoint; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public MosaicTilerClientBuilder endpoint(String endpoint) { + this.endpoint = endpoint; + return this; + } + + /* + * Service version + */ + @Generated + private PlanetaryComputerServiceVersion serviceVersion; + + /** + * Sets Service version. + * + * @param serviceVersion the serviceVersion value. + * @return the MosaicTilerClientBuilder. + */ + @Generated + public MosaicTilerClientBuilder serviceVersion(PlanetaryComputerServiceVersion serviceVersion) { + this.serviceVersion = serviceVersion; + 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 MosaicTilerClientBuilder. + */ + @Generated + public MosaicTilerClientBuilder retryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = retryPolicy; + return this; + } + + /** + * Builds an instance of MosaicTilerClientImpl with the provided parameters. + * + * @return an instance of MosaicTilerClientImpl. + */ + @Generated + private MosaicTilerClientImpl buildInnerClient() { + this.validateClient(); + HttpPipeline localPipeline = (pipeline != null) ? pipeline : createHttpPipeline(); + PlanetaryComputerServiceVersion localServiceVersion + = (serviceVersion != null) ? serviceVersion : PlanetaryComputerServiceVersion.getLatest(); + MosaicTilerClientImpl client = new MosaicTilerClientImpl(localPipeline, + JacksonAdapter.createDefaultSerializerAdapter(), this.endpoint, localServiceVersion); + return client; + } + + @Generated + private void validateClient() { + // This method is invoked from 'buildInnerClient'/'buildClient' method. + // Developer can customize this method, to validate that the necessary conditions are met for the new client. + Objects.requireNonNull(endpoint, "'endpoint' cannot be null."); + } + + @Generated + private HttpPipeline createHttpPipeline() { + Configuration buildConfiguration + = (configuration == null) ? Configuration.getGlobalConfiguration() : configuration; + HttpLogOptions localHttpLogOptions = this.httpLogOptions == null ? new HttpLogOptions() : this.httpLogOptions; + ClientOptions localClientOptions = this.clientOptions == null ? new ClientOptions() : this.clientOptions; + List policies = new ArrayList<>(); + String clientName = PROPERTIES.getOrDefault(SDK_NAME, "UnknownName"); + String clientVersion = PROPERTIES.getOrDefault(SDK_VERSION, "UnknownVersion"); + String applicationId = CoreUtils.getApplicationId(localClientOptions, localHttpLogOptions); + policies.add(new UserAgentPolicy(applicationId, clientName, clientVersion, buildConfiguration)); + policies.add(new RequestIdPolicy()); + policies.add(new AddHeadersFromContextPolicy()); + HttpHeaders headers = CoreUtils.createHttpHeadersFromClientOptions(localClientOptions); + if (headers != null) { + policies.add(new AddHeadersPolicy(headers)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addBeforeRetryPolicies(policies); + policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy())); + policies.add(new AddDatePolicy()); + if (tokenCredential != null) { + policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addAfterRetryPolicies(policies); + policies.add(new HttpLoggingPolicy(localHttpLogOptions)); + HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0])) + .httpClient(httpClient) + .clientOptions(localClientOptions) + .build(); + return httpPipeline; + } + + /** + * Builds an instance of MosaicTilerAsyncClient class. + * + * @return an instance of MosaicTilerAsyncClient. + */ + @Generated + public MosaicTilerAsyncClient buildAsyncClient() { + return new MosaicTilerAsyncClient(buildInnerClient()); + } + + /** + * Builds an instance of MosaicTilerClient class. + * + * @return an instance of MosaicTilerClient. + */ + @Generated + public MosaicTilerClient buildClient() { + return new MosaicTilerClient(buildInnerClient()); + } + + private static final ClientLogger LOGGER = new ClientLogger(MosaicTilerClientBuilder.class); +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/PlanetaryComputerServiceVersion.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/PlanetaryComputerServiceVersion.java new file mode 100644 index 000000000000..fd199e3ec366 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/PlanetaryComputerServiceVersion.java @@ -0,0 +1,40 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +import com.azure.core.util.ServiceVersion; + +/** + * Service version of PlanetaryComputerClient. + */ +public enum PlanetaryComputerServiceVersion implements ServiceVersion { + /** + * Enum value 2025-04-30-preview. + */ + V2025_04_30_PREVIEW("2025-04-30-preview"); + + private final String version; + + PlanetaryComputerServiceVersion(String version) { + this.version = version; + } + + /** + * {@inheritDoc} + */ + @Override + public String getVersion() { + return this.version; + } + + /** + * Gets the latest service version supported by this client library. + * + * @return The latest {@link PlanetaryComputerServiceVersion}. + */ + public static PlanetaryComputerServiceVersion getLatest() { + return V2025_04_30_PREVIEW; + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/SharedAccessSignatureAsyncClient.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/SharedAccessSignatureAsyncClient.java new file mode 100644 index 000000000000..256e938f5ab2 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/SharedAccessSignatureAsyncClient.java @@ -0,0 +1,328 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +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.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.FluxUtil; +import com.azure.planetarycomputer.implementation.SharedAccessSignatureClientImpl; +import com.azure.planetarycomputer.models.SasToken; +import com.azure.planetarycomputer.models.UnsignedLink; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the asynchronous SharedAccessSignatureClient type. + */ +@ServiceClient(builder = SharedAccessSignatureClientBuilder.class, isAsync = true) +public final class SharedAccessSignatureAsyncClient { + @Generated + private final SharedAccessSignatureClientImpl serviceClient; + + /** + * Initializes an instance of SharedAccessSignatureAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + SharedAccessSignatureAsyncClient(SharedAccessSignatureClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * generate a SAS Token for the given Azure Blob storage account and container. + * + * Generate a [SAS + * Token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#how-a-shared-access-signature-works) + * for the given storage account and container. The storage account and container + * must be associated with a Planetary Computer dataset indexed by the STAC API. + *

Query Parameters

+ * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
durationLongNoDuration + * + * The duration, in minutes, that the SAS token will be valid. Only valid for approved users.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:expiry: OffsetDateTime (Required)
+     *     token: String (Required)
+     * }
+     * }
+     * 
+ * + * @param collectionId Collection Id + * + * The name of the Collection that the SAS token will be issued for. + * @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 sasToken along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTokenWithResponse(String collectionId, RequestOptions requestOptions) { + return this.serviceClient.getTokenWithResponseAsync(collectionId, requestOptions); + } + + /** + * revoke a SAS Token for the given Azure Blob storage account + * + * Revoke a [SAS + * Token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#how-a-shared-access-signature-works) + * for managed storage account of this GeoCatalog. + *

Query Parameters

+ * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
durationLongNoDuration + * + * The duration, in minutes, that the SAS token will be valid. Only valid for approved users.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + * + * @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> revokeTokenWithResponse(RequestOptions requestOptions) { + return this.serviceClient.revokeTokenWithResponseAsync(requestOptions); + } + + /** + * sign an HREF in the format of a URL and returns a SingedLink + * + * Signs a HREF (a link URL) by appending a [SAS + * Token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#how-a-shared-access-signature-works). + * If the HREF is not a Azure Blob Storage HREF, then pass back the HREF unsigned. + *

Query Parameters

+ * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
durationLongNoDuration + * + * The duration, in minutes, that the SAS token will be valid. Only valid for approved users.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:expiry: OffsetDateTime (Optional)
+     *     href: String (Required)
+     * }
+     * }
+     * 
+ * + * @param href Href + * + * HREF (URL) to sign. + * @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 unsignedLink along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getSignWithResponse(String href, RequestOptions requestOptions) { + return this.serviceClient.getSignWithResponseAsync(href, requestOptions); + } + + /** + * generate a SAS Token for the given Azure Blob storage account and container. + * + * Generate a [SAS + * Token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#how-a-shared-access-signature-works) + * for the given storage account and container. The storage account and container + * must be associated with a Planetary Computer dataset indexed by the STAC API. + * + * @param collectionId Collection Id + * + * The name of the Collection that the SAS token will be issued for. + * @param duration Duration + * + * The duration, in minutes, that the SAS token will be valid. Only valid for approved users. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return sasToken on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getToken(String collectionId, Long duration) { + // Generated convenience method for getTokenWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (duration != null) { + requestOptions.addQueryParam("duration", String.valueOf(duration), false); + } + return getTokenWithResponse(collectionId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(SasToken.class)); + } + + /** + * generate a SAS Token for the given Azure Blob storage account and container. + * + * Generate a [SAS + * Token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#how-a-shared-access-signature-works) + * for the given storage account and container. The storage account and container + * must be associated with a Planetary Computer dataset indexed by the STAC API. + * + * @param collectionId Collection Id + * + * The name of the Collection that the SAS token will be issued for. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return sasToken on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getToken(String collectionId) { + // Generated convenience method for getTokenWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTokenWithResponse(collectionId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(SasToken.class)); + } + + /** + * revoke a SAS Token for the given Azure Blob storage account + * + * Revoke a [SAS + * Token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#how-a-shared-access-signature-works) + * for managed storage account of this GeoCatalog. + * + * @param duration Duration + * + * The duration, in minutes, that the SAS token will be valid. Only valid for approved users. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono revokeToken(Long duration) { + // Generated convenience method for revokeTokenWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (duration != null) { + requestOptions.addQueryParam("duration", String.valueOf(duration), false); + } + return revokeTokenWithResponse(requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * revoke a SAS Token for the given Azure Blob storage account + * + * Revoke a [SAS + * Token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#how-a-shared-access-signature-works) + * for managed storage account of this GeoCatalog. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono revokeToken() { + // Generated convenience method for revokeTokenWithResponse + RequestOptions requestOptions = new RequestOptions(); + return revokeTokenWithResponse(requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * sign an HREF in the format of a URL and returns a SingedLink + * + * Signs a HREF (a link URL) by appending a [SAS + * Token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#how-a-shared-access-signature-works). + * If the HREF is not a Azure Blob Storage HREF, then pass back the HREF unsigned. + * + * @param href Href + * + * HREF (URL) to sign. + * @param duration Duration + * + * The duration, in minutes, that the SAS token will be valid. Only valid for approved users. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return unsignedLink on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getSign(String href, Long duration) { + // Generated convenience method for getSignWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (duration != null) { + requestOptions.addQueryParam("duration", String.valueOf(duration), false); + } + return getSignWithResponse(href, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(UnsignedLink.class)); + } + + /** + * sign an HREF in the format of a URL and returns a SingedLink + * + * Signs a HREF (a link URL) by appending a [SAS + * Token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#how-a-shared-access-signature-works). + * If the HREF is not a Azure Blob Storage HREF, then pass back the HREF unsigned. + * + * @param href Href + * + * HREF (URL) to sign. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return unsignedLink on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getSign(String href) { + // Generated convenience method for getSignWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getSignWithResponse(href, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(UnsignedLink.class)); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/SharedAccessSignatureClient.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/SharedAccessSignatureClient.java new file mode 100644 index 000000000000..15864ee2e459 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/SharedAccessSignatureClient.java @@ -0,0 +1,320 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +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.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.planetarycomputer.implementation.SharedAccessSignatureClientImpl; +import com.azure.planetarycomputer.models.SasToken; +import com.azure.planetarycomputer.models.UnsignedLink; + +/** + * Initializes a new instance of the synchronous SharedAccessSignatureClient type. + */ +@ServiceClient(builder = SharedAccessSignatureClientBuilder.class) +public final class SharedAccessSignatureClient { + @Generated + private final SharedAccessSignatureClientImpl serviceClient; + + /** + * Initializes an instance of SharedAccessSignatureClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + SharedAccessSignatureClient(SharedAccessSignatureClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * generate a SAS Token for the given Azure Blob storage account and container. + * + * Generate a [SAS + * Token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#how-a-shared-access-signature-works) + * for the given storage account and container. The storage account and container + * must be associated with a Planetary Computer dataset indexed by the STAC API. + *

Query Parameters

+ * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
durationLongNoDuration + * + * The duration, in minutes, that the SAS token will be valid. Only valid for approved users.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:expiry: OffsetDateTime (Required)
+     *     token: String (Required)
+     * }
+     * }
+     * 
+ * + * @param collectionId Collection Id + * + * The name of the Collection that the SAS token will be issued for. + * @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 sasToken along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTokenWithResponse(String collectionId, RequestOptions requestOptions) { + return this.serviceClient.getTokenWithResponse(collectionId, requestOptions); + } + + /** + * revoke a SAS Token for the given Azure Blob storage account + * + * Revoke a [SAS + * Token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#how-a-shared-access-signature-works) + * for managed storage account of this GeoCatalog. + *

Query Parameters

+ * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
durationLongNoDuration + * + * The duration, in minutes, that the SAS token will be valid. Only valid for approved users.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + * + * @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 revokeTokenWithResponse(RequestOptions requestOptions) { + return this.serviceClient.revokeTokenWithResponse(requestOptions); + } + + /** + * sign an HREF in the format of a URL and returns a SingedLink + * + * Signs a HREF (a link URL) by appending a [SAS + * Token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#how-a-shared-access-signature-works). + * If the HREF is not a Azure Blob Storage HREF, then pass back the HREF unsigned. + *

Query Parameters

+ * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
durationLongNoDuration + * + * The duration, in minutes, that the SAS token will be valid. Only valid for approved users.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:expiry: OffsetDateTime (Optional)
+     *     href: String (Required)
+     * }
+     * }
+     * 
+ * + * @param href Href + * + * HREF (URL) to sign. + * @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 unsignedLink along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getSignWithResponse(String href, RequestOptions requestOptions) { + return this.serviceClient.getSignWithResponse(href, requestOptions); + } + + /** + * generate a SAS Token for the given Azure Blob storage account and container. + * + * Generate a [SAS + * Token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#how-a-shared-access-signature-works) + * for the given storage account and container. The storage account and container + * must be associated with a Planetary Computer dataset indexed by the STAC API. + * + * @param collectionId Collection Id + * + * The name of the Collection that the SAS token will be issued for. + * @param duration Duration + * + * The duration, in minutes, that the SAS token will be valid. Only valid for approved users. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return sasToken. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public SasToken getToken(String collectionId, Long duration) { + // Generated convenience method for getTokenWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (duration != null) { + requestOptions.addQueryParam("duration", String.valueOf(duration), false); + } + return getTokenWithResponse(collectionId, requestOptions).getValue().toObject(SasToken.class); + } + + /** + * generate a SAS Token for the given Azure Blob storage account and container. + * + * Generate a [SAS + * Token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#how-a-shared-access-signature-works) + * for the given storage account and container. The storage account and container + * must be associated with a Planetary Computer dataset indexed by the STAC API. + * + * @param collectionId Collection Id + * + * The name of the Collection that the SAS token will be issued for. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return sasToken. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public SasToken getToken(String collectionId) { + // Generated convenience method for getTokenWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTokenWithResponse(collectionId, requestOptions).getValue().toObject(SasToken.class); + } + + /** + * revoke a SAS Token for the given Azure Blob storage account + * + * Revoke a [SAS + * Token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#how-a-shared-access-signature-works) + * for managed storage account of this GeoCatalog. + * + * @param duration Duration + * + * The duration, in minutes, that the SAS token will be valid. Only valid for approved users. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void revokeToken(Long duration) { + // Generated convenience method for revokeTokenWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (duration != null) { + requestOptions.addQueryParam("duration", String.valueOf(duration), false); + } + revokeTokenWithResponse(requestOptions).getValue(); + } + + /** + * revoke a SAS Token for the given Azure Blob storage account + * + * Revoke a [SAS + * Token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#how-a-shared-access-signature-works) + * for managed storage account of this GeoCatalog. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void revokeToken() { + // Generated convenience method for revokeTokenWithResponse + RequestOptions requestOptions = new RequestOptions(); + revokeTokenWithResponse(requestOptions).getValue(); + } + + /** + * sign an HREF in the format of a URL and returns a SingedLink + * + * Signs a HREF (a link URL) by appending a [SAS + * Token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#how-a-shared-access-signature-works). + * If the HREF is not a Azure Blob Storage HREF, then pass back the HREF unsigned. + * + * @param href Href + * + * HREF (URL) to sign. + * @param duration Duration + * + * The duration, in minutes, that the SAS token will be valid. Only valid for approved users. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return unsignedLink. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public UnsignedLink getSign(String href, Long duration) { + // Generated convenience method for getSignWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (duration != null) { + requestOptions.addQueryParam("duration", String.valueOf(duration), false); + } + return getSignWithResponse(href, requestOptions).getValue().toObject(UnsignedLink.class); + } + + /** + * sign an HREF in the format of a URL and returns a SingedLink + * + * Signs a HREF (a link URL) by appending a [SAS + * Token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#how-a-shared-access-signature-works). + * If the HREF is not a Azure Blob Storage HREF, then pass back the HREF unsigned. + * + * @param href Href + * + * HREF (URL) to sign. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return unsignedLink. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public UnsignedLink getSign(String href) { + // Generated convenience method for getSignWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getSignWithResponse(href, requestOptions).getValue().toObject(UnsignedLink.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/SharedAccessSignatureClientBuilder.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/SharedAccessSignatureClientBuilder.java new file mode 100644 index 000000000000..258e484662e7 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/SharedAccessSignatureClientBuilder.java @@ -0,0 +1,333 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ServiceClientBuilder; +import com.azure.core.client.traits.ConfigurationTrait; +import com.azure.core.client.traits.EndpointTrait; +import com.azure.core.client.traits.HttpTrait; +import com.azure.core.client.traits.TokenCredentialTrait; +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.AddDatePolicy; +import com.azure.core.http.policy.AddHeadersFromContextPolicy; +import com.azure.core.http.policy.AddHeadersPolicy; +import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; +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.RequestIdPolicy; +import com.azure.core.http.policy.RetryOptions; +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.builder.ClientBuilderUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.planetarycomputer.implementation.SharedAccessSignatureClientImpl; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** + * A builder for creating a new instance of the SharedAccessSignatureClient type. + */ +@ServiceClientBuilder(serviceClients = { SharedAccessSignatureClient.class, SharedAccessSignatureAsyncClient.class }) +public final class SharedAccessSignatureClientBuilder + implements HttpTrait, ConfigurationTrait, + TokenCredentialTrait, EndpointTrait { + @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://geocatalog.spatio.azure.com/.default" }; + + @Generated + private static final Map PROPERTIES = CoreUtils.getProperties("azure-planetarycomputer.properties"); + + @Generated + private final List pipelinePolicies; + + /** + * Create an instance of the SharedAccessSignatureClientBuilder. + */ + @Generated + public SharedAccessSignatureClientBuilder() { + this.pipelinePolicies = new ArrayList<>(); + } + + /* + * The HTTP client used to send the request. + */ + @Generated + private HttpClient httpClient; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public SharedAccessSignatureClientBuilder httpClient(HttpClient httpClient) { + this.httpClient = httpClient; + return this; + } + + /* + * The HTTP pipeline to send requests through. + */ + @Generated + private HttpPipeline pipeline; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public SharedAccessSignatureClientBuilder pipeline(HttpPipeline pipeline) { + if (this.pipeline != null && pipeline == null) { + LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured."); + } + this.pipeline = pipeline; + return this; + } + + /* + * The logging configuration for HTTP requests and responses. + */ + @Generated + private HttpLogOptions httpLogOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public SharedAccessSignatureClientBuilder httpLogOptions(HttpLogOptions httpLogOptions) { + this.httpLogOptions = httpLogOptions; + return this; + } + + /* + * The client options such as application ID and custom headers to set on a request. + */ + @Generated + private ClientOptions clientOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public SharedAccessSignatureClientBuilder clientOptions(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + return this; + } + + /* + * The retry options to configure retry policy for failed requests. + */ + @Generated + private RetryOptions retryOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public SharedAccessSignatureClientBuilder retryOptions(RetryOptions retryOptions) { + this.retryOptions = retryOptions; + return this; + } + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public SharedAccessSignatureClientBuilder addPolicy(HttpPipelinePolicy customPolicy) { + Objects.requireNonNull(customPolicy, "'customPolicy' cannot be null."); + pipelinePolicies.add(customPolicy); + return this; + } + + /* + * The configuration store that is used during construction of the service client. + */ + @Generated + private Configuration configuration; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public SharedAccessSignatureClientBuilder configuration(Configuration configuration) { + this.configuration = configuration; + return this; + } + + /* + * The TokenCredential used for authentication. + */ + @Generated + private TokenCredential tokenCredential; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public SharedAccessSignatureClientBuilder credential(TokenCredential tokenCredential) { + this.tokenCredential = tokenCredential; + return this; + } + + /* + * The service endpoint + */ + @Generated + private String endpoint; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public SharedAccessSignatureClientBuilder endpoint(String endpoint) { + this.endpoint = endpoint; + return this; + } + + /* + * Service version + */ + @Generated + private PlanetaryComputerServiceVersion serviceVersion; + + /** + * Sets Service version. + * + * @param serviceVersion the serviceVersion value. + * @return the SharedAccessSignatureClientBuilder. + */ + @Generated + public SharedAccessSignatureClientBuilder serviceVersion(PlanetaryComputerServiceVersion serviceVersion) { + this.serviceVersion = serviceVersion; + 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 SharedAccessSignatureClientBuilder. + */ + @Generated + public SharedAccessSignatureClientBuilder retryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = retryPolicy; + return this; + } + + /** + * Builds an instance of SharedAccessSignatureClientImpl with the provided parameters. + * + * @return an instance of SharedAccessSignatureClientImpl. + */ + @Generated + private SharedAccessSignatureClientImpl buildInnerClient() { + this.validateClient(); + HttpPipeline localPipeline = (pipeline != null) ? pipeline : createHttpPipeline(); + PlanetaryComputerServiceVersion localServiceVersion + = (serviceVersion != null) ? serviceVersion : PlanetaryComputerServiceVersion.getLatest(); + SharedAccessSignatureClientImpl client = new SharedAccessSignatureClientImpl(localPipeline, + JacksonAdapter.createDefaultSerializerAdapter(), this.endpoint, localServiceVersion); + return client; + } + + @Generated + private void validateClient() { + // This method is invoked from 'buildInnerClient'/'buildClient' method. + // Developer can customize this method, to validate that the necessary conditions are met for the new client. + Objects.requireNonNull(endpoint, "'endpoint' cannot be null."); + } + + @Generated + private HttpPipeline createHttpPipeline() { + Configuration buildConfiguration + = (configuration == null) ? Configuration.getGlobalConfiguration() : configuration; + HttpLogOptions localHttpLogOptions = this.httpLogOptions == null ? new HttpLogOptions() : this.httpLogOptions; + ClientOptions localClientOptions = this.clientOptions == null ? new ClientOptions() : this.clientOptions; + List policies = new ArrayList<>(); + String clientName = PROPERTIES.getOrDefault(SDK_NAME, "UnknownName"); + String clientVersion = PROPERTIES.getOrDefault(SDK_VERSION, "UnknownVersion"); + String applicationId = CoreUtils.getApplicationId(localClientOptions, localHttpLogOptions); + policies.add(new UserAgentPolicy(applicationId, clientName, clientVersion, buildConfiguration)); + policies.add(new RequestIdPolicy()); + policies.add(new AddHeadersFromContextPolicy()); + HttpHeaders headers = CoreUtils.createHttpHeadersFromClientOptions(localClientOptions); + if (headers != null) { + policies.add(new AddHeadersPolicy(headers)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addBeforeRetryPolicies(policies); + policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy())); + policies.add(new AddDatePolicy()); + if (tokenCredential != null) { + policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addAfterRetryPolicies(policies); + policies.add(new HttpLoggingPolicy(localHttpLogOptions)); + HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0])) + .httpClient(httpClient) + .clientOptions(localClientOptions) + .build(); + return httpPipeline; + } + + /** + * Builds an instance of SharedAccessSignatureAsyncClient class. + * + * @return an instance of SharedAccessSignatureAsyncClient. + */ + @Generated + public SharedAccessSignatureAsyncClient buildAsyncClient() { + return new SharedAccessSignatureAsyncClient(buildInnerClient()); + } + + /** + * Builds an instance of SharedAccessSignatureClient class. + * + * @return an instance of SharedAccessSignatureClient. + */ + @Generated + public SharedAccessSignatureClient buildClient() { + return new SharedAccessSignatureClient(buildInnerClient()); + } + + private static final ClientLogger LOGGER = new ClientLogger(SharedAccessSignatureClientBuilder.class); +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacApiAsyncClient.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacApiAsyncClient.java new file mode 100644 index 000000000000..e1a2adf443b4 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacApiAsyncClient.java @@ -0,0 +1,2687 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +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.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.polling.PollerFlux; +import com.azure.core.util.serializer.CollectionFormat; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.core.util.serializer.TypeReference; +import com.azure.planetarycomputer.implementation.StacApiClientImpl; +import com.azure.planetarycomputer.models.ConformanceClasses; +import com.azure.planetarycomputer.models.FeatureCollections; +import com.azure.planetarycomputer.models.ItemCollectionModel; +import com.azure.planetarycomputer.models.JsonSchema; +import com.azure.planetarycomputer.models.LandingPage; +import com.azure.planetarycomputer.models.Operation; +import com.azure.planetarycomputer.models.QueryableDefinition; +import com.azure.planetarycomputer.models.SearchPostRequest; +import com.azure.planetarycomputer.models.SignType; +import com.azure.planetarycomputer.models.StacCollectionModel; +import com.azure.planetarycomputer.models.StacItemModel; +import com.azure.planetarycomputer.models.StacItemOrItemCollection; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the asynchronous StacApiClient type. + */ +@ServiceClient(builder = StacApiClientBuilder.class, isAsync = true) +public final class StacApiAsyncClient { + @Generated + private final StacApiClientImpl serviceClient; + + /** + * Initializes an instance of StacApiAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + StacApiAsyncClient(StacApiClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Landing Page + * + * Endpoint. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     title: String (Optional)
+     *     stac_version: String (Optional)
+     *     conformsTo (Required): [
+     *         String (Required)
+     *     ]
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     type: String (Optional)
+     * }
+     * }
+     * 
+ * + * @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 https://github.com/radiantearth/stac-api-spec/blob/master/api-spec.md#ogc-api---features-endpoints + * + * Represents the STAC API landing page with links to available resources along with {@link Response} on successful + * completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getStacLandingPageWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getStacLandingPageWithResponseAsync(requestOptions); + } + + /** + * Get Collections + * + * Endpoint. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
signStringNoWhether to sign asset URLs in the response. Allowed values: + * "true", "false".
durationIntegerNoURL signature duration in seconds.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     collections (Required): [
+     *          (Required){
+     *             msft:_created: String (Optional)
+     *             msft:_updated: String (Optional)
+     *             msft:short_description: String (Optional)
+     *             stac_extensions (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             id: String (Required)
+     *             description: String (Required)
+     *             stac_version: String (Optional)
+     *             links (Required): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             title: String (Optional)
+     *             type: String (Optional)
+     *             assets (Optional): {
+     *                 String (Required): {
+     *                     platform: String (Optional)
+     *                     instruments (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     constellation: String (Optional)
+     *                     mission: String (Optional)
+     *                     providers (Optional): [
+     *                          (Optional){
+     *                             name: String (Optional, Required on create)
+     *                             description: String (Optional)
+     *                             roles (Optional): [
+     *                                 String (Optional)
+     *                             ]
+     *                             url: String (Optional)
+     *                         }
+     *                     ]
+     *                     gsd: Double (Optional)
+     *                     created: OffsetDateTime (Optional)
+     *                     updated: OffsetDateTime (Optional)
+     *                     title: String (Optional)
+     *                     description: String (Optional)
+     *                     href: String (Optional, Required on create)
+     *                     type: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                      (Optional): {
+     *                         String: BinaryData (Required)
+     *                     }
+     *                 }
+     *             }
+     *             license: String (Required)
+     *             extent (Required): {
+     *                 spatial (Required): {
+     *                     bbox (Optional): [
+     *                          (Optional)[
+     *                             double (Optional)
+     *                         ]
+     *                     ]
+     *                 }
+     *                 temporal (Required): {
+     *                     interval (Required): [
+     *                          (Required)[
+     *                             String (Required)
+     *                         ]
+     *                     ]
+     *                 }
+     *             }
+     *             keywords (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             summaries (Optional): {
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @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 collections + * + * Endpoint along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAllCollectionsWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getAllCollectionsWithResponseAsync(requestOptions); + } + + /** + * Create Collection + * + * Create a new collection in the GeoCatalog instance. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param body Request collection body. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginCreateCollection(BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.beginCreateCollectionAsync(body, requestOptions); + } + + /** + * Get Collection + * + * Get a collection in the GeoCatalog instance. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
signStringNoWhether to sign asset URLs in the response. Allowed values: + * "true", "false".
durationIntegerNoURL signature duration in seconds.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the collection. + * @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 collection + * + * Get a collection in the GeoCatalog instance along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getCollectionWithResponse(String collectionId, RequestOptions requestOptions) { + return this.serviceClient.getCollectionWithResponseAsync(collectionId, requestOptions); + } + + /** + * Create or update Collection + * + * Create or replace a collection in the GeoCatalog instance. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param body Request collection body. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginCreateOrReplaceCollection(String collectionId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.beginCreateOrReplaceCollectionAsync(collectionId, body, requestOptions); + } + + /** + * Delete Collection + * + * Delete a collection in the GeoCatalog instance. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection 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 PollerFlux} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginDeleteCollection(String collectionId, RequestOptions requestOptions) { + return this.serviceClient.beginDeleteCollectionAsync(collectionId, requestOptions); + } + + /** + * Fetch features of the feature collection with id `collectionId`. + * + * Every feature in a dataset belongs to a collection. A dataset may + * consist of multiple feature collections. A feature collection is often a + * collection of features of a similar type, based on a common schema."). + *

Query Parameters

+ * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitLongNoThe optional limit parameter recommends the number of items that + * should be present in the response document. + * + * If the limit parameter value is greater than advertised limit maximum, the server must return the + * maximum possible number of items, rather than responding with an error. + * + * Only items are counted that are on the first level of the collection in the response document. + * Nested objects contained within the explicitly requested items must not be counted. + * + * Minimum = 1. Maximum = 10000. Default = 10.
bboxList<String>NoOnly features that have a geometry that intersects the + * bounding box are selected. + * The bounding box is provided as four or six numbers, depending on whether the + * coordinate reference system includes a vertical axis (height or depth): + * + * - Lower left corner, coordinate axis 1 + * - Lower left corner, coordinate axis 2 + * - Minimum value, coordinate axis 3 (optional) + * - Upper right corner, coordinate axis 1 + * - Upper right corner, coordinate axis 2 + * - Maximum value, coordinate axis 3 (optional) + * + * The coordinate reference system of the values is WGS 84 longitude/latitude + * (http://www.opengis.net/def/crs/OGC/1.3/CRS84). + * + * For WGS 84 longitude/latitude the values are in most cases the sequence of + * minimum longitude, minimum latitude, maximum longitude and maximum latitude. + * However, in cases where the box spans the antimeridian the first value + * (west-most box edge) is larger than the third value (east-most box edge). + * + * If the vertical axis is included, the third and the sixth number are + * the bottom and the top of the 3-dimensional bounding box. + * + * If a feature has multiple spatial geometry properties, it is the decision of the + * server whether only a single spatial geometry property is used to determine + * the extent or all relevant geometries. Call {@link RequestOptions#addQueryParam} to add string to + * array.
datetimeStringNoEither a date-time or an interval, open or closed. Date and + * time expressions + * adhere to RFC 3339. Open intervals are expressed using double-dots. + * + * Examples: + * + * - A date-time: "2018-02-12T23:20:50Z" + * - A closed interval: "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z" + * - Open intervals: "2018-02-12T00:00:00Z/.." or "../2018-03-18T12:31:12Z" + * + * Only features that have a temporal property that intersects the value of + * `datetime` are selected. + * + * If a feature has multiple temporal properties, it is the decision of the + * server whether only a single temporal property is used to determine + * the extent or all relevant temporal properties.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     features (Optional, Required on create): [
+     *          (Optional, Required on create){
+     *             type: String(Feature/FeatureCollection) (Required)
+     *             stac_version: String (Optional)
+     *             links (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             msft:_created: String (Optional)
+     *             msft:_updated: String (Optional)
+     *             msft:short_description: String (Optional)
+     *             stac_extensions (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             geometry (Optional, Required on create): {
+     *                 type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *                 bbox (Optional): [
+     *                     double (Optional)
+     *                 ]
+     *             }
+     *             bbox (Optional, Required on create): [
+     *                 double (Optional, Required on create)
+     *             ]
+     *             id: String (Required)
+     *             collection: String (Optional)
+     *             properties (Optional, Required on create): {
+     *                 platform: String (Optional)
+     *                 instruments (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 constellation: String (Optional)
+     *                 mission: String (Optional)
+     *                 providers (Optional): [
+     *                      (Optional){
+     *                         name: String (Optional, Required on create)
+     *                         description: String (Optional)
+     *                         roles (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         url: String (Optional)
+     *                     }
+     *                 ]
+     *                 gsd: Double (Optional)
+     *                 created: OffsetDateTime (Optional)
+     *                 updated: OffsetDateTime (Optional)
+     *                 title: String (Optional)
+     *                 description: String (Optional)
+     *                 datetime: String (Optional, Required on create)
+     *                 start_datetime: OffsetDateTime (Optional)
+     *                 end_datetime: OffsetDateTime (Optional)
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *             assets (Optional, Required on create): {
+     *                 String (Required): {
+     *                     platform: String (Optional)
+     *                     instruments (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     constellation: String (Optional)
+     *                     mission: String (Optional)
+     *                     providers (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     gsd: Double (Optional)
+     *                     created: OffsetDateTime (Optional)
+     *                     updated: OffsetDateTime (Optional)
+     *                     title: String (Optional)
+     *                     description: String (Optional)
+     *                     href: String (Optional, Required on create)
+     *                     type: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                      (Optional): {
+     *                         String: BinaryData (Required)
+     *                     }
+     *                 }
+     *             }
+     *             _msft:ts: String (Optional)
+     *             _msft:etag: String (Optional)
+     *         }
+     *     ]
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     *     context (Optional): {
+     *         returned: int (Optional, Required on create)
+     *         limit: Integer (Optional)
+     *         matched: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection 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 https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.md + * + * Represents a collection of STAC Items as a GeoJSON FeatureCollection along with {@link Response} on successful + * completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getItemsAsFeaturesWithResponse(String collectionId, + RequestOptions requestOptions) { + return this.serviceClient.getItemsAsFeaturesWithResponseAsync(collectionId, requestOptions); + } + + /** + * Create a new STAC item or a set of items in a collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param body STAC Item or ItemCollection + * + * Represents a STAC Item or ItemCollectionModel as defined by the STAC 1.0.0 standard. + * + * **Item**: A GeoJSON Feature that represents a single spatiotemporal asset. + * It includes metadata such as geometry, datetime, and links to related assets. + * Example: A satellite image with its metadata. + * + * **ItemCollectionModel**: A GeoJSON FeatureCollection that contains multiple Items. + * It is used to group multiple related Items together, such as a collection of satellite images. + * + * This union allows the request body to accept either a single Item or a collection of Items. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginCreateItem(String collectionId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.beginCreateItemAsync(collectionId, body, requestOptions); + } + + /** + * Fetch a single STAC Item. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     geometry (Optional, Required on create): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     bbox (Optional, Required on create): [
+     *         double (Optional, Required on create)
+     *     ]
+     *     id: String (Required)
+     *     collection: String (Optional)
+     *     properties (Optional, Required on create): {
+     *         platform: String (Optional)
+     *         instruments (Optional): [
+     *             String (Optional)
+     *         ]
+     *         constellation: String (Optional)
+     *         mission: String (Optional)
+     *         providers (Optional): [
+     *              (Optional){
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 roles (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         gsd: Double (Optional)
+     *         created: OffsetDateTime (Optional)
+     *         updated: OffsetDateTime (Optional)
+     *         title: String (Optional)
+     *         description: String (Optional)
+     *         datetime: String (Optional, Required on create)
+     *         start_datetime: OffsetDateTime (Optional)
+     *         end_datetime: OffsetDateTime (Optional)
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     assets (Optional, Required on create): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     _msft:ts: String (Optional)
+     *     _msft:etag: String (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item 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 represents a STAC Item, which is a GeoJSON Feature with additional metadata along with {@link Response} + * on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getItemWithResponse(String collectionId, String itemId, + RequestOptions requestOptions) { + return this.serviceClient.getItemWithResponseAsync(collectionId, itemId, requestOptions); + } + + /** + * Create or replace a STAC item in a collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     geometry (Optional, Required on create): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     bbox (Optional, Required on create): [
+     *         double (Optional, Required on create)
+     *     ]
+     *     id: String (Required)
+     *     collection: String (Optional)
+     *     properties (Optional, Required on create): {
+     *         platform: String (Optional)
+     *         instruments (Optional): [
+     *             String (Optional)
+     *         ]
+     *         constellation: String (Optional)
+     *         mission: String (Optional)
+     *         providers (Optional): [
+     *              (Optional){
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 roles (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         gsd: Double (Optional)
+     *         created: OffsetDateTime (Optional)
+     *         updated: OffsetDateTime (Optional)
+     *         title: String (Optional)
+     *         description: String (Optional)
+     *         datetime: String (Optional, Required on create)
+     *         start_datetime: OffsetDateTime (Optional)
+     *         end_datetime: OffsetDateTime (Optional)
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     assets (Optional, Required on create): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     _msft:ts: String (Optional)
+     *     _msft:etag: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item id. + * @param body STAC Item. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginCreateOrReplaceItem(String collectionId, String itemId, + BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.beginCreateOrReplaceItemAsync(collectionId, itemId, body, requestOptions); + } + + /** + * Update a STAC item in a collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     geometry (Optional, Required on create): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     bbox (Optional, Required on create): [
+     *         double (Optional, Required on create)
+     *     ]
+     *     id: String (Required)
+     *     collection: String (Optional)
+     *     properties (Optional, Required on create): {
+     *         platform: String (Optional)
+     *         instruments (Optional): [
+     *             String (Optional)
+     *         ]
+     *         constellation: String (Optional)
+     *         mission: String (Optional)
+     *         providers (Optional): [
+     *              (Optional){
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 roles (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         gsd: Double (Optional)
+     *         created: OffsetDateTime (Optional)
+     *         updated: OffsetDateTime (Optional)
+     *         title: String (Optional)
+     *         description: String (Optional)
+     *         datetime: String (Optional, Required on create)
+     *         start_datetime: OffsetDateTime (Optional)
+     *         end_datetime: OffsetDateTime (Optional)
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     assets (Optional, Required on create): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     _msft:ts: String (Optional)
+     *     _msft:etag: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item id. + * @param body STAC Item. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginUpdateItem(String collectionId, String itemId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.beginUpdateItemAsync(collectionId, itemId, body, requestOptions); + } + + /** + * Delete a STAC item from a collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item 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 PollerFlux} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginDeleteItem(String collectionId, String itemId, + RequestOptions requestOptions) { + return this.serviceClient.beginDeleteItemAsync(collectionId, itemId, requestOptions); + } + + /** + * Queryables + * + * Endpoint. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *      (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     * }
+     * }
+     * 
+ * + * @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 jSON Schema structure for STAC Queryables along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAllQueryablesWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getAllQueryablesWithResponseAsync(requestOptions); + } + + /** + * Collection Queryables + * + * Endpoint. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *      (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Collection 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 jSON Schema structure for STAC Queryables along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAllQueryablesByCollectionWithResponse(String collectionId, + RequestOptions requestOptions) { + return this.serviceClient.getAllQueryablesByCollectionWithResponseAsync(collectionId, requestOptions); + } + + /** + * Set Collection Queryables + * + * Set queryables for a collection given a list of queryable definitions. + *

Request Body Schema

+ * + *
+     * {@code
+     * [
+     *      (Required){
+     *         name: String (Required)
+     *         definition (Required): {
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *         create_index: Boolean (Optional)
+     *         data_type: String(string/number/boolean/timestamp/date) (Optional)
+     *     }
+     * ]
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *      (Required){
+     *         name: String (Required)
+     *         definition (Required): {
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *         create_index: Boolean (Optional)
+     *         data_type: String(string/number/boolean/timestamp/date) (Optional)
+     *     }
+     * ]
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param body Request queryable definition body. + * @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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createQueryablesWithResponse(String collectionId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.createQueryablesWithResponseAsync(collectionId, body, requestOptions); + } + + /** + * Conformance Classes + * + * Endpoint. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     conformsTo (Required): [
+     *         String (Required)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @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 https://github.com/radiantearth/stac-api-spec/blob/master/api-spec.md#ogc-api---features-endpoints + * + * Represents the OGC API conformance declaration along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getConformanceClassWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getConformanceClassWithResponseAsync(requestOptions); + } + + /** + * Search + * + * Endpoint. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
collectionsList<String>NoList of Collection IDs to include in the + * search. Only items in these collections will be searched. In the form of "," separated string.
idsList<String>NoArray of Item IDs to return specific items. In the form + * of "," separated string.
bboxList<Double>NoBounding box for spatial filtering in format [west, + * south, east, north]. In the form of "," separated string.
intersectsStringNoGeoJSON geometry for spatial filtering.
datetimeStringNoTemporal filter in RFC 3339 format, can be a single time or + * range.
limitIntegerNoMaximum number of results to return.
signStringNoWhether to sign asset URLs in the response. Allowed values: + * "true", "false".
durationIntegerNoURL signature duration in seconds.
queryStringNoProperty-based filtering expressed as a JSON object.
sortbyStringNoSort order for items. Format is property name prefixed with "+" + * for ascending or "-" for descending.
fieldsStringNoDetermines which fields to include in the response. Format is + * comma-separated field names with "-" prefix to exclude fields.
filterStringNoCQL filter expression for advanced filtering of items.
tokenStringNoPagination token for fetching the next set of results.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     features (Optional, Required on create): [
+     *          (Optional, Required on create){
+     *             type: String(Feature/FeatureCollection) (Required)
+     *             stac_version: String (Optional)
+     *             links (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             msft:_created: String (Optional)
+     *             msft:_updated: String (Optional)
+     *             msft:short_description: String (Optional)
+     *             stac_extensions (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             geometry (Optional, Required on create): {
+     *                 type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *                 bbox (Optional): [
+     *                     double (Optional)
+     *                 ]
+     *             }
+     *             bbox (Optional, Required on create): [
+     *                 double (Optional, Required on create)
+     *             ]
+     *             id: String (Required)
+     *             collection: String (Optional)
+     *             properties (Optional, Required on create): {
+     *                 platform: String (Optional)
+     *                 instruments (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 constellation: String (Optional)
+     *                 mission: String (Optional)
+     *                 providers (Optional): [
+     *                      (Optional){
+     *                         name: String (Optional, Required on create)
+     *                         description: String (Optional)
+     *                         roles (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         url: String (Optional)
+     *                     }
+     *                 ]
+     *                 gsd: Double (Optional)
+     *                 created: OffsetDateTime (Optional)
+     *                 updated: OffsetDateTime (Optional)
+     *                 title: String (Optional)
+     *                 description: String (Optional)
+     *                 datetime: String (Optional, Required on create)
+     *                 start_datetime: OffsetDateTime (Optional)
+     *                 end_datetime: OffsetDateTime (Optional)
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *             assets (Optional, Required on create): {
+     *                 String (Required): {
+     *                     platform: String (Optional)
+     *                     instruments (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     constellation: String (Optional)
+     *                     mission: String (Optional)
+     *                     providers (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     gsd: Double (Optional)
+     *                     created: OffsetDateTime (Optional)
+     *                     updated: OffsetDateTime (Optional)
+     *                     title: String (Optional)
+     *                     description: String (Optional)
+     *                     href: String (Optional, Required on create)
+     *                     type: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                      (Optional): {
+     *                         String: BinaryData (Required)
+     *                     }
+     *                 }
+     *             }
+     *             _msft:ts: String (Optional)
+     *             _msft:etag: String (Optional)
+     *         }
+     *     ]
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     *     context (Optional): {
+     *         returned: int (Optional, Required on create)
+     *         limit: Integer (Optional)
+     *         matched: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + * @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 https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.md + * + * Represents a collection of STAC Items as a GeoJSON FeatureCollection along with {@link Response} on successful + * completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getSearchOperationsWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getSearchOperationsWithResponseAsync(requestOptions); + } + + /** + * Search + * + * Endpoint. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     collections (Optional): [
+     *         String (Optional)
+     *     ]
+     *     ids (Optional): [
+     *         String (Optional)
+     *     ]
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     *     intersects (Optional): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     datetime: String (Optional)
+     *     limit: Integer (Optional)
+     *     conf (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     *     sign: String(true/false) (Optional)
+     *     duration: Integer (Optional)
+     *     query (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     sortby (Optional): [
+     *          (Optional){
+     *             field: String (Required)
+     *             direction: String(asc/desc) (Required)
+     *         }
+     *     ]
+     *     fields (Optional): [
+     *          (Optional){
+     *             include (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             exclude (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     filter: String (Optional)
+     *     filter-crs: String (Optional)
+     *     filter-lang: String(cql-json/cql2-json/cql2-text) (Optional)
+     *     token: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     features (Optional, Required on create): [
+     *          (Optional, Required on create){
+     *             type: String(Feature/FeatureCollection) (Required)
+     *             stac_version: String (Optional)
+     *             links (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             msft:_created: String (Optional)
+     *             msft:_updated: String (Optional)
+     *             msft:short_description: String (Optional)
+     *             stac_extensions (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             geometry (Optional, Required on create): {
+     *                 type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *                 bbox (Optional): [
+     *                     double (Optional)
+     *                 ]
+     *             }
+     *             bbox (Optional, Required on create): [
+     *                 double (Optional, Required on create)
+     *             ]
+     *             id: String (Required)
+     *             collection: String (Optional)
+     *             properties (Optional, Required on create): {
+     *                 platform: String (Optional)
+     *                 instruments (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 constellation: String (Optional)
+     *                 mission: String (Optional)
+     *                 providers (Optional): [
+     *                      (Optional){
+     *                         name: String (Optional, Required on create)
+     *                         description: String (Optional)
+     *                         roles (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         url: String (Optional)
+     *                     }
+     *                 ]
+     *                 gsd: Double (Optional)
+     *                 created: OffsetDateTime (Optional)
+     *                 updated: OffsetDateTime (Optional)
+     *                 title: String (Optional)
+     *                 description: String (Optional)
+     *                 datetime: String (Optional, Required on create)
+     *                 start_datetime: OffsetDateTime (Optional)
+     *                 end_datetime: OffsetDateTime (Optional)
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *             assets (Optional, Required on create): {
+     *                 String (Required): {
+     *                     platform: String (Optional)
+     *                     instruments (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     constellation: String (Optional)
+     *                     mission: String (Optional)
+     *                     providers (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     gsd: Double (Optional)
+     *                     created: OffsetDateTime (Optional)
+     *                     updated: OffsetDateTime (Optional)
+     *                     title: String (Optional)
+     *                     description: String (Optional)
+     *                     href: String (Optional, Required on create)
+     *                     type: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                      (Optional): {
+     *                         String: BinaryData (Required)
+     *                     }
+     *                 }
+     *             }
+     *             _msft:ts: String (Optional)
+     *             _msft:etag: String (Optional)
+     *         }
+     *     ]
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     *     context (Optional): {
+     *         returned: int (Optional, Required on create)
+     *         limit: Integer (Optional)
+     *         matched: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param body Request body. + * @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 https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.md + * + * Represents a collection of STAC Items as a GeoJSON FeatureCollection along with {@link Response} on successful + * completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createSearchOperationsWithResponse(BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.createSearchOperationsWithResponseAsync(body, requestOptions); + } + + /** + * Landing Page + * + * Endpoint. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return https://github.com/radiantearth/stac-api-spec/blob/master/api-spec.md#ogc-api---features-endpoints + * + * Represents the STAC API landing page with links to available resources on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getStacLandingPage() { + // Generated convenience method for getStacLandingPageWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getStacLandingPageWithResponse(requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(LandingPage.class)); + } + + /** + * Get Collections + * + * Endpoint. + * + * @param sign Whether to sign asset URLs in the response. + * @param duration URL signature duration in seconds. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return collections + * + * Endpoint on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getAllCollections(SignType sign, Integer duration) { + // Generated convenience method for getAllCollectionsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (sign != null) { + requestOptions.addQueryParam("sign", sign.toString(), false); + } + if (duration != null) { + requestOptions.addQueryParam("duration", String.valueOf(duration), false); + } + return getAllCollectionsWithResponse(requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(FeatureCollections.class)); + } + + /** + * Get Collections + * + * Endpoint. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return collections + * + * Endpoint on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getAllCollections() { + // Generated convenience method for getAllCollectionsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAllCollectionsWithResponse(requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(FeatureCollections.class)); + } + + /** + * Create Collection + * + * Create a new collection in the GeoCatalog instance. + * + * @param body Request collection body. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link PollerFlux} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginCreateCollection(StacCollectionModel body) { + // Generated convenience method for beginCreateCollectionWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginCreateCollectionWithModelAsync(BinaryData.fromObject(body), requestOptions); + } + + /** + * Get Collection + * + * Get a collection in the GeoCatalog instance. + * + * @param collectionId Unique identifier for the collection. + * @param sign Whether to sign asset URLs in the response. + * @param duration URL signature duration in seconds. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return collection + * + * Get a collection in the GeoCatalog instance on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getCollection(String collectionId, SignType sign, Integer duration) { + // Generated convenience method for getCollectionWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (sign != null) { + requestOptions.addQueryParam("sign", sign.toString(), false); + } + if (duration != null) { + requestOptions.addQueryParam("duration", String.valueOf(duration), false); + } + return getCollectionWithResponse(collectionId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(StacCollectionModel.class)); + } + + /** + * Get Collection + * + * Get a collection in the GeoCatalog instance. + * + * @param collectionId Unique identifier for the collection. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return collection + * + * Get a collection in the GeoCatalog instance on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getCollection(String collectionId) { + // Generated convenience method for getCollectionWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getCollectionWithResponse(collectionId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(StacCollectionModel.class)); + } + + /** + * Create or update Collection + * + * Create or replace a collection in the GeoCatalog instance. + * + * @param collectionId Catalog collection id. + * @param body Request collection body. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link PollerFlux} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginCreateOrReplaceCollection(String collectionId, StacCollectionModel body) { + // Generated convenience method for beginCreateOrReplaceCollectionWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginCreateOrReplaceCollectionWithModelAsync(collectionId, BinaryData.fromObject(body), + requestOptions); + } + + /** + * Delete Collection + * + * Delete a collection in the GeoCatalog instance. + * + * @param collectionId Catalog collection id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link PollerFlux} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginDeleteCollection(String collectionId) { + // Generated convenience method for beginDeleteCollectionWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginDeleteCollectionWithModelAsync(collectionId, requestOptions); + } + + /** + * Fetch features of the feature collection with id `collectionId`. + * + * Every feature in a dataset belongs to a collection. A dataset may + * consist of multiple feature collections. A feature collection is often a + * collection of features of a similar type, based on a common schema."). + * + * @param collectionId Catalog collection id. + * @param limit The optional limit parameter recommends the number of items that should be present in the response + * document. + * + * If the limit parameter value is greater than advertised limit maximum, the server must return the + * maximum possible number of items, rather than responding with an error. + * + * Only items are counted that are on the first level of the collection in the response document. + * Nested objects contained within the explicitly requested items must not be counted. + * + * Minimum = 1. Maximum = 10000. Default = 10. + * @param bbox Only features that have a geometry that intersects the bounding box are selected. + * The bounding box is provided as four or six numbers, depending on whether the + * coordinate reference system includes a vertical axis (height or depth): + * + * - Lower left corner, coordinate axis 1 + * - Lower left corner, coordinate axis 2 + * - Minimum value, coordinate axis 3 (optional) + * - Upper right corner, coordinate axis 1 + * - Upper right corner, coordinate axis 2 + * - Maximum value, coordinate axis 3 (optional) + * + * The coordinate reference system of the values is WGS 84 longitude/latitude + * (http://www.opengis.net/def/crs/OGC/1.3/CRS84). + * + * For WGS 84 longitude/latitude the values are in most cases the sequence of + * minimum longitude, minimum latitude, maximum longitude and maximum latitude. + * However, in cases where the box spans the antimeridian the first value + * (west-most box edge) is larger than the third value (east-most box edge). + * + * If the vertical axis is included, the third and the sixth number are + * the bottom and the top of the 3-dimensional bounding box. + * + * If a feature has multiple spatial geometry properties, it is the decision of the + * server whether only a single spatial geometry property is used to determine + * the extent or all relevant geometries. + * @param datetime Either a date-time or an interval, open or closed. Date and time expressions + * adhere to RFC 3339. Open intervals are expressed using double-dots. + * + * Examples: + * + * - A date-time: "2018-02-12T23:20:50Z" + * - A closed interval: "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z" + * - Open intervals: "2018-02-12T00:00:00Z/.." or "../2018-03-18T12:31:12Z" + * + * Only features that have a temporal property that intersects the value of + * `datetime` are selected. + * + * If a feature has multiple temporal properties, it is the decision of the + * server whether only a single temporal property is used to determine + * the extent or all relevant temporal properties. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.md + * + * Represents a collection of STAC Items as a GeoJSON FeatureCollection on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getItemsAsFeatures(String collectionId, Long limit, List bbox, + String datetime) { + // Generated convenience method for getItemsAsFeaturesWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (bbox != null) { + for (String paramItemValue : bbox) { + if (paramItemValue != null) { + requestOptions.addQueryParam("bbox", paramItemValue, false); + } + } + } + if (datetime != null) { + requestOptions.addQueryParam("datetime", datetime, false); + } + return getItemsAsFeaturesWithResponse(collectionId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(ItemCollectionModel.class)); + } + + /** + * Fetch features of the feature collection with id `collectionId`. + * + * Every feature in a dataset belongs to a collection. A dataset may + * consist of multiple feature collections. A feature collection is often a + * collection of features of a similar type, based on a common schema."). + * + * @param collectionId Catalog collection id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.md + * + * Represents a collection of STAC Items as a GeoJSON FeatureCollection on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getItemsAsFeatures(String collectionId) { + // Generated convenience method for getItemsAsFeaturesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getItemsAsFeaturesWithResponse(collectionId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(ItemCollectionModel.class)); + } + + /** + * Create a new STAC item or a set of items in a collection. + * + * @param collectionId Catalog collection id. + * @param body STAC Item or ItemCollection + * + * Represents a STAC Item or ItemCollectionModel as defined by the STAC 1.0.0 standard. + * + * **Item**: A GeoJSON Feature that represents a single spatiotemporal asset. + * It includes metadata such as geometry, datetime, and links to related assets. + * Example: A satellite image with its metadata. + * + * **ItemCollectionModel**: A GeoJSON FeatureCollection that contains multiple Items. + * It is used to group multiple related Items together, such as a collection of satellite images. + * + * This union allows the request body to accept either a single Item or a collection of Items. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link PollerFlux} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginCreateItem(String collectionId, StacItemOrItemCollection body) { + // Generated convenience method for beginCreateItemWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginCreateItemWithModelAsync(collectionId, BinaryData.fromObject(body), requestOptions); + } + + /** + * Fetch a single STAC Item. + * + * @param collectionId Catalog collection id. + * @param itemId STAC Item id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return represents a STAC Item, which is a GeoJSON Feature with additional metadata on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getItem(String collectionId, String itemId) { + // Generated convenience method for getItemWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getItemWithResponse(collectionId, itemId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(StacItemModel.class)); + } + + /** + * Create or replace a STAC item in a collection. + * + * @param collectionId Catalog collection id. + * @param itemId STAC Item id. + * @param body STAC Item. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link PollerFlux} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginCreateOrReplaceItem(String collectionId, String itemId, + StacItemModel body) { + // Generated convenience method for beginCreateOrReplaceItemWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginCreateOrReplaceItemWithModelAsync(collectionId, itemId, BinaryData.fromObject(body), + requestOptions); + } + + /** + * Delete a STAC item from a collection. + * + * @param collectionId Catalog collection id. + * @param itemId STAC Item id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link PollerFlux} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginDeleteItem(String collectionId, String itemId) { + // Generated convenience method for beginDeleteItemWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginDeleteItemWithModelAsync(collectionId, itemId, requestOptions); + } + + /** + * Queryables + * + * Endpoint. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return jSON Schema structure for STAC Queryables on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getAllQueryables() { + // Generated convenience method for getAllQueryablesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAllQueryablesWithResponse(requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(JsonSchema.class)); + } + + /** + * Collection Queryables + * + * Endpoint. + * + * @param collectionId Collection ID. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return jSON Schema structure for STAC Queryables on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getAllQueryablesByCollection(String collectionId) { + // Generated convenience method for getAllQueryablesByCollectionWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAllQueryablesByCollectionWithResponse(collectionId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(JsonSchema.class)); + } + + /** + * Set Collection Queryables + * + * Set queryables for a collection given a list of queryable definitions. + * + * @param collectionId Unique identifier for the STAC collection. + * @param body Request queryable definition body. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createQueryables(String collectionId, List body) { + // Generated convenience method for createQueryablesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createQueryablesWithResponse(collectionId, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_QUERYABLE_DEFINITION)); + } + + /** + * Conformance Classes + * + * Endpoint. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return https://github.com/radiantearth/stac-api-spec/blob/master/api-spec.md#ogc-api---features-endpoints + * + * Represents the OGC API conformance declaration on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getConformanceClass() { + // Generated convenience method for getConformanceClassWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getConformanceClassWithResponse(requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(ConformanceClasses.class)); + } + + /** + * Search + * + * Endpoint. + * + * @param collections List of Collection IDs to include in the search. Only items in these collections will be + * searched. + * @param ids Array of Item IDs to return specific items. + * @param bbox Bounding box for spatial filtering in format [west, south, east, north]. + * @param intersects GeoJSON geometry for spatial filtering. + * @param datetime Temporal filter in RFC 3339 format, can be a single time or range. + * @param limit Maximum number of results to return. + * @param sign Whether to sign asset URLs in the response. + * @param duration URL signature duration in seconds. + * @param query Property-based filtering expressed as a JSON object. + * @param sortBy Sort order for items. Format is property name prefixed with "+" for ascending or "-" for + * descending. + * @param fields Determines which fields to include in the response. Format is comma-separated field names with "-" + * prefix to exclude fields. + * @param filter CQL filter expression for advanced filtering of items. + * @param token Pagination token for fetching the next set of results. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.md + * + * Represents a collection of STAC Items as a GeoJSON FeatureCollection on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getSearchOperations(List collections, List ids, List bbox, + String intersects, String datetime, Integer limit, SignType sign, Integer duration, String query, String sortBy, + String fields, String filter, String token) { + // Generated convenience method for getSearchOperationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (collections != null) { + requestOptions.addQueryParam("collections", + collections.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (ids != null) { + requestOptions.addQueryParam("ids", + ids.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (bbox != null) { + requestOptions.addQueryParam("bbox", + JacksonAdapter.createDefaultSerializerAdapter().serializeIterable(bbox, CollectionFormat.CSV), false); + } + if (intersects != null) { + requestOptions.addQueryParam("intersects", intersects, false); + } + if (datetime != null) { + requestOptions.addQueryParam("datetime", datetime, false); + } + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (sign != null) { + requestOptions.addQueryParam("sign", sign.toString(), false); + } + if (duration != null) { + requestOptions.addQueryParam("duration", String.valueOf(duration), false); + } + if (query != null) { + requestOptions.addQueryParam("query", query, false); + } + if (sortBy != null) { + requestOptions.addQueryParam("sortby", sortBy, false); + } + if (fields != null) { + requestOptions.addQueryParam("fields", fields, false); + } + if (filter != null) { + requestOptions.addQueryParam("filter", filter, false); + } + if (token != null) { + requestOptions.addQueryParam("token", token, false); + } + return getSearchOperationsWithResponse(requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(ItemCollectionModel.class)); + } + + /** + * Search + * + * Endpoint. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.md + * + * Represents a collection of STAC Items as a GeoJSON FeatureCollection on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getSearchOperations() { + // Generated convenience method for getSearchOperationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getSearchOperationsWithResponse(requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(ItemCollectionModel.class)); + } + + /** + * Search + * + * Endpoint. + * + * @param body Request body. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.md + * + * Represents a collection of STAC Items as a GeoJSON FeatureCollection on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createSearchOperations(SearchPostRequest body) { + // Generated convenience method for createSearchOperationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createSearchOperationsWithResponse(BinaryData.fromObject(body), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(ItemCollectionModel.class)); + } + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_QUERYABLE_DEFINITION + = new TypeReference>() { + }; +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacApiClient.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacApiClient.java new file mode 100644 index 000000000000..e9a713a67c1a --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacApiClient.java @@ -0,0 +1,2661 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +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.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.polling.SyncPoller; +import com.azure.core.util.serializer.CollectionFormat; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.core.util.serializer.TypeReference; +import com.azure.planetarycomputer.implementation.StacApiClientImpl; +import com.azure.planetarycomputer.models.ConformanceClasses; +import com.azure.planetarycomputer.models.FeatureCollections; +import com.azure.planetarycomputer.models.ItemCollectionModel; +import com.azure.planetarycomputer.models.JsonSchema; +import com.azure.planetarycomputer.models.LandingPage; +import com.azure.planetarycomputer.models.Operation; +import com.azure.planetarycomputer.models.QueryableDefinition; +import com.azure.planetarycomputer.models.SearchPostRequest; +import com.azure.planetarycomputer.models.SignType; +import com.azure.planetarycomputer.models.StacCollectionModel; +import com.azure.planetarycomputer.models.StacItemModel; +import com.azure.planetarycomputer.models.StacItemOrItemCollection; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * Initializes a new instance of the synchronous StacApiClient type. + */ +@ServiceClient(builder = StacApiClientBuilder.class) +public final class StacApiClient { + @Generated + private final StacApiClientImpl serviceClient; + + /** + * Initializes an instance of StacApiClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + StacApiClient(StacApiClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Landing Page + * + * Endpoint. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     title: String (Optional)
+     *     stac_version: String (Optional)
+     *     conformsTo (Required): [
+     *         String (Required)
+     *     ]
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     type: String (Optional)
+     * }
+     * }
+     * 
+ * + * @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 https://github.com/radiantearth/stac-api-spec/blob/master/api-spec.md#ogc-api---features-endpoints + * + * Represents the STAC API landing page with links to available resources along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getStacLandingPageWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getStacLandingPageWithResponse(requestOptions); + } + + /** + * Get Collections + * + * Endpoint. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
signStringNoWhether to sign asset URLs in the response. Allowed values: + * "true", "false".
durationIntegerNoURL signature duration in seconds.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     collections (Required): [
+     *          (Required){
+     *             msft:_created: String (Optional)
+     *             msft:_updated: String (Optional)
+     *             msft:short_description: String (Optional)
+     *             stac_extensions (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             id: String (Required)
+     *             description: String (Required)
+     *             stac_version: String (Optional)
+     *             links (Required): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             title: String (Optional)
+     *             type: String (Optional)
+     *             assets (Optional): {
+     *                 String (Required): {
+     *                     platform: String (Optional)
+     *                     instruments (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     constellation: String (Optional)
+     *                     mission: String (Optional)
+     *                     providers (Optional): [
+     *                          (Optional){
+     *                             name: String (Optional, Required on create)
+     *                             description: String (Optional)
+     *                             roles (Optional): [
+     *                                 String (Optional)
+     *                             ]
+     *                             url: String (Optional)
+     *                         }
+     *                     ]
+     *                     gsd: Double (Optional)
+     *                     created: OffsetDateTime (Optional)
+     *                     updated: OffsetDateTime (Optional)
+     *                     title: String (Optional)
+     *                     description: String (Optional)
+     *                     href: String (Optional, Required on create)
+     *                     type: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                      (Optional): {
+     *                         String: BinaryData (Required)
+     *                     }
+     *                 }
+     *             }
+     *             license: String (Required)
+     *             extent (Required): {
+     *                 spatial (Required): {
+     *                     bbox (Optional): [
+     *                          (Optional)[
+     *                             double (Optional)
+     *                         ]
+     *                     ]
+     *                 }
+     *                 temporal (Required): {
+     *                     interval (Required): [
+     *                          (Required)[
+     *                             String (Required)
+     *                         ]
+     *                     ]
+     *                 }
+     *             }
+     *             keywords (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             summaries (Optional): {
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @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 collections + * + * Endpoint along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAllCollectionsWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getAllCollectionsWithResponse(requestOptions); + } + + /** + * Create Collection + * + * Create a new collection in the GeoCatalog instance. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param body Request collection body. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginCreateCollection(BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.beginCreateCollection(body, requestOptions); + } + + /** + * Get Collection + * + * Get a collection in the GeoCatalog instance. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
signStringNoWhether to sign asset URLs in the response. Allowed values: + * "true", "false".
durationIntegerNoURL signature duration in seconds.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the collection. + * @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 collection + * + * Get a collection in the GeoCatalog instance along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getCollectionWithResponse(String collectionId, RequestOptions requestOptions) { + return this.serviceClient.getCollectionWithResponse(collectionId, requestOptions); + } + + /** + * Create or update Collection + * + * Create or replace a collection in the GeoCatalog instance. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param body Request collection body. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginCreateOrReplaceCollection(String collectionId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.beginCreateOrReplaceCollection(collectionId, body, requestOptions); + } + + /** + * Delete Collection + * + * Delete a collection in the GeoCatalog instance. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection 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 SyncPoller} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginDeleteCollection(String collectionId, RequestOptions requestOptions) { + return this.serviceClient.beginDeleteCollection(collectionId, requestOptions); + } + + /** + * Fetch features of the feature collection with id `collectionId`. + * + * Every feature in a dataset belongs to a collection. A dataset may + * consist of multiple feature collections. A feature collection is often a + * collection of features of a similar type, based on a common schema."). + *

Query Parameters

+ * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitLongNoThe optional limit parameter recommends the number of items that + * should be present in the response document. + * + * If the limit parameter value is greater than advertised limit maximum, the server must return the + * maximum possible number of items, rather than responding with an error. + * + * Only items are counted that are on the first level of the collection in the response document. + * Nested objects contained within the explicitly requested items must not be counted. + * + * Minimum = 1. Maximum = 10000. Default = 10.
bboxList<String>NoOnly features that have a geometry that intersects the + * bounding box are selected. + * The bounding box is provided as four or six numbers, depending on whether the + * coordinate reference system includes a vertical axis (height or depth): + * + * - Lower left corner, coordinate axis 1 + * - Lower left corner, coordinate axis 2 + * - Minimum value, coordinate axis 3 (optional) + * - Upper right corner, coordinate axis 1 + * - Upper right corner, coordinate axis 2 + * - Maximum value, coordinate axis 3 (optional) + * + * The coordinate reference system of the values is WGS 84 longitude/latitude + * (http://www.opengis.net/def/crs/OGC/1.3/CRS84). + * + * For WGS 84 longitude/latitude the values are in most cases the sequence of + * minimum longitude, minimum latitude, maximum longitude and maximum latitude. + * However, in cases where the box spans the antimeridian the first value + * (west-most box edge) is larger than the third value (east-most box edge). + * + * If the vertical axis is included, the third and the sixth number are + * the bottom and the top of the 3-dimensional bounding box. + * + * If a feature has multiple spatial geometry properties, it is the decision of the + * server whether only a single spatial geometry property is used to determine + * the extent or all relevant geometries. Call {@link RequestOptions#addQueryParam} to add string to + * array.
datetimeStringNoEither a date-time or an interval, open or closed. Date and + * time expressions + * adhere to RFC 3339. Open intervals are expressed using double-dots. + * + * Examples: + * + * - A date-time: "2018-02-12T23:20:50Z" + * - A closed interval: "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z" + * - Open intervals: "2018-02-12T00:00:00Z/.." or "../2018-03-18T12:31:12Z" + * + * Only features that have a temporal property that intersects the value of + * `datetime` are selected. + * + * If a feature has multiple temporal properties, it is the decision of the + * server whether only a single temporal property is used to determine + * the extent or all relevant temporal properties.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     features (Optional, Required on create): [
+     *          (Optional, Required on create){
+     *             type: String(Feature/FeatureCollection) (Required)
+     *             stac_version: String (Optional)
+     *             links (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             msft:_created: String (Optional)
+     *             msft:_updated: String (Optional)
+     *             msft:short_description: String (Optional)
+     *             stac_extensions (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             geometry (Optional, Required on create): {
+     *                 type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *                 bbox (Optional): [
+     *                     double (Optional)
+     *                 ]
+     *             }
+     *             bbox (Optional, Required on create): [
+     *                 double (Optional, Required on create)
+     *             ]
+     *             id: String (Required)
+     *             collection: String (Optional)
+     *             properties (Optional, Required on create): {
+     *                 platform: String (Optional)
+     *                 instruments (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 constellation: String (Optional)
+     *                 mission: String (Optional)
+     *                 providers (Optional): [
+     *                      (Optional){
+     *                         name: String (Optional, Required on create)
+     *                         description: String (Optional)
+     *                         roles (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         url: String (Optional)
+     *                     }
+     *                 ]
+     *                 gsd: Double (Optional)
+     *                 created: OffsetDateTime (Optional)
+     *                 updated: OffsetDateTime (Optional)
+     *                 title: String (Optional)
+     *                 description: String (Optional)
+     *                 datetime: String (Optional, Required on create)
+     *                 start_datetime: OffsetDateTime (Optional)
+     *                 end_datetime: OffsetDateTime (Optional)
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *             assets (Optional, Required on create): {
+     *                 String (Required): {
+     *                     platform: String (Optional)
+     *                     instruments (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     constellation: String (Optional)
+     *                     mission: String (Optional)
+     *                     providers (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     gsd: Double (Optional)
+     *                     created: OffsetDateTime (Optional)
+     *                     updated: OffsetDateTime (Optional)
+     *                     title: String (Optional)
+     *                     description: String (Optional)
+     *                     href: String (Optional, Required on create)
+     *                     type: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                      (Optional): {
+     *                         String: BinaryData (Required)
+     *                     }
+     *                 }
+     *             }
+     *             _msft:ts: String (Optional)
+     *             _msft:etag: String (Optional)
+     *         }
+     *     ]
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     *     context (Optional): {
+     *         returned: int (Optional, Required on create)
+     *         limit: Integer (Optional)
+     *         matched: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection 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 https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.md + * + * Represents a collection of STAC Items as a GeoJSON FeatureCollection along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getItemsAsFeaturesWithResponse(String collectionId, RequestOptions requestOptions) { + return this.serviceClient.getItemsAsFeaturesWithResponse(collectionId, requestOptions); + } + + /** + * Create a new STAC item or a set of items in a collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param body STAC Item or ItemCollection + * + * Represents a STAC Item or ItemCollectionModel as defined by the STAC 1.0.0 standard. + * + * **Item**: A GeoJSON Feature that represents a single spatiotemporal asset. + * It includes metadata such as geometry, datetime, and links to related assets. + * Example: A satellite image with its metadata. + * + * **ItemCollectionModel**: A GeoJSON FeatureCollection that contains multiple Items. + * It is used to group multiple related Items together, such as a collection of satellite images. + * + * This union allows the request body to accept either a single Item or a collection of Items. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginCreateItem(String collectionId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.beginCreateItem(collectionId, body, requestOptions); + } + + /** + * Fetch a single STAC Item. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     geometry (Optional, Required on create): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     bbox (Optional, Required on create): [
+     *         double (Optional, Required on create)
+     *     ]
+     *     id: String (Required)
+     *     collection: String (Optional)
+     *     properties (Optional, Required on create): {
+     *         platform: String (Optional)
+     *         instruments (Optional): [
+     *             String (Optional)
+     *         ]
+     *         constellation: String (Optional)
+     *         mission: String (Optional)
+     *         providers (Optional): [
+     *              (Optional){
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 roles (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         gsd: Double (Optional)
+     *         created: OffsetDateTime (Optional)
+     *         updated: OffsetDateTime (Optional)
+     *         title: String (Optional)
+     *         description: String (Optional)
+     *         datetime: String (Optional, Required on create)
+     *         start_datetime: OffsetDateTime (Optional)
+     *         end_datetime: OffsetDateTime (Optional)
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     assets (Optional, Required on create): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     _msft:ts: String (Optional)
+     *     _msft:etag: String (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item 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 represents a STAC Item, which is a GeoJSON Feature with additional metadata along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getItemWithResponse(String collectionId, String itemId, RequestOptions requestOptions) { + return this.serviceClient.getItemWithResponse(collectionId, itemId, requestOptions); + } + + /** + * Create or replace a STAC item in a collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     geometry (Optional, Required on create): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     bbox (Optional, Required on create): [
+     *         double (Optional, Required on create)
+     *     ]
+     *     id: String (Required)
+     *     collection: String (Optional)
+     *     properties (Optional, Required on create): {
+     *         platform: String (Optional)
+     *         instruments (Optional): [
+     *             String (Optional)
+     *         ]
+     *         constellation: String (Optional)
+     *         mission: String (Optional)
+     *         providers (Optional): [
+     *              (Optional){
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 roles (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         gsd: Double (Optional)
+     *         created: OffsetDateTime (Optional)
+     *         updated: OffsetDateTime (Optional)
+     *         title: String (Optional)
+     *         description: String (Optional)
+     *         datetime: String (Optional, Required on create)
+     *         start_datetime: OffsetDateTime (Optional)
+     *         end_datetime: OffsetDateTime (Optional)
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     assets (Optional, Required on create): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     _msft:ts: String (Optional)
+     *     _msft:etag: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item id. + * @param body STAC Item. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginCreateOrReplaceItem(String collectionId, String itemId, + BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.beginCreateOrReplaceItem(collectionId, itemId, body, requestOptions); + } + + /** + * Update a STAC item in a collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     geometry (Optional, Required on create): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     bbox (Optional, Required on create): [
+     *         double (Optional, Required on create)
+     *     ]
+     *     id: String (Required)
+     *     collection: String (Optional)
+     *     properties (Optional, Required on create): {
+     *         platform: String (Optional)
+     *         instruments (Optional): [
+     *             String (Optional)
+     *         ]
+     *         constellation: String (Optional)
+     *         mission: String (Optional)
+     *         providers (Optional): [
+     *              (Optional){
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 roles (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         gsd: Double (Optional)
+     *         created: OffsetDateTime (Optional)
+     *         updated: OffsetDateTime (Optional)
+     *         title: String (Optional)
+     *         description: String (Optional)
+     *         datetime: String (Optional, Required on create)
+     *         start_datetime: OffsetDateTime (Optional)
+     *         end_datetime: OffsetDateTime (Optional)
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     assets (Optional, Required on create): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     _msft:ts: String (Optional)
+     *     _msft:etag: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item id. + * @param body STAC Item. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginUpdateItem(String collectionId, String itemId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.beginUpdateItem(collectionId, itemId, body, requestOptions); + } + + /** + * Delete a STAC item from a collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item 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 SyncPoller} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginDeleteItem(String collectionId, String itemId, + RequestOptions requestOptions) { + return this.serviceClient.beginDeleteItem(collectionId, itemId, requestOptions); + } + + /** + * Queryables + * + * Endpoint. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *      (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     * }
+     * }
+     * 
+ * + * @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 jSON Schema structure for STAC Queryables along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAllQueryablesWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getAllQueryablesWithResponse(requestOptions); + } + + /** + * Collection Queryables + * + * Endpoint. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *      (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Collection 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 jSON Schema structure for STAC Queryables along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAllQueryablesByCollectionWithResponse(String collectionId, + RequestOptions requestOptions) { + return this.serviceClient.getAllQueryablesByCollectionWithResponse(collectionId, requestOptions); + } + + /** + * Set Collection Queryables + * + * Set queryables for a collection given a list of queryable definitions. + *

Request Body Schema

+ * + *
+     * {@code
+     * [
+     *      (Required){
+     *         name: String (Required)
+     *         definition (Required): {
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *         create_index: Boolean (Optional)
+     *         data_type: String(string/number/boolean/timestamp/date) (Optional)
+     *     }
+     * ]
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *      (Required){
+     *         name: String (Required)
+     *         definition (Required): {
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *         create_index: Boolean (Optional)
+     *         data_type: String(string/number/boolean/timestamp/date) (Optional)
+     *     }
+     * ]
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param body Request queryable definition body. + * @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 body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createQueryablesWithResponse(String collectionId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.createQueryablesWithResponse(collectionId, body, requestOptions); + } + + /** + * Conformance Classes + * + * Endpoint. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     conformsTo (Required): [
+     *         String (Required)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @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 https://github.com/radiantearth/stac-api-spec/blob/master/api-spec.md#ogc-api---features-endpoints + * + * Represents the OGC API conformance declaration along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getConformanceClassWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getConformanceClassWithResponse(requestOptions); + } + + /** + * Search + * + * Endpoint. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
collectionsList<String>NoList of Collection IDs to include in the + * search. Only items in these collections will be searched. In the form of "," separated string.
idsList<String>NoArray of Item IDs to return specific items. In the form + * of "," separated string.
bboxList<Double>NoBounding box for spatial filtering in format [west, + * south, east, north]. In the form of "," separated string.
intersectsStringNoGeoJSON geometry for spatial filtering.
datetimeStringNoTemporal filter in RFC 3339 format, can be a single time or + * range.
limitIntegerNoMaximum number of results to return.
signStringNoWhether to sign asset URLs in the response. Allowed values: + * "true", "false".
durationIntegerNoURL signature duration in seconds.
queryStringNoProperty-based filtering expressed as a JSON object.
sortbyStringNoSort order for items. Format is property name prefixed with "+" + * for ascending or "-" for descending.
fieldsStringNoDetermines which fields to include in the response. Format is + * comma-separated field names with "-" prefix to exclude fields.
filterStringNoCQL filter expression for advanced filtering of items.
tokenStringNoPagination token for fetching the next set of results.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     features (Optional, Required on create): [
+     *          (Optional, Required on create){
+     *             type: String(Feature/FeatureCollection) (Required)
+     *             stac_version: String (Optional)
+     *             links (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             msft:_created: String (Optional)
+     *             msft:_updated: String (Optional)
+     *             msft:short_description: String (Optional)
+     *             stac_extensions (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             geometry (Optional, Required on create): {
+     *                 type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *                 bbox (Optional): [
+     *                     double (Optional)
+     *                 ]
+     *             }
+     *             bbox (Optional, Required on create): [
+     *                 double (Optional, Required on create)
+     *             ]
+     *             id: String (Required)
+     *             collection: String (Optional)
+     *             properties (Optional, Required on create): {
+     *                 platform: String (Optional)
+     *                 instruments (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 constellation: String (Optional)
+     *                 mission: String (Optional)
+     *                 providers (Optional): [
+     *                      (Optional){
+     *                         name: String (Optional, Required on create)
+     *                         description: String (Optional)
+     *                         roles (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         url: String (Optional)
+     *                     }
+     *                 ]
+     *                 gsd: Double (Optional)
+     *                 created: OffsetDateTime (Optional)
+     *                 updated: OffsetDateTime (Optional)
+     *                 title: String (Optional)
+     *                 description: String (Optional)
+     *                 datetime: String (Optional, Required on create)
+     *                 start_datetime: OffsetDateTime (Optional)
+     *                 end_datetime: OffsetDateTime (Optional)
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *             assets (Optional, Required on create): {
+     *                 String (Required): {
+     *                     platform: String (Optional)
+     *                     instruments (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     constellation: String (Optional)
+     *                     mission: String (Optional)
+     *                     providers (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     gsd: Double (Optional)
+     *                     created: OffsetDateTime (Optional)
+     *                     updated: OffsetDateTime (Optional)
+     *                     title: String (Optional)
+     *                     description: String (Optional)
+     *                     href: String (Optional, Required on create)
+     *                     type: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                      (Optional): {
+     *                         String: BinaryData (Required)
+     *                     }
+     *                 }
+     *             }
+     *             _msft:ts: String (Optional)
+     *             _msft:etag: String (Optional)
+     *         }
+     *     ]
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     *     context (Optional): {
+     *         returned: int (Optional, Required on create)
+     *         limit: Integer (Optional)
+     *         matched: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + * @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 https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.md + * + * Represents a collection of STAC Items as a GeoJSON FeatureCollection along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getSearchOperationsWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getSearchOperationsWithResponse(requestOptions); + } + + /** + * Search + * + * Endpoint. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     collections (Optional): [
+     *         String (Optional)
+     *     ]
+     *     ids (Optional): [
+     *         String (Optional)
+     *     ]
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     *     intersects (Optional): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     datetime: String (Optional)
+     *     limit: Integer (Optional)
+     *     conf (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     *     sign: String(true/false) (Optional)
+     *     duration: Integer (Optional)
+     *     query (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     sortby (Optional): [
+     *          (Optional){
+     *             field: String (Required)
+     *             direction: String(asc/desc) (Required)
+     *         }
+     *     ]
+     *     fields (Optional): [
+     *          (Optional){
+     *             include (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             exclude (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     filter: String (Optional)
+     *     filter-crs: String (Optional)
+     *     filter-lang: String(cql-json/cql2-json/cql2-text) (Optional)
+     *     token: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     features (Optional, Required on create): [
+     *          (Optional, Required on create){
+     *             type: String(Feature/FeatureCollection) (Required)
+     *             stac_version: String (Optional)
+     *             links (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             msft:_created: String (Optional)
+     *             msft:_updated: String (Optional)
+     *             msft:short_description: String (Optional)
+     *             stac_extensions (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             geometry (Optional, Required on create): {
+     *                 type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *                 bbox (Optional): [
+     *                     double (Optional)
+     *                 ]
+     *             }
+     *             bbox (Optional, Required on create): [
+     *                 double (Optional, Required on create)
+     *             ]
+     *             id: String (Required)
+     *             collection: String (Optional)
+     *             properties (Optional, Required on create): {
+     *                 platform: String (Optional)
+     *                 instruments (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 constellation: String (Optional)
+     *                 mission: String (Optional)
+     *                 providers (Optional): [
+     *                      (Optional){
+     *                         name: String (Optional, Required on create)
+     *                         description: String (Optional)
+     *                         roles (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         url: String (Optional)
+     *                     }
+     *                 ]
+     *                 gsd: Double (Optional)
+     *                 created: OffsetDateTime (Optional)
+     *                 updated: OffsetDateTime (Optional)
+     *                 title: String (Optional)
+     *                 description: String (Optional)
+     *                 datetime: String (Optional, Required on create)
+     *                 start_datetime: OffsetDateTime (Optional)
+     *                 end_datetime: OffsetDateTime (Optional)
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *             assets (Optional, Required on create): {
+     *                 String (Required): {
+     *                     platform: String (Optional)
+     *                     instruments (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     constellation: String (Optional)
+     *                     mission: String (Optional)
+     *                     providers (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     gsd: Double (Optional)
+     *                     created: OffsetDateTime (Optional)
+     *                     updated: OffsetDateTime (Optional)
+     *                     title: String (Optional)
+     *                     description: String (Optional)
+     *                     href: String (Optional, Required on create)
+     *                     type: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                      (Optional): {
+     *                         String: BinaryData (Required)
+     *                     }
+     *                 }
+     *             }
+     *             _msft:ts: String (Optional)
+     *             _msft:etag: String (Optional)
+     *         }
+     *     ]
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     *     context (Optional): {
+     *         returned: int (Optional, Required on create)
+     *         limit: Integer (Optional)
+     *         matched: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param body Request body. + * @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 https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.md + * + * Represents a collection of STAC Items as a GeoJSON FeatureCollection along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createSearchOperationsWithResponse(BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.createSearchOperationsWithResponse(body, requestOptions); + } + + /** + * Landing Page + * + * Endpoint. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return https://github.com/radiantearth/stac-api-spec/blob/master/api-spec.md#ogc-api---features-endpoints + * + * Represents the STAC API landing page with links to available resources. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public LandingPage getStacLandingPage() { + // Generated convenience method for getStacLandingPageWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getStacLandingPageWithResponse(requestOptions).getValue().toObject(LandingPage.class); + } + + /** + * Get Collections + * + * Endpoint. + * + * @param sign Whether to sign asset URLs in the response. + * @param duration URL signature duration in seconds. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return collections + * + * Endpoint. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public FeatureCollections getAllCollections(SignType sign, Integer duration) { + // Generated convenience method for getAllCollectionsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (sign != null) { + requestOptions.addQueryParam("sign", sign.toString(), false); + } + if (duration != null) { + requestOptions.addQueryParam("duration", String.valueOf(duration), false); + } + return getAllCollectionsWithResponse(requestOptions).getValue().toObject(FeatureCollections.class); + } + + /** + * Get Collections + * + * Endpoint. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return collections + * + * Endpoint. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public FeatureCollections getAllCollections() { + // Generated convenience method for getAllCollectionsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAllCollectionsWithResponse(requestOptions).getValue().toObject(FeatureCollections.class); + } + + /** + * Create Collection + * + * Create a new collection in the GeoCatalog instance. + * + * @param body Request collection body. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link SyncPoller} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginCreateCollection(StacCollectionModel body) { + // Generated convenience method for beginCreateCollectionWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginCreateCollectionWithModel(BinaryData.fromObject(body), requestOptions); + } + + /** + * Get Collection + * + * Get a collection in the GeoCatalog instance. + * + * @param collectionId Unique identifier for the collection. + * @param sign Whether to sign asset URLs in the response. + * @param duration URL signature duration in seconds. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return collection + * + * Get a collection in the GeoCatalog instance. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public StacCollectionModel getCollection(String collectionId, SignType sign, Integer duration) { + // Generated convenience method for getCollectionWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (sign != null) { + requestOptions.addQueryParam("sign", sign.toString(), false); + } + if (duration != null) { + requestOptions.addQueryParam("duration", String.valueOf(duration), false); + } + return getCollectionWithResponse(collectionId, requestOptions).getValue().toObject(StacCollectionModel.class); + } + + /** + * Get Collection + * + * Get a collection in the GeoCatalog instance. + * + * @param collectionId Unique identifier for the collection. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return collection + * + * Get a collection in the GeoCatalog instance. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public StacCollectionModel getCollection(String collectionId) { + // Generated convenience method for getCollectionWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getCollectionWithResponse(collectionId, requestOptions).getValue().toObject(StacCollectionModel.class); + } + + /** + * Create or update Collection + * + * Create or replace a collection in the GeoCatalog instance. + * + * @param collectionId Catalog collection id. + * @param body Request collection body. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link SyncPoller} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginCreateOrReplaceCollection(String collectionId, StacCollectionModel body) { + // Generated convenience method for beginCreateOrReplaceCollectionWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginCreateOrReplaceCollectionWithModel(collectionId, BinaryData.fromObject(body), + requestOptions); + } + + /** + * Delete Collection + * + * Delete a collection in the GeoCatalog instance. + * + * @param collectionId Catalog collection id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link SyncPoller} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginDeleteCollection(String collectionId) { + // Generated convenience method for beginDeleteCollectionWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginDeleteCollectionWithModel(collectionId, requestOptions); + } + + /** + * Fetch features of the feature collection with id `collectionId`. + * + * Every feature in a dataset belongs to a collection. A dataset may + * consist of multiple feature collections. A feature collection is often a + * collection of features of a similar type, based on a common schema."). + * + * @param collectionId Catalog collection id. + * @param limit The optional limit parameter recommends the number of items that should be present in the response + * document. + * + * If the limit parameter value is greater than advertised limit maximum, the server must return the + * maximum possible number of items, rather than responding with an error. + * + * Only items are counted that are on the first level of the collection in the response document. + * Nested objects contained within the explicitly requested items must not be counted. + * + * Minimum = 1. Maximum = 10000. Default = 10. + * @param bbox Only features that have a geometry that intersects the bounding box are selected. + * The bounding box is provided as four or six numbers, depending on whether the + * coordinate reference system includes a vertical axis (height or depth): + * + * - Lower left corner, coordinate axis 1 + * - Lower left corner, coordinate axis 2 + * - Minimum value, coordinate axis 3 (optional) + * - Upper right corner, coordinate axis 1 + * - Upper right corner, coordinate axis 2 + * - Maximum value, coordinate axis 3 (optional) + * + * The coordinate reference system of the values is WGS 84 longitude/latitude + * (http://www.opengis.net/def/crs/OGC/1.3/CRS84). + * + * For WGS 84 longitude/latitude the values are in most cases the sequence of + * minimum longitude, minimum latitude, maximum longitude and maximum latitude. + * However, in cases where the box spans the antimeridian the first value + * (west-most box edge) is larger than the third value (east-most box edge). + * + * If the vertical axis is included, the third and the sixth number are + * the bottom and the top of the 3-dimensional bounding box. + * + * If a feature has multiple spatial geometry properties, it is the decision of the + * server whether only a single spatial geometry property is used to determine + * the extent or all relevant geometries. + * @param datetime Either a date-time or an interval, open or closed. Date and time expressions + * adhere to RFC 3339. Open intervals are expressed using double-dots. + * + * Examples: + * + * - A date-time: "2018-02-12T23:20:50Z" + * - A closed interval: "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z" + * - Open intervals: "2018-02-12T00:00:00Z/.." or "../2018-03-18T12:31:12Z" + * + * Only features that have a temporal property that intersects the value of + * `datetime` are selected. + * + * If a feature has multiple temporal properties, it is the decision of the + * server whether only a single temporal property is used to determine + * the extent or all relevant temporal properties. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.md + * + * Represents a collection of STAC Items as a GeoJSON FeatureCollection. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public ItemCollectionModel getItemsAsFeatures(String collectionId, Long limit, List bbox, String datetime) { + // Generated convenience method for getItemsAsFeaturesWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (bbox != null) { + for (String paramItemValue : bbox) { + if (paramItemValue != null) { + requestOptions.addQueryParam("bbox", paramItemValue, false); + } + } + } + if (datetime != null) { + requestOptions.addQueryParam("datetime", datetime, false); + } + return getItemsAsFeaturesWithResponse(collectionId, requestOptions).getValue() + .toObject(ItemCollectionModel.class); + } + + /** + * Fetch features of the feature collection with id `collectionId`. + * + * Every feature in a dataset belongs to a collection. A dataset may + * consist of multiple feature collections. A feature collection is often a + * collection of features of a similar type, based on a common schema."). + * + * @param collectionId Catalog collection id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.md + * + * Represents a collection of STAC Items as a GeoJSON FeatureCollection. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public ItemCollectionModel getItemsAsFeatures(String collectionId) { + // Generated convenience method for getItemsAsFeaturesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getItemsAsFeaturesWithResponse(collectionId, requestOptions).getValue() + .toObject(ItemCollectionModel.class); + } + + /** + * Create a new STAC item or a set of items in a collection. + * + * @param collectionId Catalog collection id. + * @param body STAC Item or ItemCollection + * + * Represents a STAC Item or ItemCollectionModel as defined by the STAC 1.0.0 standard. + * + * **Item**: A GeoJSON Feature that represents a single spatiotemporal asset. + * It includes metadata such as geometry, datetime, and links to related assets. + * Example: A satellite image with its metadata. + * + * **ItemCollectionModel**: A GeoJSON FeatureCollection that contains multiple Items. + * It is used to group multiple related Items together, such as a collection of satellite images. + * + * This union allows the request body to accept either a single Item or a collection of Items. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link SyncPoller} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginCreateItem(String collectionId, StacItemOrItemCollection body) { + // Generated convenience method for beginCreateItemWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginCreateItemWithModel(collectionId, BinaryData.fromObject(body), requestOptions); + } + + /** + * Fetch a single STAC Item. + * + * @param collectionId Catalog collection id. + * @param itemId STAC Item id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return represents a STAC Item, which is a GeoJSON Feature with additional metadata. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public StacItemModel getItem(String collectionId, String itemId) { + // Generated convenience method for getItemWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getItemWithResponse(collectionId, itemId, requestOptions).getValue().toObject(StacItemModel.class); + } + + /** + * Create or replace a STAC item in a collection. + * + * @param collectionId Catalog collection id. + * @param itemId STAC Item id. + * @param body STAC Item. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link SyncPoller} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginCreateOrReplaceItem(String collectionId, String itemId, + StacItemModel body) { + // Generated convenience method for beginCreateOrReplaceItemWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginCreateOrReplaceItemWithModel(collectionId, itemId, BinaryData.fromObject(body), + requestOptions); + } + + /** + * Delete a STAC item from a collection. + * + * @param collectionId Catalog collection id. + * @param itemId STAC Item id. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link SyncPoller} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginDeleteItem(String collectionId, String itemId) { + // Generated convenience method for beginDeleteItemWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginDeleteItemWithModel(collectionId, itemId, requestOptions); + } + + /** + * Queryables + * + * Endpoint. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return jSON Schema structure for STAC Queryables. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public JsonSchema getAllQueryables() { + // Generated convenience method for getAllQueryablesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAllQueryablesWithResponse(requestOptions).getValue().toObject(JsonSchema.class); + } + + /** + * Collection Queryables + * + * Endpoint. + * + * @param collectionId Collection ID. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return jSON Schema structure for STAC Queryables. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public JsonSchema getAllQueryablesByCollection(String collectionId) { + // Generated convenience method for getAllQueryablesByCollectionWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAllQueryablesByCollectionWithResponse(collectionId, requestOptions).getValue() + .toObject(JsonSchema.class); + } + + /** + * Set Collection Queryables + * + * Set queryables for a collection given a list of queryable definitions. + * + * @param collectionId Unique identifier for the STAC collection. + * @param body Request queryable definition body. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List createQueryables(String collectionId, List body) { + // Generated convenience method for createQueryablesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createQueryablesWithResponse(collectionId, BinaryData.fromObject(body), requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_QUERYABLE_DEFINITION); + } + + /** + * Conformance Classes + * + * Endpoint. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return https://github.com/radiantearth/stac-api-spec/blob/master/api-spec.md#ogc-api---features-endpoints + * + * Represents the OGC API conformance declaration. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public ConformanceClasses getConformanceClass() { + // Generated convenience method for getConformanceClassWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getConformanceClassWithResponse(requestOptions).getValue().toObject(ConformanceClasses.class); + } + + /** + * Search + * + * Endpoint. + * + * @param collections List of Collection IDs to include in the search. Only items in these collections will be + * searched. + * @param ids Array of Item IDs to return specific items. + * @param bbox Bounding box for spatial filtering in format [west, south, east, north]. + * @param intersects GeoJSON geometry for spatial filtering. + * @param datetime Temporal filter in RFC 3339 format, can be a single time or range. + * @param limit Maximum number of results to return. + * @param sign Whether to sign asset URLs in the response. + * @param duration URL signature duration in seconds. + * @param query Property-based filtering expressed as a JSON object. + * @param sortBy Sort order for items. Format is property name prefixed with "+" for ascending or "-" for + * descending. + * @param fields Determines which fields to include in the response. Format is comma-separated field names with "-" + * prefix to exclude fields. + * @param filter CQL filter expression for advanced filtering of items. + * @param token Pagination token for fetching the next set of results. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.md + * + * Represents a collection of STAC Items as a GeoJSON FeatureCollection. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public ItemCollectionModel getSearchOperations(List collections, List ids, List bbox, + String intersects, String datetime, Integer limit, SignType sign, Integer duration, String query, String sortBy, + String fields, String filter, String token) { + // Generated convenience method for getSearchOperationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (collections != null) { + requestOptions.addQueryParam("collections", + collections.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (ids != null) { + requestOptions.addQueryParam("ids", + ids.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (bbox != null) { + requestOptions.addQueryParam("bbox", + JacksonAdapter.createDefaultSerializerAdapter().serializeIterable(bbox, CollectionFormat.CSV), false); + } + if (intersects != null) { + requestOptions.addQueryParam("intersects", intersects, false); + } + if (datetime != null) { + requestOptions.addQueryParam("datetime", datetime, false); + } + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (sign != null) { + requestOptions.addQueryParam("sign", sign.toString(), false); + } + if (duration != null) { + requestOptions.addQueryParam("duration", String.valueOf(duration), false); + } + if (query != null) { + requestOptions.addQueryParam("query", query, false); + } + if (sortBy != null) { + requestOptions.addQueryParam("sortby", sortBy, false); + } + if (fields != null) { + requestOptions.addQueryParam("fields", fields, false); + } + if (filter != null) { + requestOptions.addQueryParam("filter", filter, false); + } + if (token != null) { + requestOptions.addQueryParam("token", token, false); + } + return getSearchOperationsWithResponse(requestOptions).getValue().toObject(ItemCollectionModel.class); + } + + /** + * Search + * + * Endpoint. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.md + * + * Represents a collection of STAC Items as a GeoJSON FeatureCollection. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public ItemCollectionModel getSearchOperations() { + // Generated convenience method for getSearchOperationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getSearchOperationsWithResponse(requestOptions).getValue().toObject(ItemCollectionModel.class); + } + + /** + * Search + * + * Endpoint. + * + * @param body Request body. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.md + * + * Represents a collection of STAC Items as a GeoJSON FeatureCollection. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public ItemCollectionModel createSearchOperations(SearchPostRequest body) { + // Generated convenience method for createSearchOperationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createSearchOperationsWithResponse(BinaryData.fromObject(body), requestOptions).getValue() + .toObject(ItemCollectionModel.class); + } + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_QUERYABLE_DEFINITION + = new TypeReference>() { + }; +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacApiClientBuilder.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacApiClientBuilder.java new file mode 100644 index 000000000000..2a463f224d76 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacApiClientBuilder.java @@ -0,0 +1,333 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ServiceClientBuilder; +import com.azure.core.client.traits.ConfigurationTrait; +import com.azure.core.client.traits.EndpointTrait; +import com.azure.core.client.traits.HttpTrait; +import com.azure.core.client.traits.TokenCredentialTrait; +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.AddDatePolicy; +import com.azure.core.http.policy.AddHeadersFromContextPolicy; +import com.azure.core.http.policy.AddHeadersPolicy; +import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; +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.RequestIdPolicy; +import com.azure.core.http.policy.RetryOptions; +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.builder.ClientBuilderUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.planetarycomputer.implementation.StacApiClientImpl; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** + * A builder for creating a new instance of the StacApiClient type. + */ +@ServiceClientBuilder(serviceClients = { StacApiClient.class, StacApiAsyncClient.class }) +public final class StacApiClientBuilder + implements HttpTrait, ConfigurationTrait, + TokenCredentialTrait, EndpointTrait { + @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://geocatalog.spatio.azure.com/.default" }; + + @Generated + private static final Map PROPERTIES = CoreUtils.getProperties("azure-planetarycomputer.properties"); + + @Generated + private final List pipelinePolicies; + + /** + * Create an instance of the StacApiClientBuilder. + */ + @Generated + public StacApiClientBuilder() { + this.pipelinePolicies = new ArrayList<>(); + } + + /* + * The HTTP client used to send the request. + */ + @Generated + private HttpClient httpClient; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacApiClientBuilder httpClient(HttpClient httpClient) { + this.httpClient = httpClient; + return this; + } + + /* + * The HTTP pipeline to send requests through. + */ + @Generated + private HttpPipeline pipeline; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacApiClientBuilder pipeline(HttpPipeline pipeline) { + if (this.pipeline != null && pipeline == null) { + LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured."); + } + this.pipeline = pipeline; + return this; + } + + /* + * The logging configuration for HTTP requests and responses. + */ + @Generated + private HttpLogOptions httpLogOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacApiClientBuilder httpLogOptions(HttpLogOptions httpLogOptions) { + this.httpLogOptions = httpLogOptions; + return this; + } + + /* + * The client options such as application ID and custom headers to set on a request. + */ + @Generated + private ClientOptions clientOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacApiClientBuilder clientOptions(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + return this; + } + + /* + * The retry options to configure retry policy for failed requests. + */ + @Generated + private RetryOptions retryOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacApiClientBuilder retryOptions(RetryOptions retryOptions) { + this.retryOptions = retryOptions; + return this; + } + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacApiClientBuilder addPolicy(HttpPipelinePolicy customPolicy) { + Objects.requireNonNull(customPolicy, "'customPolicy' cannot be null."); + pipelinePolicies.add(customPolicy); + return this; + } + + /* + * The configuration store that is used during construction of the service client. + */ + @Generated + private Configuration configuration; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacApiClientBuilder configuration(Configuration configuration) { + this.configuration = configuration; + return this; + } + + /* + * The TokenCredential used for authentication. + */ + @Generated + private TokenCredential tokenCredential; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacApiClientBuilder credential(TokenCredential tokenCredential) { + this.tokenCredential = tokenCredential; + return this; + } + + /* + * The service endpoint + */ + @Generated + private String endpoint; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacApiClientBuilder endpoint(String endpoint) { + this.endpoint = endpoint; + return this; + } + + /* + * Service version + */ + @Generated + private PlanetaryComputerServiceVersion serviceVersion; + + /** + * Sets Service version. + * + * @param serviceVersion the serviceVersion value. + * @return the StacApiClientBuilder. + */ + @Generated + public StacApiClientBuilder serviceVersion(PlanetaryComputerServiceVersion serviceVersion) { + this.serviceVersion = serviceVersion; + 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 StacApiClientBuilder. + */ + @Generated + public StacApiClientBuilder retryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = retryPolicy; + return this; + } + + /** + * Builds an instance of StacApiClientImpl with the provided parameters. + * + * @return an instance of StacApiClientImpl. + */ + @Generated + private StacApiClientImpl buildInnerClient() { + this.validateClient(); + HttpPipeline localPipeline = (pipeline != null) ? pipeline : createHttpPipeline(); + PlanetaryComputerServiceVersion localServiceVersion + = (serviceVersion != null) ? serviceVersion : PlanetaryComputerServiceVersion.getLatest(); + StacApiClientImpl client = new StacApiClientImpl(localPipeline, JacksonAdapter.createDefaultSerializerAdapter(), + this.endpoint, localServiceVersion); + return client; + } + + @Generated + private void validateClient() { + // This method is invoked from 'buildInnerClient'/'buildClient' method. + // Developer can customize this method, to validate that the necessary conditions are met for the new client. + Objects.requireNonNull(endpoint, "'endpoint' cannot be null."); + } + + @Generated + private HttpPipeline createHttpPipeline() { + Configuration buildConfiguration + = (configuration == null) ? Configuration.getGlobalConfiguration() : configuration; + HttpLogOptions localHttpLogOptions = this.httpLogOptions == null ? new HttpLogOptions() : this.httpLogOptions; + ClientOptions localClientOptions = this.clientOptions == null ? new ClientOptions() : this.clientOptions; + List policies = new ArrayList<>(); + String clientName = PROPERTIES.getOrDefault(SDK_NAME, "UnknownName"); + String clientVersion = PROPERTIES.getOrDefault(SDK_VERSION, "UnknownVersion"); + String applicationId = CoreUtils.getApplicationId(localClientOptions, localHttpLogOptions); + policies.add(new UserAgentPolicy(applicationId, clientName, clientVersion, buildConfiguration)); + policies.add(new RequestIdPolicy()); + policies.add(new AddHeadersFromContextPolicy()); + HttpHeaders headers = CoreUtils.createHttpHeadersFromClientOptions(localClientOptions); + if (headers != null) { + policies.add(new AddHeadersPolicy(headers)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addBeforeRetryPolicies(policies); + policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy())); + policies.add(new AddDatePolicy()); + if (tokenCredential != null) { + policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addAfterRetryPolicies(policies); + policies.add(new HttpLoggingPolicy(localHttpLogOptions)); + HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0])) + .httpClient(httpClient) + .clientOptions(localClientOptions) + .build(); + return httpPipeline; + } + + /** + * Builds an instance of StacApiAsyncClient class. + * + * @return an instance of StacApiAsyncClient. + */ + @Generated + public StacApiAsyncClient buildAsyncClient() { + return new StacApiAsyncClient(buildInnerClient()); + } + + /** + * Builds an instance of StacApiClient class. + * + * @return an instance of StacApiClient. + */ + @Generated + public StacApiClient buildClient() { + return new StacApiClient(buildInnerClient()); + } + + private static final ClientLogger LOGGER = new ClientLogger(StacApiClientBuilder.class); +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacCollectionConfigurationAsyncClient.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacCollectionConfigurationAsyncClient.java new file mode 100644 index 000000000000..22c34b9eea21 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacCollectionConfigurationAsyncClient.java @@ -0,0 +1,1952 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +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.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.serializer.TypeReference; +import com.azure.planetarycomputer.implementation.MultipartFormDataHelper; +import com.azure.planetarycomputer.implementation.StacCollectionConfigurationClientImpl; +import com.azure.planetarycomputer.models.FormContent; +import com.azure.planetarycomputer.models.Mosaic; +import com.azure.planetarycomputer.models.PartitionType; +import com.azure.planetarycomputer.models.QueryableDefinition; +import com.azure.planetarycomputer.models.RenderOptionModel; +import com.azure.planetarycomputer.models.StacCollectionModel; +import com.azure.planetarycomputer.models.TileSettings; +import com.azure.planetarycomputer.models.UserCollectionSettings; +import java.util.List; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the asynchronous StacCollectionConfigurationClient type. + */ +@ServiceClient(builder = StacCollectionConfigurationClientBuilder.class, isAsync = true) +public final class StacCollectionConfigurationAsyncClient { + @Generated + private final StacCollectionConfigurationClientImpl serviceClient; + + /** + * Initializes an instance of StacCollectionConfigurationAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + StacCollectionConfigurationAsyncClient(StacCollectionConfigurationClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Create Collection Asset + * + * Create a new asset in the Collection metadata and write the associated + * file to managed storage. + * + * Args: + * request: The incoming request. + * asset: The Asset object to write, without a valid href to the asset. + * file: The file to write. + * collection_id: The ID of the collection to write the asset to. + * content_type: The content type of the request. + * + * Returns: + * A Response object containing the newly created asset. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection ID. + * @param body Multi-part form data. + * @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 https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md + * + * Represents a STAC collection along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + Mono> createCollectionAssetWithResponse(String collectionId, BinaryData body, + RequestOptions requestOptions) { + // Operation 'createCollectionAsset' is of content-type 'multipart/form-data'. Protocol API is not usable and + // hence not generated. + return this.serviceClient.createCollectionAssetWithResponseAsync(collectionId, body, requestOptions); + } + + /** + * Update Collection Asset + * + * Update an existing asset in a given collection. + * + * Args: + * request: The incoming request. + * asset: The Asset object to update. + * file: The file to update (optional). + * collection_id: The ID of the collection to update the asset in. + * asset_id: The ID of the asset to update. + * content_type: The content type of the request. + * + * Returns: + * A Response object containing the updated asset. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection ID. + * @param assetId STAC Asset ID. + * @param body Multi-part form data. + * @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 https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md + * + * Represents a STAC collection along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + Mono> createOrReplaceCollectionAssetWithResponse(String collectionId, String assetId, + BinaryData body, RequestOptions requestOptions) { + // Operation 'createOrReplaceCollectionAsset' is of content-type 'multipart/form-data'. Protocol API is not + // usable and hence not generated. + return this.serviceClient.createOrReplaceCollectionAssetWithResponseAsync(collectionId, assetId, body, + requestOptions); + } + + /** + * Delete Collection Asset + * + * Delete an asset from a given collection. + * + * Args: + * request: The incoming request. + * collection_id: The ID of the collection to delete the asset from. + * asset_id: The ID of the asset to delete. + * + * Returns: + * A Response object indicating the success of the deletion. + * + * @param collectionId STAC Collection ID. + * @param assetId STAC Asset 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> deleteCollectionAssetWithResponse(String collectionId, String assetId, + RequestOptions requestOptions) { + return this.serviceClient.deleteCollectionAssetWithResponseAsync(collectionId, assetId, requestOptions); + } + + /** + * Get Config + * + * Get the complete user configuration for a given collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     tileSettings (Required): {
+     *         minZoom: int (Required)
+     *         maxItemsPerTile: int (Required)
+     *         defaultLocation (Optional): {
+     *             zoom: int (Required)
+     *             coordinates (Required): [
+     *                 double (Required)
+     *             ]
+     *         }
+     *     }
+     *     mosaicInfo (Required): {
+     *         mosaics (Required): [
+     *              (Required){
+     *                 id: String (Required)
+     *                 name: String (Required)
+     *                 description: String (Optional)
+     *                 cql (Required): [
+     *                      (Required){
+     *                          (Optional): {
+     *                             String: BinaryData (Required)
+     *                         }
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         renderOptions (Required): [
+     *              (Required){
+     *                 id: String (Required)
+     *                 name: String (Required)
+     *                 description: String (Optional)
+     *                 type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *                 options: String (Optional)
+     *                 vectorOptions (Optional): {
+     *                     tilejsonKey: String (Required)
+     *                     sourceLayer: String (Required)
+     *                     fillColor: String (Optional)
+     *                     strokeColor: String (Optional)
+     *                     strokeWidth: Integer (Optional)
+     *                     filter (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                 }
+     *                 minZoom: Integer (Optional)
+     *                 legend (Optional): {
+     *                     type: String(continuous/classmap/interval/none) (Optional)
+     *                     labels (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     trimStart: Integer (Optional)
+     *                     trimEnd: Integer (Optional)
+     *                     scaleFactor: Double (Optional)
+     *                 }
+     *                 conditions (Optional): [
+     *                      (Optional){
+     *                         property: String (Required)
+     *                         value: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         defaultLocation (Optional): (recursive schema, see defaultLocation above)
+     *         defaultCustomQuery (Optional): (recursive schema, see defaultCustomQuery above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @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 config + * + * Get the complete user configuration for a given collection along with {@link Response} on successful completion + * of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getCollectionConfigWithResponse(String collectionId, + RequestOptions requestOptions) { + return this.serviceClient.getCollectionConfigWithResponseAsync(collectionId, requestOptions); + } + + /** + * Get Collection Mosaics + * + * Get the mosaic definitions for a given collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *      (Required){
+     *         id: String (Required)
+     *         name: String (Required)
+     *         description: String (Optional)
+     *         cql (Required): [
+     *              (Required){
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @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 collection Mosaics + * + * Get the mosaic definitions for a given collection along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAllMosaicsWithResponse(String collectionId, RequestOptions requestOptions) { + return this.serviceClient.getAllMosaicsWithResponseAsync(collectionId, requestOptions); + } + + /** + * Add Collection Mosaic + * + * Add a mosaic definition to a given collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     cql (Required): [
+     *          (Required){
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     cql (Required): [
+     *          (Required){
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param body Mosaic definition to be created or updated. + * @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 defines a named mosaic with filtering criteria along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> addMosaicWithResponse(String collectionId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.addMosaicWithResponseAsync(collectionId, body, requestOptions); + } + + /** + * Get Collection Mosaic + * + * Get a mosaic definition from a given collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     cql (Required): [
+     *          (Required){
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param mosaicId Unique identifier for the mosaic configuration. + * @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 collection Mosaic + * + * Get a mosaic definition from a given collection along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getMosaicWithResponse(String collectionId, String mosaicId, + RequestOptions requestOptions) { + return this.serviceClient.getMosaicWithResponseAsync(collectionId, mosaicId, requestOptions); + } + + /** + * Update Collection Mosaic + * + * Update a mosaic definition from a given collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     cql (Required): [
+     *          (Required){
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     cql (Required): [
+     *          (Required){
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param mosaicId Unique identifier for the mosaic configuration. + * @param body Mosaic definition to be created or updated. + * @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 defines a named mosaic with filtering criteria along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createOrReplaceMosaicWithResponse(String collectionId, String mosaicId, + BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.createOrReplaceMosaicWithResponseAsync(collectionId, mosaicId, body, requestOptions); + } + + /** + * Delete Collection Mosaic + * + * Delete a mosaic definition from a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param mosaicId Unique identifier for the mosaic configuration. + * @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> deleteMosaicWithResponse(String collectionId, String mosaicId, + RequestOptions requestOptions) { + return this.serviceClient.deleteMosaicWithResponseAsync(collectionId, mosaicId, requestOptions); + } + + /** + * Get Partitiontype + * + * Get the partitiontype for a GeoCatalog Collection. + * + * Args: + * collection_id: the collection id to get the partitiontype for. + * + * Returns: + * The partitiontype for the collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     scheme: String(year/month/none) (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @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 partitiontype + * + * Get the partitiontype for a GeoCatalog Collection. + * + * Args: + * collection_id: the collection id to get the partitiontype for. + * + * Returns: + * The partitiontype for the collection along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getPartitionTypeWithResponse(String collectionId, RequestOptions requestOptions) { + return this.serviceClient.getPartitionTypeWithResponseAsync(collectionId, requestOptions); + } + + /** + * Create Partitiontype + * + * Updates partition type for a GeoCatalog Collection. This will + * determine the partitioning scheme for items within the database, + * and can only be set before any items are loaded. + * + * Ideal partitioning schemes result in partitions of roughly 100k items each. + * + * The default partitioning scheme is "none" which does not partition items. + * + * Args: + * collection_id: the collection id to add the partitiontype to. + * partitiontype: the partitiontype to add. + * + * Returns: + * None. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     scheme: String(year/month/none) (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     scheme: String(year/month/none) (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param body Partition type configuration determining how items are partitioned in storage. + * @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 defines how data is partitioned for efficient storage and retrieval along with {@link Response} on + * successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> replacePartitionTypeWithResponse(String collectionId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.replacePartitionTypeWithResponseAsync(collectionId, body, requestOptions); + } + + /** + * Get Collection Render Options + * + * Get all render options for a given collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *      (Required){
+     *         id: String (Required)
+     *         name: String (Required)
+     *         description: String (Optional)
+     *         type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *         options: String (Optional)
+     *         vectorOptions (Optional): {
+     *             tilejsonKey: String (Required)
+     *             sourceLayer: String (Required)
+     *             fillColor: String (Optional)
+     *             strokeColor: String (Optional)
+     *             strokeWidth: Integer (Optional)
+     *             filter (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *         minZoom: Integer (Optional)
+     *         legend (Optional): {
+     *             type: String(continuous/classmap/interval/none) (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             trimStart: Integer (Optional)
+     *             trimEnd: Integer (Optional)
+     *             scaleFactor: Double (Optional)
+     *         }
+     *         conditions (Optional): [
+     *              (Optional){
+     *                 property: String (Required)
+     *                 value: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @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 collection Render Options + * + * Get all render options for a given collection along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAllRenderOptionsWithResponse(String collectionId, + RequestOptions requestOptions) { + return this.serviceClient.getAllRenderOptionsWithResponseAsync(collectionId, requestOptions); + } + + /** + * Add Collection Render Option + * + * Add a render option for a given collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *     options: String (Optional)
+     *     vectorOptions (Optional): {
+     *         tilejsonKey: String (Required)
+     *         sourceLayer: String (Required)
+     *         fillColor: String (Optional)
+     *         strokeColor: String (Optional)
+     *         strokeWidth: Integer (Optional)
+     *         filter (Optional): [
+     *             String (Optional)
+     *         ]
+     *     }
+     *     minZoom: Integer (Optional)
+     *     legend (Optional): {
+     *         type: String(continuous/classmap/interval/none) (Optional)
+     *         labels (Optional): [
+     *             String (Optional)
+     *         ]
+     *         trimStart: Integer (Optional)
+     *         trimEnd: Integer (Optional)
+     *         scaleFactor: Double (Optional)
+     *     }
+     *     conditions (Optional): [
+     *          (Optional){
+     *             property: String (Required)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *     options: String (Optional)
+     *     vectorOptions (Optional): {
+     *         tilejsonKey: String (Required)
+     *         sourceLayer: String (Required)
+     *         fillColor: String (Optional)
+     *         strokeColor: String (Optional)
+     *         strokeWidth: Integer (Optional)
+     *         filter (Optional): [
+     *             String (Optional)
+     *         ]
+     *     }
+     *     minZoom: Integer (Optional)
+     *     legend (Optional): {
+     *         type: String(continuous/classmap/interval/none) (Optional)
+     *         labels (Optional): [
+     *             String (Optional)
+     *         ]
+     *         trimStart: Integer (Optional)
+     *         trimEnd: Integer (Optional)
+     *         scaleFactor: Double (Optional)
+     *     }
+     *     conditions (Optional): [
+     *          (Optional){
+     *             property: String (Required)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param body Render option configuration to be created or updated. + * @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 defines visualization parameters for rendering data on a map along with {@link Response} on successful + * completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createRenderOptionWithResponse(String collectionId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.createRenderOptionWithResponseAsync(collectionId, body, requestOptions); + } + + /** + * Get Collection Render Option + * + * Get a render option for a given collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *      (Required){
+     *         id: String (Required)
+     *         name: String (Required)
+     *         description: String (Optional)
+     *         type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *         options: String (Optional)
+     *         vectorOptions (Optional): {
+     *             tilejsonKey: String (Required)
+     *             sourceLayer: String (Required)
+     *             fillColor: String (Optional)
+     *             strokeColor: String (Optional)
+     *             strokeWidth: Integer (Optional)
+     *             filter (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *         minZoom: Integer (Optional)
+     *         legend (Optional): {
+     *             type: String(continuous/classmap/interval/none) (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             trimStart: Integer (Optional)
+     *             trimEnd: Integer (Optional)
+     *             scaleFactor: Double (Optional)
+     *         }
+     *         conditions (Optional): [
+     *              (Optional){
+     *                 property: String (Required)
+     *                 value: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param renderOptionId Unique identifier for the render option. + * @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 collection Render Option + * + * Get a render option for a given collection along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getRenderOptionWithResponse(String collectionId, String renderOptionId, + RequestOptions requestOptions) { + return this.serviceClient.getRenderOptionWithResponseAsync(collectionId, renderOptionId, requestOptions); + } + + /** + * Update Collection Render Option + * + * Update a render option for a given collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *     options: String (Optional)
+     *     vectorOptions (Optional): {
+     *         tilejsonKey: String (Required)
+     *         sourceLayer: String (Required)
+     *         fillColor: String (Optional)
+     *         strokeColor: String (Optional)
+     *         strokeWidth: Integer (Optional)
+     *         filter (Optional): [
+     *             String (Optional)
+     *         ]
+     *     }
+     *     minZoom: Integer (Optional)
+     *     legend (Optional): {
+     *         type: String(continuous/classmap/interval/none) (Optional)
+     *         labels (Optional): [
+     *             String (Optional)
+     *         ]
+     *         trimStart: Integer (Optional)
+     *         trimEnd: Integer (Optional)
+     *         scaleFactor: Double (Optional)
+     *     }
+     *     conditions (Optional): [
+     *          (Optional){
+     *             property: String (Required)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *     options: String (Optional)
+     *     vectorOptions (Optional): {
+     *         tilejsonKey: String (Required)
+     *         sourceLayer: String (Required)
+     *         fillColor: String (Optional)
+     *         strokeColor: String (Optional)
+     *         strokeWidth: Integer (Optional)
+     *         filter (Optional): [
+     *             String (Optional)
+     *         ]
+     *     }
+     *     minZoom: Integer (Optional)
+     *     legend (Optional): {
+     *         type: String(continuous/classmap/interval/none) (Optional)
+     *         labels (Optional): [
+     *             String (Optional)
+     *         ]
+     *         trimStart: Integer (Optional)
+     *         trimEnd: Integer (Optional)
+     *         scaleFactor: Double (Optional)
+     *     }
+     *     conditions (Optional): [
+     *          (Optional){
+     *             property: String (Required)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param renderOptionId Unique identifier for the render option. + * @param body Render option configuration to be created or updated. + * @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 defines visualization parameters for rendering data on a map along with {@link Response} on successful + * completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createOrReplaceRenderOptionWithResponse(String collectionId, + String renderOptionId, BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.createOrReplaceRenderOptionWithResponseAsync(collectionId, renderOptionId, body, + requestOptions); + } + + /** + * Delete Collection Render Option + * + * Delete a render option for a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param renderOptionId Unique identifier for the render option. + * @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> deleteRenderOptionWithResponse(String collectionId, String renderOptionId, + RequestOptions requestOptions) { + return this.serviceClient.deleteRenderOptionWithResponseAsync(collectionId, renderOptionId, requestOptions); + } + + /** + * Get Collection Tile Settings + * + * Get the tile settings for a given collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     minZoom: int (Required)
+     *     maxItemsPerTile: int (Required)
+     *     defaultLocation (Optional): {
+     *         zoom: int (Required)
+     *         coordinates (Required): [
+     *             double (Required)
+     *         ]
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @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 collection Tile Settings + * + * Get the tile settings for a given collection along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTileSettingsWithResponse(String collectionId, RequestOptions requestOptions) { + return this.serviceClient.getTileSettingsWithResponseAsync(collectionId, requestOptions); + } + + /** + * Update Collection Tile Settings + * + * Update the tile settings for a given collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     minZoom: int (Required)
+     *     maxItemsPerTile: int (Required)
+     *     defaultLocation (Optional): {
+     *         zoom: int (Required)
+     *         coordinates (Required): [
+     *             double (Required)
+     *         ]
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     minZoom: int (Required)
+     *     maxItemsPerTile: int (Required)
+     *     defaultLocation (Optional): {
+     *         zoom: int (Required)
+     *         coordinates (Required): [
+     *             double (Required)
+     *         ]
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param body Tile settings configuration to be updated. + * @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 configuration for map tile visualization along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> replaceTileSettingsWithResponse(String collectionId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.replaceTileSettingsWithResponseAsync(collectionId, body, requestOptions); + } + + /** + * Update Collection Queryables + * + * Updates a queryable given a queryable definition and + * corresponding collection id. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     name: String (Required)
+     *     definition (Required): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     create_index: Boolean (Optional)
+     *     data_type: String(string/number/boolean/timestamp/date) (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     name: String (Required)
+     *     definition (Required): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     create_index: Boolean (Optional)
+     *     data_type: String(string/number/boolean/timestamp/date) (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param queryableName Name of the queryable property to operate on. + * @param body Request queryable definition body. + * @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 definition of a queryable field for STAC API filtering along with {@link Response} on successful + * completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createOrReplaceQueryableWithResponse(String collectionId, String queryableName, + BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.createOrReplaceQueryableWithResponseAsync(collectionId, queryableName, body, + requestOptions); + } + + /** + * Delete Queryables + * + * Delete queryables by name for specified collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param queryableName Name of the queryable property to operate on. + * @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> deleteQueryableWithResponse(String collectionId, String queryableName, + RequestOptions requestOptions) { + return this.serviceClient.deleteQueryableWithResponseAsync(collectionId, queryableName, requestOptions); + } + + /** + * Get Collection Thumbnail + * + * Get thumbnail for given collection. + * + * Args: + * request: The incoming request. + * collection_id: The ID of the collection to retrieve assets for. + * + * Returns: + * thumbnail image. + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection ID. + * @param accept The accept 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 collection Thumbnail + * + * Get thumbnail for given collection. + * + * Args: + * request: The incoming request. + * collection_id: The ID of the collection to retrieve assets for. + * + * Returns: + * thumbnail image along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getCollectionThumbnailWithResponse(String collectionId, String accept, + RequestOptions requestOptions) { + return this.serviceClient.getCollectionThumbnailWithResponseAsync(collectionId, accept, requestOptions); + } + + /** + * Create Collection Asset + * + * Create a new asset in the Collection metadata and write the associated + * file to managed storage. + * + * Args: + * request: The incoming request. + * asset: The Asset object to write, without a valid href to the asset. + * file: The file to write. + * collection_id: The ID of the collection to write the asset to. + * content_type: The content type of the request. + * + * Returns: + * A Response object containing the newly created asset. + * + * @param collectionId STAC Collection ID. + * @param body Multi-part form data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md + * + * Represents a STAC collection on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createCollectionAsset(String collectionId, FormContent body) { + // Generated convenience method for createCollectionAssetWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createCollectionAssetWithResponse(collectionId, + new MultipartFormDataHelper(requestOptions).serializeJsonField("data", body.getData()) + .serializeFileField("file", body.getFile().getContent(), body.getFile().getContentType(), + body.getFile().getFilename()) + .end() + .getRequestBody(), + requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(StacCollectionModel.class)); + } + + /** + * Update Collection Asset + * + * Update an existing asset in a given collection. + * + * Args: + * request: The incoming request. + * asset: The Asset object to update. + * file: The file to update (optional). + * collection_id: The ID of the collection to update the asset in. + * asset_id: The ID of the asset to update. + * content_type: The content type of the request. + * + * Returns: + * A Response object containing the updated asset. + * + * @param collectionId STAC Collection ID. + * @param assetId STAC Asset ID. + * @param body Multi-part form data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md + * + * Represents a STAC collection on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createOrReplaceCollectionAsset(String collectionId, String assetId, + FormContent body) { + // Generated convenience method for createOrReplaceCollectionAssetWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createOrReplaceCollectionAssetWithResponse(collectionId, assetId, + new MultipartFormDataHelper(requestOptions).serializeJsonField("data", body.getData()) + .serializeFileField("file", body.getFile().getContent(), body.getFile().getContentType(), + body.getFile().getFilename()) + .end() + .getRequestBody(), + requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(StacCollectionModel.class)); + } + + /** + * Delete Collection Asset + * + * Delete an asset from a given collection. + * + * Args: + * request: The incoming request. + * collection_id: The ID of the collection to delete the asset from. + * asset_id: The ID of the asset to delete. + * + * Returns: + * A Response object indicating the success of the deletion. + * + * @param collectionId STAC Collection ID. + * @param assetId STAC Asset ID. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono deleteCollectionAsset(String collectionId, String assetId) { + // Generated convenience method for deleteCollectionAssetWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteCollectionAssetWithResponse(collectionId, assetId, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Get Config + * + * Get the complete user configuration for a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return config + * + * Get the complete user configuration for a given collection on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getCollectionConfig(String collectionId) { + // Generated convenience method for getCollectionConfigWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getCollectionConfigWithResponse(collectionId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(UserCollectionSettings.class)); + } + + /** + * Get Collection Mosaics + * + * Get the mosaic definitions for a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return collection Mosaics + * + * Get the mosaic definitions for a given collection on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAllMosaics(String collectionId) { + // Generated convenience method for getAllMosaicsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAllMosaicsWithResponse(collectionId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_MOSAIC)); + } + + /** + * Add Collection Mosaic + * + * Add a mosaic definition to a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param body Mosaic definition to be created or updated. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return defines a named mosaic with filtering criteria on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono addMosaic(String collectionId, Mosaic body) { + // Generated convenience method for addMosaicWithResponse + RequestOptions requestOptions = new RequestOptions(); + return addMosaicWithResponse(collectionId, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(Mosaic.class)); + } + + /** + * Get Collection Mosaic + * + * Get a mosaic definition from a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param mosaicId Unique identifier for the mosaic configuration. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return collection Mosaic + * + * Get a mosaic definition from a given collection on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getMosaic(String collectionId, String mosaicId) { + // Generated convenience method for getMosaicWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getMosaicWithResponse(collectionId, mosaicId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(Mosaic.class)); + } + + /** + * Update Collection Mosaic + * + * Update a mosaic definition from a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param mosaicId Unique identifier for the mosaic configuration. + * @param body Mosaic definition to be created or updated. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return defines a named mosaic with filtering criteria on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createOrReplaceMosaic(String collectionId, String mosaicId, Mosaic body) { + // Generated convenience method for createOrReplaceMosaicWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createOrReplaceMosaicWithResponse(collectionId, mosaicId, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(Mosaic.class)); + } + + /** + * Delete Collection Mosaic + * + * Delete a mosaic definition from a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param mosaicId Unique identifier for the mosaic configuration. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono deleteMosaic(String collectionId, String mosaicId) { + // Generated convenience method for deleteMosaicWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteMosaicWithResponse(collectionId, mosaicId, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Get Partitiontype + * + * Get the partitiontype for a GeoCatalog Collection. + * + * Args: + * collection_id: the collection id to get the partitiontype for. + * + * Returns: + * The partitiontype for the collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return partitiontype + * + * Get the partitiontype for a GeoCatalog Collection. + * + * Args: + * collection_id: the collection id to get the partitiontype for. + * + * Returns: + * The partitiontype for the collection on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getPartitionType(String collectionId) { + // Generated convenience method for getPartitionTypeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getPartitionTypeWithResponse(collectionId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(PartitionType.class)); + } + + /** + * Create Partitiontype + * + * Updates partition type for a GeoCatalog Collection. This will + * determine the partitioning scheme for items within the database, + * and can only be set before any items are loaded. + * + * Ideal partitioning schemes result in partitions of roughly 100k items each. + * + * The default partitioning scheme is "none" which does not partition items. + * + * Args: + * collection_id: the collection id to add the partitiontype to. + * partitiontype: the partitiontype to add. + * + * Returns: + * None. + * + * @param collectionId Unique identifier for the STAC collection. + * @param body Partition type configuration determining how items are partitioned in storage. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return defines how data is partitioned for efficient storage and retrieval on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono replacePartitionType(String collectionId, PartitionType body) { + // Generated convenience method for replacePartitionTypeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return replacePartitionTypeWithResponse(collectionId, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(PartitionType.class)); + } + + /** + * Get Collection Render Options + * + * Get all render options for a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return collection Render Options + * + * Get all render options for a given collection on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAllRenderOptions(String collectionId) { + // Generated convenience method for getAllRenderOptionsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAllRenderOptionsWithResponse(collectionId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_RENDER_OPTION_MODEL)); + } + + /** + * Add Collection Render Option + * + * Add a render option for a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param body Render option configuration to be created or updated. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return defines visualization parameters for rendering data on a map on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createRenderOption(String collectionId, RenderOptionModel body) { + // Generated convenience method for createRenderOptionWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createRenderOptionWithResponse(collectionId, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(RenderOptionModel.class)); + } + + /** + * Get Collection Render Option + * + * Get a render option for a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param renderOptionId Unique identifier for the render option. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return collection Render Option + * + * Get a render option for a given collection on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getRenderOption(String collectionId, String renderOptionId) { + // Generated convenience method for getRenderOptionWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getRenderOptionWithResponse(collectionId, renderOptionId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_RENDER_OPTION_MODEL)); + } + + /** + * Update Collection Render Option + * + * Update a render option for a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param renderOptionId Unique identifier for the render option. + * @param body Render option configuration to be created or updated. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return defines visualization parameters for rendering data on a map on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createOrReplaceRenderOption(String collectionId, String renderOptionId, + RenderOptionModel body) { + // Generated convenience method for createOrReplaceRenderOptionWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createOrReplaceRenderOptionWithResponse(collectionId, renderOptionId, BinaryData.fromObject(body), + requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(RenderOptionModel.class)); + } + + /** + * Delete Collection Render Option + * + * Delete a render option for a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param renderOptionId Unique identifier for the render option. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono deleteRenderOption(String collectionId, String renderOptionId) { + // Generated convenience method for deleteRenderOptionWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteRenderOptionWithResponse(collectionId, renderOptionId, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Get Collection Tile Settings + * + * Get the tile settings for a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return collection Tile Settings + * + * Get the tile settings for a given collection on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTileSettings(String collectionId) { + // Generated convenience method for getTileSettingsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTileSettingsWithResponse(collectionId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TileSettings.class)); + } + + /** + * Update Collection Tile Settings + * + * Update the tile settings for a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param body Tile settings configuration to be updated. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return configuration for map tile visualization on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono replaceTileSettings(String collectionId, TileSettings body) { + // Generated convenience method for replaceTileSettingsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return replaceTileSettingsWithResponse(collectionId, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TileSettings.class)); + } + + /** + * Update Collection Queryables + * + * Updates a queryable given a queryable definition and + * corresponding collection id. + * + * @param collectionId Unique identifier for the STAC collection. + * @param queryableName Name of the queryable property to operate on. + * @param body Request queryable definition body. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return definition of a queryable field for STAC API filtering on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createOrReplaceQueryable(String collectionId, String queryableName, + QueryableDefinition body) { + // Generated convenience method for createOrReplaceQueryableWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createOrReplaceQueryableWithResponse(collectionId, queryableName, BinaryData.fromObject(body), + requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(QueryableDefinition.class)); + } + + /** + * Delete Queryables + * + * Delete queryables by name for specified collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param queryableName Name of the queryable property to operate on. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono deleteQueryable(String collectionId, String queryableName) { + // Generated convenience method for deleteQueryableWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteQueryableWithResponse(collectionId, queryableName, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Get Collection Thumbnail + * + * Get thumbnail for given collection. + * + * Args: + * request: The incoming request. + * collection_id: The ID of the collection to retrieve assets for. + * + * Returns: + * thumbnail image. + * + * @param collectionId STAC Collection ID. + * @param accept The accept parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return collection Thumbnail + * + * Get thumbnail for given collection. + * + * Args: + * request: The incoming request. + * collection_id: The ID of the collection to retrieve assets for. + * + * Returns: + * thumbnail image on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getCollectionThumbnail(String collectionId, String accept) { + // Generated convenience method for getCollectionThumbnailWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getCollectionThumbnailWithResponse(collectionId, accept, requestOptions).flatMap(FluxUtil::toMono); + } + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_MOSAIC = new TypeReference>() { + }; + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_RENDER_OPTION_MODEL + = new TypeReference>() { + }; +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacCollectionConfigurationClient.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacCollectionConfigurationClient.java new file mode 100644 index 000000000000..ec1df302229c --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacCollectionConfigurationClient.java @@ -0,0 +1,1918 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +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.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.serializer.TypeReference; +import com.azure.planetarycomputer.implementation.MultipartFormDataHelper; +import com.azure.planetarycomputer.implementation.StacCollectionConfigurationClientImpl; +import com.azure.planetarycomputer.models.FormContent; +import com.azure.planetarycomputer.models.Mosaic; +import com.azure.planetarycomputer.models.PartitionType; +import com.azure.planetarycomputer.models.QueryableDefinition; +import com.azure.planetarycomputer.models.RenderOptionModel; +import com.azure.planetarycomputer.models.StacCollectionModel; +import com.azure.planetarycomputer.models.TileSettings; +import com.azure.planetarycomputer.models.UserCollectionSettings; +import java.util.List; + +/** + * Initializes a new instance of the synchronous StacCollectionConfigurationClient type. + */ +@ServiceClient(builder = StacCollectionConfigurationClientBuilder.class) +public final class StacCollectionConfigurationClient { + @Generated + private final StacCollectionConfigurationClientImpl serviceClient; + + /** + * Initializes an instance of StacCollectionConfigurationClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + StacCollectionConfigurationClient(StacCollectionConfigurationClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Create Collection Asset + * + * Create a new asset in the Collection metadata and write the associated + * file to managed storage. + * + * Args: + * request: The incoming request. + * asset: The Asset object to write, without a valid href to the asset. + * file: The file to write. + * collection_id: The ID of the collection to write the asset to. + * content_type: The content type of the request. + * + * Returns: + * A Response object containing the newly created asset. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection ID. + * @param body Multi-part form data. + * @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 https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md + * + * Represents a STAC collection along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + Response createCollectionAssetWithResponse(String collectionId, BinaryData body, + RequestOptions requestOptions) { + // Operation 'createCollectionAsset' is of content-type 'multipart/form-data'. Protocol API is not usable and + // hence not generated. + return this.serviceClient.createCollectionAssetWithResponse(collectionId, body, requestOptions); + } + + /** + * Update Collection Asset + * + * Update an existing asset in a given collection. + * + * Args: + * request: The incoming request. + * asset: The Asset object to update. + * file: The file to update (optional). + * collection_id: The ID of the collection to update the asset in. + * asset_id: The ID of the asset to update. + * content_type: The content type of the request. + * + * Returns: + * A Response object containing the updated asset. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection ID. + * @param assetId STAC Asset ID. + * @param body Multi-part form data. + * @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 https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md + * + * Represents a STAC collection along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + Response createOrReplaceCollectionAssetWithResponse(String collectionId, String assetId, + BinaryData body, RequestOptions requestOptions) { + // Operation 'createOrReplaceCollectionAsset' is of content-type 'multipart/form-data'. Protocol API is not + // usable and hence not generated. + return this.serviceClient.createOrReplaceCollectionAssetWithResponse(collectionId, assetId, body, + requestOptions); + } + + /** + * Delete Collection Asset + * + * Delete an asset from a given collection. + * + * Args: + * request: The incoming request. + * collection_id: The ID of the collection to delete the asset from. + * asset_id: The ID of the asset to delete. + * + * Returns: + * A Response object indicating the success of the deletion. + * + * @param collectionId STAC Collection ID. + * @param assetId STAC Asset 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 deleteCollectionAssetWithResponse(String collectionId, String assetId, + RequestOptions requestOptions) { + return this.serviceClient.deleteCollectionAssetWithResponse(collectionId, assetId, requestOptions); + } + + /** + * Get Config + * + * Get the complete user configuration for a given collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     tileSettings (Required): {
+     *         minZoom: int (Required)
+     *         maxItemsPerTile: int (Required)
+     *         defaultLocation (Optional): {
+     *             zoom: int (Required)
+     *             coordinates (Required): [
+     *                 double (Required)
+     *             ]
+     *         }
+     *     }
+     *     mosaicInfo (Required): {
+     *         mosaics (Required): [
+     *              (Required){
+     *                 id: String (Required)
+     *                 name: String (Required)
+     *                 description: String (Optional)
+     *                 cql (Required): [
+     *                      (Required){
+     *                          (Optional): {
+     *                             String: BinaryData (Required)
+     *                         }
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         renderOptions (Required): [
+     *              (Required){
+     *                 id: String (Required)
+     *                 name: String (Required)
+     *                 description: String (Optional)
+     *                 type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *                 options: String (Optional)
+     *                 vectorOptions (Optional): {
+     *                     tilejsonKey: String (Required)
+     *                     sourceLayer: String (Required)
+     *                     fillColor: String (Optional)
+     *                     strokeColor: String (Optional)
+     *                     strokeWidth: Integer (Optional)
+     *                     filter (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                 }
+     *                 minZoom: Integer (Optional)
+     *                 legend (Optional): {
+     *                     type: String(continuous/classmap/interval/none) (Optional)
+     *                     labels (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     trimStart: Integer (Optional)
+     *                     trimEnd: Integer (Optional)
+     *                     scaleFactor: Double (Optional)
+     *                 }
+     *                 conditions (Optional): [
+     *                      (Optional){
+     *                         property: String (Required)
+     *                         value: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         defaultLocation (Optional): (recursive schema, see defaultLocation above)
+     *         defaultCustomQuery (Optional): (recursive schema, see defaultCustomQuery above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @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 config + * + * Get the complete user configuration for a given collection along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getCollectionConfigWithResponse(String collectionId, RequestOptions requestOptions) { + return this.serviceClient.getCollectionConfigWithResponse(collectionId, requestOptions); + } + + /** + * Get Collection Mosaics + * + * Get the mosaic definitions for a given collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *      (Required){
+     *         id: String (Required)
+     *         name: String (Required)
+     *         description: String (Optional)
+     *         cql (Required): [
+     *              (Required){
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @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 collection Mosaics + * + * Get the mosaic definitions for a given collection along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAllMosaicsWithResponse(String collectionId, RequestOptions requestOptions) { + return this.serviceClient.getAllMosaicsWithResponse(collectionId, requestOptions); + } + + /** + * Add Collection Mosaic + * + * Add a mosaic definition to a given collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     cql (Required): [
+     *          (Required){
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     cql (Required): [
+     *          (Required){
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param body Mosaic definition to be created or updated. + * @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 defines a named mosaic with filtering criteria along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response addMosaicWithResponse(String collectionId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.addMosaicWithResponse(collectionId, body, requestOptions); + } + + /** + * Get Collection Mosaic + * + * Get a mosaic definition from a given collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     cql (Required): [
+     *          (Required){
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param mosaicId Unique identifier for the mosaic configuration. + * @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 collection Mosaic + * + * Get a mosaic definition from a given collection along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getMosaicWithResponse(String collectionId, String mosaicId, + RequestOptions requestOptions) { + return this.serviceClient.getMosaicWithResponse(collectionId, mosaicId, requestOptions); + } + + /** + * Update Collection Mosaic + * + * Update a mosaic definition from a given collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     cql (Required): [
+     *          (Required){
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     cql (Required): [
+     *          (Required){
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param mosaicId Unique identifier for the mosaic configuration. + * @param body Mosaic definition to be created or updated. + * @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 defines a named mosaic with filtering criteria along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createOrReplaceMosaicWithResponse(String collectionId, String mosaicId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.createOrReplaceMosaicWithResponse(collectionId, mosaicId, body, requestOptions); + } + + /** + * Delete Collection Mosaic + * + * Delete a mosaic definition from a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param mosaicId Unique identifier for the mosaic configuration. + * @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 deleteMosaicWithResponse(String collectionId, String mosaicId, + RequestOptions requestOptions) { + return this.serviceClient.deleteMosaicWithResponse(collectionId, mosaicId, requestOptions); + } + + /** + * Get Partitiontype + * + * Get the partitiontype for a GeoCatalog Collection. + * + * Args: + * collection_id: the collection id to get the partitiontype for. + * + * Returns: + * The partitiontype for the collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     scheme: String(year/month/none) (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @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 partitiontype + * + * Get the partitiontype for a GeoCatalog Collection. + * + * Args: + * collection_id: the collection id to get the partitiontype for. + * + * Returns: + * The partitiontype for the collection along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getPartitionTypeWithResponse(String collectionId, RequestOptions requestOptions) { + return this.serviceClient.getPartitionTypeWithResponse(collectionId, requestOptions); + } + + /** + * Create Partitiontype + * + * Updates partition type for a GeoCatalog Collection. This will + * determine the partitioning scheme for items within the database, + * and can only be set before any items are loaded. + * + * Ideal partitioning schemes result in partitions of roughly 100k items each. + * + * The default partitioning scheme is "none" which does not partition items. + * + * Args: + * collection_id: the collection id to add the partitiontype to. + * partitiontype: the partitiontype to add. + * + * Returns: + * None. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     scheme: String(year/month/none) (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     scheme: String(year/month/none) (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param body Partition type configuration determining how items are partitioned in storage. + * @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 defines how data is partitioned for efficient storage and retrieval along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response replacePartitionTypeWithResponse(String collectionId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.replacePartitionTypeWithResponse(collectionId, body, requestOptions); + } + + /** + * Get Collection Render Options + * + * Get all render options for a given collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *      (Required){
+     *         id: String (Required)
+     *         name: String (Required)
+     *         description: String (Optional)
+     *         type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *         options: String (Optional)
+     *         vectorOptions (Optional): {
+     *             tilejsonKey: String (Required)
+     *             sourceLayer: String (Required)
+     *             fillColor: String (Optional)
+     *             strokeColor: String (Optional)
+     *             strokeWidth: Integer (Optional)
+     *             filter (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *         minZoom: Integer (Optional)
+     *         legend (Optional): {
+     *             type: String(continuous/classmap/interval/none) (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             trimStart: Integer (Optional)
+     *             trimEnd: Integer (Optional)
+     *             scaleFactor: Double (Optional)
+     *         }
+     *         conditions (Optional): [
+     *              (Optional){
+     *                 property: String (Required)
+     *                 value: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @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 collection Render Options + * + * Get all render options for a given collection along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAllRenderOptionsWithResponse(String collectionId, RequestOptions requestOptions) { + return this.serviceClient.getAllRenderOptionsWithResponse(collectionId, requestOptions); + } + + /** + * Add Collection Render Option + * + * Add a render option for a given collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *     options: String (Optional)
+     *     vectorOptions (Optional): {
+     *         tilejsonKey: String (Required)
+     *         sourceLayer: String (Required)
+     *         fillColor: String (Optional)
+     *         strokeColor: String (Optional)
+     *         strokeWidth: Integer (Optional)
+     *         filter (Optional): [
+     *             String (Optional)
+     *         ]
+     *     }
+     *     minZoom: Integer (Optional)
+     *     legend (Optional): {
+     *         type: String(continuous/classmap/interval/none) (Optional)
+     *         labels (Optional): [
+     *             String (Optional)
+     *         ]
+     *         trimStart: Integer (Optional)
+     *         trimEnd: Integer (Optional)
+     *         scaleFactor: Double (Optional)
+     *     }
+     *     conditions (Optional): [
+     *          (Optional){
+     *             property: String (Required)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *     options: String (Optional)
+     *     vectorOptions (Optional): {
+     *         tilejsonKey: String (Required)
+     *         sourceLayer: String (Required)
+     *         fillColor: String (Optional)
+     *         strokeColor: String (Optional)
+     *         strokeWidth: Integer (Optional)
+     *         filter (Optional): [
+     *             String (Optional)
+     *         ]
+     *     }
+     *     minZoom: Integer (Optional)
+     *     legend (Optional): {
+     *         type: String(continuous/classmap/interval/none) (Optional)
+     *         labels (Optional): [
+     *             String (Optional)
+     *         ]
+     *         trimStart: Integer (Optional)
+     *         trimEnd: Integer (Optional)
+     *         scaleFactor: Double (Optional)
+     *     }
+     *     conditions (Optional): [
+     *          (Optional){
+     *             property: String (Required)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param body Render option configuration to be created or updated. + * @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 defines visualization parameters for rendering data on a map along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createRenderOptionWithResponse(String collectionId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.createRenderOptionWithResponse(collectionId, body, requestOptions); + } + + /** + * Get Collection Render Option + * + * Get a render option for a given collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *      (Required){
+     *         id: String (Required)
+     *         name: String (Required)
+     *         description: String (Optional)
+     *         type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *         options: String (Optional)
+     *         vectorOptions (Optional): {
+     *             tilejsonKey: String (Required)
+     *             sourceLayer: String (Required)
+     *             fillColor: String (Optional)
+     *             strokeColor: String (Optional)
+     *             strokeWidth: Integer (Optional)
+     *             filter (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *         minZoom: Integer (Optional)
+     *         legend (Optional): {
+     *             type: String(continuous/classmap/interval/none) (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             trimStart: Integer (Optional)
+     *             trimEnd: Integer (Optional)
+     *             scaleFactor: Double (Optional)
+     *         }
+     *         conditions (Optional): [
+     *              (Optional){
+     *                 property: String (Required)
+     *                 value: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param renderOptionId Unique identifier for the render option. + * @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 collection Render Option + * + * Get a render option for a given collection along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getRenderOptionWithResponse(String collectionId, String renderOptionId, + RequestOptions requestOptions) { + return this.serviceClient.getRenderOptionWithResponse(collectionId, renderOptionId, requestOptions); + } + + /** + * Update Collection Render Option + * + * Update a render option for a given collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *     options: String (Optional)
+     *     vectorOptions (Optional): {
+     *         tilejsonKey: String (Required)
+     *         sourceLayer: String (Required)
+     *         fillColor: String (Optional)
+     *         strokeColor: String (Optional)
+     *         strokeWidth: Integer (Optional)
+     *         filter (Optional): [
+     *             String (Optional)
+     *         ]
+     *     }
+     *     minZoom: Integer (Optional)
+     *     legend (Optional): {
+     *         type: String(continuous/classmap/interval/none) (Optional)
+     *         labels (Optional): [
+     *             String (Optional)
+     *         ]
+     *         trimStart: Integer (Optional)
+     *         trimEnd: Integer (Optional)
+     *         scaleFactor: Double (Optional)
+     *     }
+     *     conditions (Optional): [
+     *          (Optional){
+     *             property: String (Required)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *     options: String (Optional)
+     *     vectorOptions (Optional): {
+     *         tilejsonKey: String (Required)
+     *         sourceLayer: String (Required)
+     *         fillColor: String (Optional)
+     *         strokeColor: String (Optional)
+     *         strokeWidth: Integer (Optional)
+     *         filter (Optional): [
+     *             String (Optional)
+     *         ]
+     *     }
+     *     minZoom: Integer (Optional)
+     *     legend (Optional): {
+     *         type: String(continuous/classmap/interval/none) (Optional)
+     *         labels (Optional): [
+     *             String (Optional)
+     *         ]
+     *         trimStart: Integer (Optional)
+     *         trimEnd: Integer (Optional)
+     *         scaleFactor: Double (Optional)
+     *     }
+     *     conditions (Optional): [
+     *          (Optional){
+     *             property: String (Required)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param renderOptionId Unique identifier for the render option. + * @param body Render option configuration to be created or updated. + * @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 defines visualization parameters for rendering data on a map along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createOrReplaceRenderOptionWithResponse(String collectionId, String renderOptionId, + BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.createOrReplaceRenderOptionWithResponse(collectionId, renderOptionId, body, + requestOptions); + } + + /** + * Delete Collection Render Option + * + * Delete a render option for a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param renderOptionId Unique identifier for the render option. + * @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 deleteRenderOptionWithResponse(String collectionId, String renderOptionId, + RequestOptions requestOptions) { + return this.serviceClient.deleteRenderOptionWithResponse(collectionId, renderOptionId, requestOptions); + } + + /** + * Get Collection Tile Settings + * + * Get the tile settings for a given collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     minZoom: int (Required)
+     *     maxItemsPerTile: int (Required)
+     *     defaultLocation (Optional): {
+     *         zoom: int (Required)
+     *         coordinates (Required): [
+     *             double (Required)
+     *         ]
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @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 collection Tile Settings + * + * Get the tile settings for a given collection along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTileSettingsWithResponse(String collectionId, RequestOptions requestOptions) { + return this.serviceClient.getTileSettingsWithResponse(collectionId, requestOptions); + } + + /** + * Update Collection Tile Settings + * + * Update the tile settings for a given collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     minZoom: int (Required)
+     *     maxItemsPerTile: int (Required)
+     *     defaultLocation (Optional): {
+     *         zoom: int (Required)
+     *         coordinates (Required): [
+     *             double (Required)
+     *         ]
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     minZoom: int (Required)
+     *     maxItemsPerTile: int (Required)
+     *     defaultLocation (Optional): {
+     *         zoom: int (Required)
+     *         coordinates (Required): [
+     *             double (Required)
+     *         ]
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param body Tile settings configuration to be updated. + * @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 configuration for map tile visualization along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response replaceTileSettingsWithResponse(String collectionId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.replaceTileSettingsWithResponse(collectionId, body, requestOptions); + } + + /** + * Update Collection Queryables + * + * Updates a queryable given a queryable definition and + * corresponding collection id. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     name: String (Required)
+     *     definition (Required): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     create_index: Boolean (Optional)
+     *     data_type: String(string/number/boolean/timestamp/date) (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     name: String (Required)
+     *     definition (Required): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     create_index: Boolean (Optional)
+     *     data_type: String(string/number/boolean/timestamp/date) (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param queryableName Name of the queryable property to operate on. + * @param body Request queryable definition body. + * @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 definition of a queryable field for STAC API filtering along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createOrReplaceQueryableWithResponse(String collectionId, String queryableName, + BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.createOrReplaceQueryableWithResponse(collectionId, queryableName, body, + requestOptions); + } + + /** + * Delete Queryables + * + * Delete queryables by name for specified collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param queryableName Name of the queryable property to operate on. + * @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 deleteQueryableWithResponse(String collectionId, String queryableName, + RequestOptions requestOptions) { + return this.serviceClient.deleteQueryableWithResponse(collectionId, queryableName, requestOptions); + } + + /** + * Get Collection Thumbnail + * + * Get thumbnail for given collection. + * + * Args: + * request: The incoming request. + * collection_id: The ID of the collection to retrieve assets for. + * + * Returns: + * thumbnail image. + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection ID. + * @param accept The accept 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 collection Thumbnail + * + * Get thumbnail for given collection. + * + * Args: + * request: The incoming request. + * collection_id: The ID of the collection to retrieve assets for. + * + * Returns: + * thumbnail image along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getCollectionThumbnailWithResponse(String collectionId, String accept, + RequestOptions requestOptions) { + return this.serviceClient.getCollectionThumbnailWithResponse(collectionId, accept, requestOptions); + } + + /** + * Create Collection Asset + * + * Create a new asset in the Collection metadata and write the associated + * file to managed storage. + * + * Args: + * request: The incoming request. + * asset: The Asset object to write, without a valid href to the asset. + * file: The file to write. + * collection_id: The ID of the collection to write the asset to. + * content_type: The content type of the request. + * + * Returns: + * A Response object containing the newly created asset. + * + * @param collectionId STAC Collection ID. + * @param body Multi-part form data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md + * + * Represents a STAC collection. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public StacCollectionModel createCollectionAsset(String collectionId, FormContent body) { + // Generated convenience method for createCollectionAssetWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createCollectionAssetWithResponse(collectionId, + new MultipartFormDataHelper(requestOptions).serializeJsonField("data", body.getData()) + .serializeFileField("file", body.getFile().getContent(), body.getFile().getContentType(), + body.getFile().getFilename()) + .end() + .getRequestBody(), + requestOptions).getValue().toObject(StacCollectionModel.class); + } + + /** + * Update Collection Asset + * + * Update an existing asset in a given collection. + * + * Args: + * request: The incoming request. + * asset: The Asset object to update. + * file: The file to update (optional). + * collection_id: The ID of the collection to update the asset in. + * asset_id: The ID of the asset to update. + * content_type: The content type of the request. + * + * Returns: + * A Response object containing the updated asset. + * + * @param collectionId STAC Collection ID. + * @param assetId STAC Asset ID. + * @param body Multi-part form data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md + * + * Represents a STAC collection. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public StacCollectionModel createOrReplaceCollectionAsset(String collectionId, String assetId, FormContent body) { + // Generated convenience method for createOrReplaceCollectionAssetWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createOrReplaceCollectionAssetWithResponse(collectionId, assetId, + new MultipartFormDataHelper(requestOptions).serializeJsonField("data", body.getData()) + .serializeFileField("file", body.getFile().getContent(), body.getFile().getContentType(), + body.getFile().getFilename()) + .end() + .getRequestBody(), + requestOptions).getValue().toObject(StacCollectionModel.class); + } + + /** + * Delete Collection Asset + * + * Delete an asset from a given collection. + * + * Args: + * request: The incoming request. + * collection_id: The ID of the collection to delete the asset from. + * asset_id: The ID of the asset to delete. + * + * Returns: + * A Response object indicating the success of the deletion. + * + * @param collectionId STAC Collection ID. + * @param assetId STAC Asset ID. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void deleteCollectionAsset(String collectionId, String assetId) { + // Generated convenience method for deleteCollectionAssetWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteCollectionAssetWithResponse(collectionId, assetId, requestOptions).getValue(); + } + + /** + * Get Config + * + * Get the complete user configuration for a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return config + * + * Get the complete user configuration for a given collection. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public UserCollectionSettings getCollectionConfig(String collectionId) { + // Generated convenience method for getCollectionConfigWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getCollectionConfigWithResponse(collectionId, requestOptions).getValue() + .toObject(UserCollectionSettings.class); + } + + /** + * Get Collection Mosaics + * + * Get the mosaic definitions for a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return collection Mosaics + * + * Get the mosaic definitions for a given collection. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getAllMosaics(String collectionId) { + // Generated convenience method for getAllMosaicsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAllMosaicsWithResponse(collectionId, requestOptions).getValue().toObject(TYPE_REFERENCE_LIST_MOSAIC); + } + + /** + * Add Collection Mosaic + * + * Add a mosaic definition to a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param body Mosaic definition to be created or updated. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return defines a named mosaic with filtering criteria. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mosaic addMosaic(String collectionId, Mosaic body) { + // Generated convenience method for addMosaicWithResponse + RequestOptions requestOptions = new RequestOptions(); + return addMosaicWithResponse(collectionId, BinaryData.fromObject(body), requestOptions).getValue() + .toObject(Mosaic.class); + } + + /** + * Get Collection Mosaic + * + * Get a mosaic definition from a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param mosaicId Unique identifier for the mosaic configuration. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return collection Mosaic + * + * Get a mosaic definition from a given collection. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mosaic getMosaic(String collectionId, String mosaicId) { + // Generated convenience method for getMosaicWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getMosaicWithResponse(collectionId, mosaicId, requestOptions).getValue().toObject(Mosaic.class); + } + + /** + * Update Collection Mosaic + * + * Update a mosaic definition from a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param mosaicId Unique identifier for the mosaic configuration. + * @param body Mosaic definition to be created or updated. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return defines a named mosaic with filtering criteria. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mosaic createOrReplaceMosaic(String collectionId, String mosaicId, Mosaic body) { + // Generated convenience method for createOrReplaceMosaicWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createOrReplaceMosaicWithResponse(collectionId, mosaicId, BinaryData.fromObject(body), requestOptions) + .getValue() + .toObject(Mosaic.class); + } + + /** + * Delete Collection Mosaic + * + * Delete a mosaic definition from a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param mosaicId Unique identifier for the mosaic configuration. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void deleteMosaic(String collectionId, String mosaicId) { + // Generated convenience method for deleteMosaicWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteMosaicWithResponse(collectionId, mosaicId, requestOptions).getValue(); + } + + /** + * Get Partitiontype + * + * Get the partitiontype for a GeoCatalog Collection. + * + * Args: + * collection_id: the collection id to get the partitiontype for. + * + * Returns: + * The partitiontype for the collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return partitiontype + * + * Get the partitiontype for a GeoCatalog Collection. + * + * Args: + * collection_id: the collection id to get the partitiontype for. + * + * Returns: + * The partitiontype for the collection. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public PartitionType getPartitionType(String collectionId) { + // Generated convenience method for getPartitionTypeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getPartitionTypeWithResponse(collectionId, requestOptions).getValue().toObject(PartitionType.class); + } + + /** + * Create Partitiontype + * + * Updates partition type for a GeoCatalog Collection. This will + * determine the partitioning scheme for items within the database, + * and can only be set before any items are loaded. + * + * Ideal partitioning schemes result in partitions of roughly 100k items each. + * + * The default partitioning scheme is "none" which does not partition items. + * + * Args: + * collection_id: the collection id to add the partitiontype to. + * partitiontype: the partitiontype to add. + * + * Returns: + * None. + * + * @param collectionId Unique identifier for the STAC collection. + * @param body Partition type configuration determining how items are partitioned in storage. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return defines how data is partitioned for efficient storage and retrieval. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public PartitionType replacePartitionType(String collectionId, PartitionType body) { + // Generated convenience method for replacePartitionTypeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return replacePartitionTypeWithResponse(collectionId, BinaryData.fromObject(body), requestOptions).getValue() + .toObject(PartitionType.class); + } + + /** + * Get Collection Render Options + * + * Get all render options for a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return collection Render Options + * + * Get all render options for a given collection. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getAllRenderOptions(String collectionId) { + // Generated convenience method for getAllRenderOptionsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAllRenderOptionsWithResponse(collectionId, requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_RENDER_OPTION_MODEL); + } + + /** + * Add Collection Render Option + * + * Add a render option for a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param body Render option configuration to be created or updated. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return defines visualization parameters for rendering data on a map. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public RenderOptionModel createRenderOption(String collectionId, RenderOptionModel body) { + // Generated convenience method for createRenderOptionWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createRenderOptionWithResponse(collectionId, BinaryData.fromObject(body), requestOptions).getValue() + .toObject(RenderOptionModel.class); + } + + /** + * Get Collection Render Option + * + * Get a render option for a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param renderOptionId Unique identifier for the render option. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return collection Render Option + * + * Get a render option for a given collection. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getRenderOption(String collectionId, String renderOptionId) { + // Generated convenience method for getRenderOptionWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getRenderOptionWithResponse(collectionId, renderOptionId, requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_RENDER_OPTION_MODEL); + } + + /** + * Update Collection Render Option + * + * Update a render option for a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param renderOptionId Unique identifier for the render option. + * @param body Render option configuration to be created or updated. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return defines visualization parameters for rendering data on a map. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public RenderOptionModel createOrReplaceRenderOption(String collectionId, String renderOptionId, + RenderOptionModel body) { + // Generated convenience method for createOrReplaceRenderOptionWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createOrReplaceRenderOptionWithResponse(collectionId, renderOptionId, BinaryData.fromObject(body), + requestOptions).getValue().toObject(RenderOptionModel.class); + } + + /** + * Delete Collection Render Option + * + * Delete a render option for a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param renderOptionId Unique identifier for the render option. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void deleteRenderOption(String collectionId, String renderOptionId) { + // Generated convenience method for deleteRenderOptionWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteRenderOptionWithResponse(collectionId, renderOptionId, requestOptions).getValue(); + } + + /** + * Get Collection Tile Settings + * + * Get the tile settings for a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return collection Tile Settings + * + * Get the tile settings for a given collection. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TileSettings getTileSettings(String collectionId) { + // Generated convenience method for getTileSettingsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTileSettingsWithResponse(collectionId, requestOptions).getValue().toObject(TileSettings.class); + } + + /** + * Update Collection Tile Settings + * + * Update the tile settings for a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param body Tile settings configuration to be updated. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return configuration for map tile visualization. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TileSettings replaceTileSettings(String collectionId, TileSettings body) { + // Generated convenience method for replaceTileSettingsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return replaceTileSettingsWithResponse(collectionId, BinaryData.fromObject(body), requestOptions).getValue() + .toObject(TileSettings.class); + } + + /** + * Update Collection Queryables + * + * Updates a queryable given a queryable definition and + * corresponding collection id. + * + * @param collectionId Unique identifier for the STAC collection. + * @param queryableName Name of the queryable property to operate on. + * @param body Request queryable definition body. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return definition of a queryable field for STAC API filtering. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public QueryableDefinition createOrReplaceQueryable(String collectionId, String queryableName, + QueryableDefinition body) { + // Generated convenience method for createOrReplaceQueryableWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createOrReplaceQueryableWithResponse(collectionId, queryableName, BinaryData.fromObject(body), + requestOptions).getValue().toObject(QueryableDefinition.class); + } + + /** + * Delete Queryables + * + * Delete queryables by name for specified collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param queryableName Name of the queryable property to operate on. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void deleteQueryable(String collectionId, String queryableName) { + // Generated convenience method for deleteQueryableWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteQueryableWithResponse(collectionId, queryableName, requestOptions).getValue(); + } + + /** + * Get Collection Thumbnail + * + * Get thumbnail for given collection. + * + * Args: + * request: The incoming request. + * collection_id: The ID of the collection to retrieve assets for. + * + * Returns: + * thumbnail image. + * + * @param collectionId STAC Collection ID. + * @param accept The accept parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return collection Thumbnail + * + * Get thumbnail for given collection. + * + * Args: + * request: The incoming request. + * collection_id: The ID of the collection to retrieve assets for. + * + * Returns: + * thumbnail image. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData getCollectionThumbnail(String collectionId, String accept) { + // Generated convenience method for getCollectionThumbnailWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getCollectionThumbnailWithResponse(collectionId, accept, requestOptions).getValue(); + } + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_MOSAIC = new TypeReference>() { + }; + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_RENDER_OPTION_MODEL + = new TypeReference>() { + }; +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacCollectionConfigurationClientBuilder.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacCollectionConfigurationClientBuilder.java new file mode 100644 index 000000000000..ee6577b04895 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacCollectionConfigurationClientBuilder.java @@ -0,0 +1,335 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ServiceClientBuilder; +import com.azure.core.client.traits.ConfigurationTrait; +import com.azure.core.client.traits.EndpointTrait; +import com.azure.core.client.traits.HttpTrait; +import com.azure.core.client.traits.TokenCredentialTrait; +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.AddDatePolicy; +import com.azure.core.http.policy.AddHeadersFromContextPolicy; +import com.azure.core.http.policy.AddHeadersPolicy; +import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; +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.RequestIdPolicy; +import com.azure.core.http.policy.RetryOptions; +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.builder.ClientBuilderUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.planetarycomputer.implementation.StacCollectionConfigurationClientImpl; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** + * A builder for creating a new instance of the StacCollectionConfigurationClient type. + */ +@ServiceClientBuilder( + serviceClients = { StacCollectionConfigurationClient.class, StacCollectionConfigurationAsyncClient.class }) +public final class StacCollectionConfigurationClientBuilder implements + HttpTrait, ConfigurationTrait, + TokenCredentialTrait, + EndpointTrait { + @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://geocatalog.spatio.azure.com/.default" }; + + @Generated + private static final Map PROPERTIES = CoreUtils.getProperties("azure-planetarycomputer.properties"); + + @Generated + private final List pipelinePolicies; + + /** + * Create an instance of the StacCollectionConfigurationClientBuilder. + */ + @Generated + public StacCollectionConfigurationClientBuilder() { + this.pipelinePolicies = new ArrayList<>(); + } + + /* + * The HTTP client used to send the request. + */ + @Generated + private HttpClient httpClient; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacCollectionConfigurationClientBuilder httpClient(HttpClient httpClient) { + this.httpClient = httpClient; + return this; + } + + /* + * The HTTP pipeline to send requests through. + */ + @Generated + private HttpPipeline pipeline; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacCollectionConfigurationClientBuilder pipeline(HttpPipeline pipeline) { + if (this.pipeline != null && pipeline == null) { + LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured."); + } + this.pipeline = pipeline; + return this; + } + + /* + * The logging configuration for HTTP requests and responses. + */ + @Generated + private HttpLogOptions httpLogOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacCollectionConfigurationClientBuilder httpLogOptions(HttpLogOptions httpLogOptions) { + this.httpLogOptions = httpLogOptions; + return this; + } + + /* + * The client options such as application ID and custom headers to set on a request. + */ + @Generated + private ClientOptions clientOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacCollectionConfigurationClientBuilder clientOptions(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + return this; + } + + /* + * The retry options to configure retry policy for failed requests. + */ + @Generated + private RetryOptions retryOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacCollectionConfigurationClientBuilder retryOptions(RetryOptions retryOptions) { + this.retryOptions = retryOptions; + return this; + } + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacCollectionConfigurationClientBuilder addPolicy(HttpPipelinePolicy customPolicy) { + Objects.requireNonNull(customPolicy, "'customPolicy' cannot be null."); + pipelinePolicies.add(customPolicy); + return this; + } + + /* + * The configuration store that is used during construction of the service client. + */ + @Generated + private Configuration configuration; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacCollectionConfigurationClientBuilder configuration(Configuration configuration) { + this.configuration = configuration; + return this; + } + + /* + * The TokenCredential used for authentication. + */ + @Generated + private TokenCredential tokenCredential; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacCollectionConfigurationClientBuilder credential(TokenCredential tokenCredential) { + this.tokenCredential = tokenCredential; + return this; + } + + /* + * The service endpoint + */ + @Generated + private String endpoint; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacCollectionConfigurationClientBuilder endpoint(String endpoint) { + this.endpoint = endpoint; + return this; + } + + /* + * Service version + */ + @Generated + private PlanetaryComputerServiceVersion serviceVersion; + + /** + * Sets Service version. + * + * @param serviceVersion the serviceVersion value. + * @return the StacCollectionConfigurationClientBuilder. + */ + @Generated + public StacCollectionConfigurationClientBuilder serviceVersion(PlanetaryComputerServiceVersion serviceVersion) { + this.serviceVersion = serviceVersion; + 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 StacCollectionConfigurationClientBuilder. + */ + @Generated + public StacCollectionConfigurationClientBuilder retryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = retryPolicy; + return this; + } + + /** + * Builds an instance of StacCollectionConfigurationClientImpl with the provided parameters. + * + * @return an instance of StacCollectionConfigurationClientImpl. + */ + @Generated + private StacCollectionConfigurationClientImpl buildInnerClient() { + this.validateClient(); + HttpPipeline localPipeline = (pipeline != null) ? pipeline : createHttpPipeline(); + PlanetaryComputerServiceVersion localServiceVersion + = (serviceVersion != null) ? serviceVersion : PlanetaryComputerServiceVersion.getLatest(); + StacCollectionConfigurationClientImpl client = new StacCollectionConfigurationClientImpl(localPipeline, + JacksonAdapter.createDefaultSerializerAdapter(), this.endpoint, localServiceVersion); + return client; + } + + @Generated + private void validateClient() { + // This method is invoked from 'buildInnerClient'/'buildClient' method. + // Developer can customize this method, to validate that the necessary conditions are met for the new client. + Objects.requireNonNull(endpoint, "'endpoint' cannot be null."); + } + + @Generated + private HttpPipeline createHttpPipeline() { + Configuration buildConfiguration + = (configuration == null) ? Configuration.getGlobalConfiguration() : configuration; + HttpLogOptions localHttpLogOptions = this.httpLogOptions == null ? new HttpLogOptions() : this.httpLogOptions; + ClientOptions localClientOptions = this.clientOptions == null ? new ClientOptions() : this.clientOptions; + List policies = new ArrayList<>(); + String clientName = PROPERTIES.getOrDefault(SDK_NAME, "UnknownName"); + String clientVersion = PROPERTIES.getOrDefault(SDK_VERSION, "UnknownVersion"); + String applicationId = CoreUtils.getApplicationId(localClientOptions, localHttpLogOptions); + policies.add(new UserAgentPolicy(applicationId, clientName, clientVersion, buildConfiguration)); + policies.add(new RequestIdPolicy()); + policies.add(new AddHeadersFromContextPolicy()); + HttpHeaders headers = CoreUtils.createHttpHeadersFromClientOptions(localClientOptions); + if (headers != null) { + policies.add(new AddHeadersPolicy(headers)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addBeforeRetryPolicies(policies); + policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy())); + policies.add(new AddDatePolicy()); + if (tokenCredential != null) { + policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addAfterRetryPolicies(policies); + policies.add(new HttpLoggingPolicy(localHttpLogOptions)); + HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0])) + .httpClient(httpClient) + .clientOptions(localClientOptions) + .build(); + return httpPipeline; + } + + /** + * Builds an instance of StacCollectionConfigurationAsyncClient class. + * + * @return an instance of StacCollectionConfigurationAsyncClient. + */ + @Generated + public StacCollectionConfigurationAsyncClient buildAsyncClient() { + return new StacCollectionConfigurationAsyncClient(buildInnerClient()); + } + + /** + * Builds an instance of StacCollectionConfigurationClient class. + * + * @return an instance of StacCollectionConfigurationClient. + */ + @Generated + public StacCollectionConfigurationClient buildClient() { + return new StacCollectionConfigurationClient(buildInnerClient()); + } + + private static final ClientLogger LOGGER = new ClientLogger(StacCollectionConfigurationClientBuilder.class); +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacItemTilerAsyncClient.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacItemTilerAsyncClient.java new file mode 100644 index 000000000000..b4a449f38126 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacItemTilerAsyncClient.java @@ -0,0 +1,4573 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +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.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.serializer.TypeReference; +import com.azure.planetarycomputer.implementation.StacItemTilerClientImpl; +import com.azure.planetarycomputer.models.Algorithm; +import com.azure.planetarycomputer.models.AssetStatisticsResponse; +import com.azure.planetarycomputer.models.BoundsResponse; +import com.azure.planetarycomputer.models.ColorMapNames; +import com.azure.planetarycomputer.models.GeoJsonStatisticsItemCollectionResponse; +import com.azure.planetarycomputer.models.Geometry; +import com.azure.planetarycomputer.models.ImageType; +import com.azure.planetarycomputer.models.InfoOperationResponse; +import com.azure.planetarycomputer.models.ItemCollectionModel; +import com.azure.planetarycomputer.models.Resampling; +import com.azure.planetarycomputer.models.StacItemModel; +import com.azure.planetarycomputer.models.StatisticsResponse; +import com.azure.planetarycomputer.models.TileJsonResponse; +import com.azure.planetarycomputer.models.Tilematrixsetid; +import com.azure.planetarycomputer.models.TilerInfoGeoJsonFeature; +import com.azure.planetarycomputer.models.TitilerCoreModelsResponsesPoint; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the asynchronous StacItemTilerClient type. + */ +@ServiceClient(builder = StacItemTilerClientBuilder.class, isAsync = true) +public final class StacItemTilerAsyncClient { + @Generated + private final StacItemTilerClientImpl serviceClient; + + /** + * Initializes an instance of StacItemTilerAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + StacItemTilerAsyncClient(StacItemTilerClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Bounds + * + * Return all Bounds. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     bounds (Required): [
+     *         double (Required)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 geographic extent of a dataset expressed as a bounding box along with {@link Response} on successful + * completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getBoundsWithResponse(String collectionId, String itemId, + RequestOptions requestOptions) { + return this.serviceClient.getBoundsWithResponseAsync(collectionId, itemId, requestOptions); + } + + /** + * Info + * + * Return dataset's basic info. + *

Query Parameters

+ * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     data (Required): {
+     *         bounds (Required): [
+     *             double (Required)
+     *         ]
+     *         band_metadata (Optional): [
+     *              (Optional)[
+     *                 BinaryData (Optional)
+     *             ]
+     *         ]
+     *         band_descriptions (Optional): [
+     *              (Optional)[
+     *                 String (Optional)
+     *             ]
+     *         ]
+     *         dtype: String (Required)
+     *         nodata_type: String(Alpha/Mask/Internal/Nodata/None) (Optional)
+     *         colorinterp (Optional): [
+     *             String (Optional)
+     *         ]
+     *         driver: String (Optional)
+     *         count: Integer (Optional)
+     *         width: Integer (Optional)
+     *         height: Integer (Optional)
+     *         overviews (Optional): [
+     *             String (Optional)
+     *         ]
+     *         scales (Optional): [
+     *             long (Optional)
+     *         ]
+     *         offsets (Optional): [
+     *             long (Optional)
+     *         ]
+     *         colormap (Optional): {
+     *             String (Required): [
+     *                 String (Required)
+     *             ]
+     *         }
+     *         minzoom: Long (Optional)
+     *         maxzoom: Long (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 return dataset's basic info or the list of available assets along with {@link Response} on successful + * completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getInfoWithResponse(String collectionId, String itemId, + RequestOptions requestOptions) { + return this.serviceClient.getInfoWithResponseAsync(collectionId, itemId, requestOptions); + } + + /** + * Info Geojson + * + * Return Info Geojson. + *

Query Parameters

+ * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature) (Required)
+     *     geometry (Required): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     properties (Required): {
+     *         String (Required): {
+     *             bounds (Required): [
+     *                 double (Required)
+     *             ]
+     *             band_metadata (Optional): [
+     *                  (Optional)[
+     *                     BinaryData (Optional)
+     *                 ]
+     *             ]
+     *             band_descriptions (Optional): [
+     *                  (Optional)[
+     *                     String (Optional)
+     *                 ]
+     *             ]
+     *             dtype: String (Required)
+     *             nodata_type: String(Alpha/Mask/Internal/Nodata/None) (Optional)
+     *             colorinterp (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             driver: String (Optional)
+     *             count: Integer (Optional)
+     *             width: Integer (Optional)
+     *             height: Integer (Optional)
+     *             overviews (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             scales (Optional): [
+     *                 long (Optional)
+     *             ]
+     *             offsets (Optional): [
+     *                 long (Optional)
+     *             ]
+     *             colormap (Optional): {
+     *                 String (Required): [
+     *                     String (Required)
+     *                 ]
+     *             }
+     *             minzoom: Long (Optional)
+     *             maxzoom: Long (Optional)
+     *         }
+     *     }
+     *     id: String (Optional)
+     *     bbox: Double (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 geoJSON Feature object containing rio-tiler model information along with {@link Response} on successful + * completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getInfoGeoJsonWithResponse(String collectionId, String itemId, + RequestOptions requestOptions) { + return this.serviceClient.getInfoGeoJsonWithResponseAsync(collectionId, itemId, requestOptions); + } + + /** + * Available Assets + * + * Return a list of supported assets. + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAvailableAssetsWithResponse(String collectionId, String itemId, + RequestOptions requestOptions) { + return this.serviceClient.getAvailableAssetsWithResponseAsync(collectionId, itemId, requestOptions); + } + + /** + * Asset Statistics + * + * Per Asset statistics. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoMaximum dimension in pixels for the source data used to + * calculate statistics
categoricalBooleanNoReturn statistics for categorical dataset.
cList<String>NoList of values for which to report counts. Call + * {@link RequestOptions#addQueryParam} to add string to array.
pList<Integer>NoList of percentile values (default to [2, 98]). Call + * {@link RequestOptions#addQueryParam} to add string to array.
histogram_binsStringNoDefines the number of equal-width bins in the given + * range (10, by default). + * + * If bins is a sequence (comma `,` delimited values), it defines a monotonically + * increasing array of bin edges, including the rightmost edge, allowing for + * non-uniform bin widths. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
histogram_rangeStringNoComma `,` delimited range of the bins. + * + * The lower and upper range of the bins. If not provided, range is simply + * (a.min(), a.max()). + * + * Values outside the range are ignored. The first element of the range must be + * less than or equal to the second. + * range affects the automatic bin computation as well. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     data (Required): {
+     *         String (Required): {
+     *             min: double (Required)
+     *             max: double (Required)
+     *             mean: double (Required)
+     *             count: double (Required)
+     *             sum: double (Required)
+     *             std: double (Required)
+     *             median: double (Required)
+     *             majority: double (Required)
+     *             minority: double (Required)
+     *             unique: double (Required)
+     *             histogram (Required): [
+     *                  (Required)[
+     *                     double (Required)
+     *                 ]
+     *             ]
+     *             valid_percent: double (Required)
+     *             masked_pixels: double (Required)
+     *             valid_pixels: double (Required)
+     *             percentile_2: double (Required)
+     *             percentile_98: double (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 return dataset's statistics along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAssetStatisticsWithResponse(String collectionId, String itemId, + RequestOptions requestOptions) { + return this.serviceClient.getAssetStatisticsWithResponseAsync(collectionId, itemId, requestOptions); + } + + /** + * Statistics + * + * Merged assets statistics. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoMaximum dimension in pixels for the source data used to + * calculate statistics
categoricalBooleanNoReturn statistics for categorical dataset.
cList<String>NoList of values for which to report counts. Call + * {@link RequestOptions#addQueryParam} to add string to array.
pList<Integer>NoList of percentile values (default to [2, 98]). Call + * {@link RequestOptions#addQueryParam} to add string to array.
histogram_binsStringNoDefines the number of equal-width bins in the given + * range (10, by default). + * + * If bins is a sequence (comma `,` delimited values), it defines a monotonically + * increasing array of bin edges, including the rightmost edge, allowing for + * non-uniform bin widths. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
histogram_rangeStringNoComma `,` delimited range of the bins. + * + * The lower and upper range of the bins. If not provided, range is simply + * (a.min(), a.max()). + * + * Values outside the range are ignored. The first element of the range must be + * less than or equal to the second. + * range affects the automatic bin computation as well. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *      (Optional): {
+     *         String (Required): {
+     *             min: double (Required)
+     *             max: double (Required)
+     *             mean: double (Required)
+     *             count: double (Required)
+     *             sum: double (Required)
+     *             std: double (Required)
+     *             median: double (Required)
+     *             majority: double (Required)
+     *             minority: double (Required)
+     *             unique: double (Required)
+     *             histogram (Required): [
+     *                  (Required)[
+     *                     double (Required)
+     *                 ]
+     *             ]
+     *             valid_percent: double (Required)
+     *             masked_pixels: double (Required)
+     *             valid_pixels: double (Required)
+     *             percentile_2: double (Required)
+     *             percentile_98: double (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 return dataset's statistics along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getStatisticsWithResponse(String collectionId, String itemId, + RequestOptions requestOptions) { + return this.serviceClient.getStatisticsWithResponseAsync(collectionId, itemId, requestOptions); + } + + /** + * Geojson Statistics + * + * Get Statistics from a geojson feature or featureCollection. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoMaximum dimension in pixels for the source data used to + * calculate statistics
categoricalBooleanNoReturn statistics for categorical dataset.
cList<String>NoList of values for which to report counts. Call + * {@link RequestOptions#addQueryParam} to add string to array.
pList<Integer>NoList of percentile values (default to [2, 98]). Call + * {@link RequestOptions#addQueryParam} to add string to array.
histogram_binsStringNoDefines the number of equal-width bins in the given + * range (10, by default). + * + * If bins is a sequence (comma `,` delimited values), it defines a monotonically + * increasing array of bin edges, including the rightmost edge, allowing for + * non-uniform bin widths. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
histogram_rangeStringNoComma `,` delimited range of the bins. + * + * The lower and upper range of the bins. If not provided, range is simply + * (a.min(), a.max()). + * + * Values outside the range are ignored. The first element of the range must be + * less than or equal to the second. + * range affects the automatic bin computation as well. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     features (Optional, Required on create): [
+     *          (Optional, Required on create){
+     *             type: String(Feature/FeatureCollection) (Required)
+     *             stac_version: String (Optional)
+     *             links (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             msft:_created: String (Optional)
+     *             msft:_updated: String (Optional)
+     *             msft:short_description: String (Optional)
+     *             stac_extensions (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             geometry (Optional, Required on create): {
+     *                 type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *                 bbox (Optional): [
+     *                     double (Optional)
+     *                 ]
+     *             }
+     *             bbox (Optional, Required on create): [
+     *                 double (Optional, Required on create)
+     *             ]
+     *             id: String (Required)
+     *             collection: String (Optional)
+     *             properties (Optional, Required on create): {
+     *                 platform: String (Optional)
+     *                 instruments (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 constellation: String (Optional)
+     *                 mission: String (Optional)
+     *                 providers (Optional): [
+     *                      (Optional){
+     *                         name: String (Optional, Required on create)
+     *                         description: String (Optional)
+     *                         roles (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         url: String (Optional)
+     *                     }
+     *                 ]
+     *                 gsd: Double (Optional)
+     *                 created: OffsetDateTime (Optional)
+     *                 updated: OffsetDateTime (Optional)
+     *                 title: String (Optional)
+     *                 description: String (Optional)
+     *                 datetime: String (Optional, Required on create)
+     *                 start_datetime: OffsetDateTime (Optional)
+     *                 end_datetime: OffsetDateTime (Optional)
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *             assets (Optional, Required on create): {
+     *                 String (Required): {
+     *                     platform: String (Optional)
+     *                     instruments (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     constellation: String (Optional)
+     *                     mission: String (Optional)
+     *                     providers (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     gsd: Double (Optional)
+     *                     created: OffsetDateTime (Optional)
+     *                     updated: OffsetDateTime (Optional)
+     *                     title: String (Optional)
+     *                     description: String (Optional)
+     *                     href: String (Optional, Required on create)
+     *                     type: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                      (Optional): {
+     *                         String: BinaryData (Required)
+     *                     }
+     *                 }
+     *             }
+     *             _msft:ts: String (Optional)
+     *             _msft:etag: String (Optional)
+     *         }
+     *     ]
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     *     context (Optional): {
+     *         returned: int (Optional, Required on create)
+     *         limit: Integer (Optional)
+     *         matched: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(FeatureCollection) (Required)
+     *     features (Required): [
+     *          (Required){
+     *             geometry (Required): {
+     *                 type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *                 bbox (Optional): [
+     *                     double (Optional)
+     *                 ]
+     *             }
+     *             bbox (Required): [
+     *                 double (Required)
+     *             ]
+     *             id: String (Required)
+     *             type: String(Feature) (Required)
+     *             msft:_created: String (Optional)
+     *             msft:_updated: String (Optional)
+     *             msft:short_description: String (Optional)
+     *             stac_version: String (Optional)
+     *             collection: String (Optional)
+     *             properties (Required): {
+     *                 platform: String (Optional)
+     *                 instruments (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 constellation: String (Optional)
+     *                 mission: String (Optional)
+     *                 providers (Optional): [
+     *                      (Optional){
+     *                         name: String (Optional, Required on create)
+     *                         description: String (Optional)
+     *                         roles (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         url: String (Optional)
+     *                     }
+     *                 ]
+     *                 gsd: Double (Optional)
+     *                 created: OffsetDateTime (Optional)
+     *                 updated: OffsetDateTime (Optional)
+     *                 title: String (Optional)
+     *                 description: String (Optional)
+     *                 datetime: String (Optional, Required on create)
+     *                 start_datetime: OffsetDateTime (Optional)
+     *                 end_datetime: OffsetDateTime (Optional)
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *             _msft:ts: String (Optional)
+     *             _msft:etag: String (Optional)
+     *             stac_extensions (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     *     stac_version: String (Optional)
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     context (Optional): {
+     *         returned: int (Optional, Required on create)
+     *         limit: Integer (Optional)
+     *         matched: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param body Request GeoJson body. + * @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 https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.mdCollection of STAC + * items with statistical information along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getGeoJsonStatisticsWithResponse(String collectionId, String itemId, + BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.getGeoJsonStatisticsWithResponseAsync(collectionId, itemId, body, requestOptions); + } + + /** + * Tile + * + * Create map tile from a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: + * 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", "LINZAntarticaMapTilegrid", + * "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", "WGS1984Quad", + * "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
subdataset_nameStringNoThe name of a subdataset within the asset.
subdataset_bandsList<String>NoThe index of a subdataset band within the + * asset. In the form of "," separated string.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept 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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTileWithResponse(String collectionId, String itemId, double z, double x, + double y, double scale, String format, String accept, RequestOptions requestOptions) { + return this.serviceClient.getTileWithResponseAsync(collectionId, itemId, z, x, y, scale, format, accept, + requestOptions); + } + + /** + * Tile Tilematrixsetid As Path + * + * Create map tile from a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
subdataset_nameStringNoThe name of a subdataset within the asset.
subdataset_bandsList<String>NoThe index of a subdataset band within the + * asset. In the form of "," separated string.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept 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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTileWithMatrixSetWithResponse(String collectionId, String itemId, + String tileMatrixSetId, double z, double x, double y, double scale, String format, String accept, + RequestOptions requestOptions) { + return this.serviceClient.getTileWithMatrixSetWithResponseAsync(collectionId, itemId, tileMatrixSetId, z, x, y, + scale, format, accept, requestOptions); + } + + /** + * Tilejson + * + * Return Tilejson. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: + * 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", "LINZAntarticaMapTilegrid", + * "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", "WGS1984Quad", + * "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
tile_formatStringNoDefault will be automatically defined if the output image + * needs a mask (png) or + * not (jpeg). Allowed values: "png", "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     tilejson: String (Optional)
+     *     name: String (Optional)
+     *     description: String (Optional)
+     *     version: String (Optional)
+     *     attribution: String (Optional)
+     *     template: String (Optional)
+     *     legend: String (Optional)
+     *     scheme: String(xyz/tms) (Optional)
+     *     tiles (Required): [
+     *         String (Required)
+     *     ]
+     *     grids (Optional): [
+     *         String (Optional)
+     *     ]
+     *     data (Optional): [
+     *         String (Optional)
+     *     ]
+     *     minzoom: Integer (Optional)
+     *     maxzoom: Integer (Optional)
+     *     bounds (Optional): [
+     *         double (Optional)
+     *     ]
+     *     center (Optional): [
+     *         double (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTileJsonWithResponse(String collectionId, String itemId, + RequestOptions requestOptions) { + return this.serviceClient.getTileJsonWithResponseAsync(collectionId, itemId, requestOptions); + } + + /** + * Tilejson Tilematrixsetid As Path + * + * Return the Tilejson Tilematrixsetid As a path. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tile_formatStringNoDefault will be automatically defined if the output image + * needs a mask (png) or + * not (jpeg). Allowed values: "png", "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     tilejson: String (Optional)
+     *     name: String (Optional)
+     *     description: String (Optional)
+     *     version: String (Optional)
+     *     attribution: String (Optional)
+     *     template: String (Optional)
+     *     legend: String (Optional)
+     *     scheme: String(xyz/tms) (Optional)
+     *     tiles (Required): [
+     *         String (Required)
+     *     ]
+     *     grids (Optional): [
+     *         String (Optional)
+     *     ]
+     *     data (Optional): [
+     *         String (Optional)
+     *     ]
+     *     minzoom: Integer (Optional)
+     *     maxzoom: Integer (Optional)
+     *     bounds (Optional): [
+     *         double (Optional)
+     *     ]
+     *     center (Optional): [
+     *         double (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @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 tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTileJsonWithMatrixSetWithResponse(String collectionId, String itemId, + String tileMatrixSetId, RequestOptions requestOptions) { + return this.serviceClient.getTileJsonWithMatrixSetWithResponseAsync(collectionId, itemId, tileMatrixSetId, + requestOptions); + } + + /** + * Wmts + * + * OGC WMTS endpoint. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: + * 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", "LINZAntarticaMapTilegrid", + * "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", "WGS1984Quad", + * "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
tile_formatStringNoOutput image type. Default is png. Allowed values: "png", + * "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * String
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 a sequence of textual characters along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getWmtsCapabilitiesWithResponse(String collectionId, String itemId, + RequestOptions requestOptions) { + return this.serviceClient.getWmtsCapabilitiesWithResponseAsync(collectionId, itemId, requestOptions); + } + + /** + * Wmts Tilematrixsetid As Path + * + * OGC WMTS endpoint. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tile_formatStringNoOutput image type. Default is png. Allowed values: "png", + * "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * String
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @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 a sequence of textual characters along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getWmtsCapabilitiesWithMatrixSetWithResponse(String collectionId, String itemId, + String tileMatrixSetId, RequestOptions requestOptions) { + return this.serviceClient.getWmtsCapabilitiesWithMatrixSetWithResponseAsync(collectionId, itemId, + tileMatrixSetId, requestOptions); + } + + /** + * Point + * + * Get Point value for a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     coordinates (Required): [
+     *         double (Required)
+     *     ]
+     *     values (Required): [
+     *         double (Required)
+     *     ]
+     *     band_names (Required): [
+     *         String (Required)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param lon Longitude. + * @param lat Latitude. + * @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 point model. + * + * response model for `/point` endpointsResponse model for point query operations providing values at a specific + * location along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getPointWithResponse(String collectionId, String itemId, double lon, double lat, + RequestOptions requestOptions) { + return this.serviceClient.getPointWithResponseAsync(collectionId, itemId, lon, lat, requestOptions); + } + + /** + * Preview + * + * Create preview of a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
formatStringNoOutput format for the tile or image (e.g., png, jpeg, webp). + * Allowed values: "png", "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
dst-crsStringNoOutput Coordinate Reference System.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoImage output size limit if width and height limits are not + * set.
heightIntegerNoHeight in pixels for the output image
widthIntegerNoWidth in pixels for the output image
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param accept The accept 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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getPreviewWithResponse(String collectionId, String itemId, String accept, + RequestOptions requestOptions) { + return this.serviceClient.getPreviewWithResponseAsync(collectionId, itemId, accept, requestOptions); + } + + /** + * Preview + * + * Create preview of a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
dst-crsStringNoOutput Coordinate Reference System.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoImage output size limit if width and height limits are not + * set.
heightIntegerNoHeight in pixels for the output image
widthIntegerNoWidth in pixels for the output image
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept 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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getPreviewWithFormatWithResponse(String collectionId, String itemId, + String format, String accept, RequestOptions requestOptions) { + return this.serviceClient.getPreviewWithFormatWithResponseAsync(collectionId, itemId, format, accept, + requestOptions); + } + + /** + * Part + * + * Create image from part of a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
dst-crsStringNoOutput Coordinate Reference System.
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoImage output size limit if width and height limits are not + * set.
heightIntegerNoHeight in pixels for the output image
widthIntegerNoWidth in pixels for the output image
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param minx Bounding box min X. + * @param miny Bounding box min Y. + * @param maxx Bounding box max X. + * @param maxy Bounding box max Y. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept 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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getPartWithResponse(String collectionId, String itemId, double minx, double miny, + double maxx, double maxy, String format, String accept, RequestOptions requestOptions) { + return this.serviceClient.getPartWithResponseAsync(collectionId, itemId, minx, miny, maxx, maxy, format, accept, + requestOptions); + } + + /** + * Part + * + * Create image from part of a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
dst-crsStringNoOutput Coordinate Reference System.
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoImage output size limit if width and height limits are not + * set.
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param minx Bounding box min X. + * @param miny Bounding box min Y. + * @param maxx Bounding box max X. + * @param maxy Bounding box max Y. + * @param width Width in pixels for the output image. + * @param height Height in pixels for the output image. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept 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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getPartWithDimensionsWithResponse(String collectionId, String itemId, double minx, + double miny, double maxx, double maxy, double width, double height, String format, String accept, + RequestOptions requestOptions) { + return this.serviceClient.getPartWithDimensionsWithResponseAsync(collectionId, itemId, minx, miny, maxx, maxy, + width, height, format, accept, requestOptions); + } + + /** + * Geojson Crop + * + * Create image from a geojson feature. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoImage output size limit if width and height limits are not + * set.
heightIntegerNoHeight in pixels for the output image
widthIntegerNoWidth in pixels for the output image
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept parameter. + * @param body Request GeoJson body. + * @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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> cropGeoJsonWithResponse(String collectionId, String itemId, String format, + String accept, BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.cropGeoJsonWithResponseAsync(collectionId, itemId, format, accept, body, + requestOptions); + } + + /** + * Geojson Crop + * + * Create image from a geojson feature. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoImage output size limit if width and height limits are not + * set.
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     geometry (Optional, Required on create): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     bbox (Optional, Required on create): [
+     *         double (Optional, Required on create)
+     *     ]
+     *     id: String (Required)
+     *     collection: String (Optional)
+     *     properties (Optional, Required on create): {
+     *         platform: String (Optional)
+     *         instruments (Optional): [
+     *             String (Optional)
+     *         ]
+     *         constellation: String (Optional)
+     *         mission: String (Optional)
+     *         providers (Optional): [
+     *              (Optional){
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 roles (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         gsd: Double (Optional)
+     *         created: OffsetDateTime (Optional)
+     *         updated: OffsetDateTime (Optional)
+     *         title: String (Optional)
+     *         description: String (Optional)
+     *         datetime: String (Optional, Required on create)
+     *         start_datetime: OffsetDateTime (Optional)
+     *         end_datetime: OffsetDateTime (Optional)
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     assets (Optional, Required on create): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     _msft:ts: String (Optional)
+     *     _msft:etag: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param width Width in pixels for the output image. + * @param height Height in pixels for the output image. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept parameter. + * @param body Request GeoJson body. + * @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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> cropGeoJsonWithDimensionsWithResponse(String collectionId, String itemId, + double width, double height, String format, String accept, BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.cropGeoJsonWithDimensionsWithResponseAsync(collectionId, itemId, width, height, + format, accept, body, requestOptions); + } + + /** + * Bounds + * + * Return all Bounds. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return geographic extent of a dataset expressed as a bounding box on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getBounds(String collectionId, String itemId) { + // Generated convenience method for getBoundsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getBoundsWithResponse(collectionId, itemId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(BoundsResponse.class)); + } + + /** + * Info + * + * Return dataset's basic info. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param assets Asset's names. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return return dataset's basic info or the list of available assets on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getInfo(String collectionId, String itemId, List assets) { + // Generated convenience method for getInfoWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + return getInfoWithResponse(collectionId, itemId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(InfoOperationResponse.class)); + } + + /** + * Info + * + * Return dataset's basic info. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return return dataset's basic info or the list of available assets on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getInfo(String collectionId, String itemId) { + // Generated convenience method for getInfoWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getInfoWithResponse(collectionId, itemId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(InfoOperationResponse.class)); + } + + /** + * Info Geojson + * + * Return Info Geojson. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param assets Asset's names. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return geoJSON Feature object containing rio-tiler model information on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getInfoGeoJson(String collectionId, String itemId, List assets) { + // Generated convenience method for getInfoGeoJsonWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + return getInfoGeoJsonWithResponse(collectionId, itemId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TilerInfoGeoJsonFeature.class)); + } + + /** + * Info Geojson + * + * Return Info Geojson. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return geoJSON Feature object containing rio-tiler model information on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getInfoGeoJson(String collectionId, String itemId) { + // Generated convenience method for getInfoGeoJsonWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getInfoGeoJsonWithResponse(collectionId, itemId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TilerInfoGeoJsonFeature.class)); + } + + /** + * Available Assets + * + * Return a list of supported assets. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAvailableAssets(String collectionId, String itemId) { + // Generated convenience method for getAvailableAssetsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAvailableAssetsWithResponse(collectionId, itemId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_STRING)); + } + + /** + * Asset Statistics + * + * Per Asset statistics. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param resampling Resampling method. + * @param maxSize Maximum dimension in pixels for the source data used to calculate statistics. + * @param categorical Return statistics for categorical dataset. + * @param c List of values for which to report counts. + * @param p List of percentile values (default to [2, 98]). + * @param histogramBins Defines the number of equal-width bins in the given range (10, by default). + * + * If bins is a sequence (comma `,` delimited values), it defines a monotonically + * increasing array of bin edges, including the rightmost edge, allowing for + * non-uniform bin widths. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html. + * @param histogramRange Comma `,` delimited range of the bins. + * + * The lower and upper range of the bins. If not provided, range is simply + * (a.min(), a.max()). + * + * Values outside the range are ignored. The first element of the range must be + * less than or equal to the second. + * range affects the automatic bin computation as well. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return return dataset's statistics on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getAssetStatistics(String collectionId, String itemId, List assets, + String expression, List assetBidx, Boolean assetAsBand, Double nodata, Boolean unscale, + Resampling resampling, Integer maxSize, Boolean categorical, List c, List p, + String histogramBins, String histogramRange) { + // Generated convenience method for getAssetStatisticsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (maxSize != null) { + requestOptions.addQueryParam("max_size", String.valueOf(maxSize), false); + } + if (categorical != null) { + requestOptions.addQueryParam("categorical", String.valueOf(categorical), false); + } + if (c != null) { + for (String paramItemValue : c) { + if (paramItemValue != null) { + requestOptions.addQueryParam("c", paramItemValue, false); + } + } + } + if (p != null) { + for (int paramItemValue : p) { + requestOptions.addQueryParam("p", String.valueOf(paramItemValue), false); + } + } + if (histogramBins != null) { + requestOptions.addQueryParam("histogram_bins", histogramBins, false); + } + if (histogramRange != null) { + requestOptions.addQueryParam("histogram_range", histogramRange, false); + } + return getAssetStatisticsWithResponse(collectionId, itemId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AssetStatisticsResponse.class)); + } + + /** + * Asset Statistics + * + * Per Asset statistics. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return return dataset's statistics on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getAssetStatistics(String collectionId, String itemId) { + // Generated convenience method for getAssetStatisticsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAssetStatisticsWithResponse(collectionId, itemId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AssetStatisticsResponse.class)); + } + + /** + * Statistics + * + * Merged assets statistics. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param resampling Resampling method. + * @param maxSize Maximum dimension in pixels for the source data used to calculate statistics. + * @param categorical Return statistics for categorical dataset. + * @param c List of values for which to report counts. + * @param p List of percentile values (default to [2, 98]). + * @param histogramBins Defines the number of equal-width bins in the given range (10, by default). + * + * If bins is a sequence (comma `,` delimited values), it defines a monotonically + * increasing array of bin edges, including the rightmost edge, allowing for + * non-uniform bin widths. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html. + * @param histogramRange Comma `,` delimited range of the bins. + * + * The lower and upper range of the bins. If not provided, range is simply + * (a.min(), a.max()). + * + * Values outside the range are ignored. The first element of the range must be + * less than or equal to the second. + * range affects the automatic bin computation as well. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return return dataset's statistics on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getStatistics(String collectionId, String itemId, List assets, + String expression, List assetBidx, Boolean assetAsBand, Double nodata, Boolean unscale, + Resampling resampling, Integer maxSize, Boolean categorical, List c, List p, + String histogramBins, String histogramRange) { + // Generated convenience method for getStatisticsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (maxSize != null) { + requestOptions.addQueryParam("max_size", String.valueOf(maxSize), false); + } + if (categorical != null) { + requestOptions.addQueryParam("categorical", String.valueOf(categorical), false); + } + if (c != null) { + for (String paramItemValue : c) { + if (paramItemValue != null) { + requestOptions.addQueryParam("c", paramItemValue, false); + } + } + } + if (p != null) { + for (int paramItemValue : p) { + requestOptions.addQueryParam("p", String.valueOf(paramItemValue), false); + } + } + if (histogramBins != null) { + requestOptions.addQueryParam("histogram_bins", histogramBins, false); + } + if (histogramRange != null) { + requestOptions.addQueryParam("histogram_range", histogramRange, false); + } + return getStatisticsWithResponse(collectionId, itemId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(StatisticsResponse.class)); + } + + /** + * Statistics + * + * Merged assets statistics. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return return dataset's statistics on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getStatistics(String collectionId, String itemId) { + // Generated convenience method for getStatisticsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getStatisticsWithResponse(collectionId, itemId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(StatisticsResponse.class)); + } + + /** + * Geojson Statistics + * + * Get Statistics from a geojson feature or featureCollection. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param body Request GeoJson body. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param coordCrs Coordinate Reference System of the input coords. Default to `epsg:4326`. + * @param resampling Resampling method. + * @param maxSize Maximum dimension in pixels for the source data used to calculate statistics. + * @param categorical Return statistics for categorical dataset. + * @param c List of values for which to report counts. + * @param p List of percentile values (default to [2, 98]). + * @param histogramBins Defines the number of equal-width bins in the given range (10, by default). + * + * If bins is a sequence (comma `,` delimited values), it defines a monotonically + * increasing array of bin edges, including the rightmost edge, allowing for + * non-uniform bin widths. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html. + * @param histogramRange Comma `,` delimited range of the bins. + * + * The lower and upper range of the bins. If not provided, range is simply + * (a.min(), a.max()). + * + * Values outside the range are ignored. The first element of the range must be + * less than or equal to the second. + * range affects the automatic bin computation as well. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.mdCollection of STAC + * items with statistical information on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getGeoJsonStatistics(String collectionId, String itemId, + ItemCollectionModel body, List assets, String expression, List assetBidx, Boolean assetAsBand, + Double nodata, Boolean unscale, String coordCrs, Resampling resampling, Integer maxSize, Boolean categorical, + List c, List p, String histogramBins, String histogramRange) { + // Generated convenience method for getGeoJsonStatisticsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (coordCrs != null) { + requestOptions.addQueryParam("coord-crs", coordCrs, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (maxSize != null) { + requestOptions.addQueryParam("max_size", String.valueOf(maxSize), false); + } + if (categorical != null) { + requestOptions.addQueryParam("categorical", String.valueOf(categorical), false); + } + if (c != null) { + for (String paramItemValue : c) { + if (paramItemValue != null) { + requestOptions.addQueryParam("c", paramItemValue, false); + } + } + } + if (p != null) { + for (int paramItemValue : p) { + requestOptions.addQueryParam("p", String.valueOf(paramItemValue), false); + } + } + if (histogramBins != null) { + requestOptions.addQueryParam("histogram_bins", histogramBins, false); + } + if (histogramRange != null) { + requestOptions.addQueryParam("histogram_range", histogramRange, false); + } + return getGeoJsonStatisticsWithResponse(collectionId, itemId, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(GeoJsonStatisticsItemCollectionResponse.class)); + } + + /** + * Geojson Statistics + * + * Get Statistics from a geojson feature or featureCollection. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param body Request GeoJson body. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.mdCollection of STAC + * items with statistical information on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getGeoJsonStatistics(String collectionId, String itemId, + ItemCollectionModel body) { + // Generated convenience method for getGeoJsonStatisticsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getGeoJsonStatisticsWithResponse(collectionId, itemId, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(GeoJsonStatisticsItemCollectionResponse.class)); + } + + /** + * Tile + * + * Create map tile from a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept parameter. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported (default: + * 'WebMercatorQuad'). + * @param buffer Buffer on each side of the given tile. It must be a multiple of `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param resampling Resampling method. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @param subdatasetName The name of a subdataset within the asset. + * @param subdatasetBands The index of a subdataset band within the asset. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTile(String collectionId, String itemId, double z, double x, double y, double scale, + String format, String accept, List assets, String expression, List assetBidx, + Boolean assetAsBand, Double nodata, Boolean unscale, Algorithm algorithm, String algorithmParams, + Tilematrixsetid tileMatrixSetId, String buffer, String colorFormula, Resampling resampling, + List rescale, ColorMapNames colormapName, String colormap, Boolean returnMask, String subdatasetName, + List subdatasetBands) { + // Generated convenience method for getTileWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (tileMatrixSetId != null) { + requestOptions.addQueryParam("tileMatrixSetId", tileMatrixSetId.toString(), false); + } + if (buffer != null) { + requestOptions.addQueryParam("buffer", buffer, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + if (subdatasetName != null) { + requestOptions.addQueryParam("subdataset_name", subdatasetName, false); + } + if (subdatasetBands != null) { + requestOptions.addQueryParam("subdataset_bands", + subdatasetBands.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + return getTileWithResponse(collectionId, itemId, z, x, y, scale, format, accept, requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Tile + * + * Create map tile from a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTile(String collectionId, String itemId, double z, double x, double y, double scale, + String format, String accept) { + // Generated convenience method for getTileWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTileWithResponse(collectionId, itemId, z, x, y, scale, format, accept, requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Tile Tilematrixsetid As Path + * + * Create map tile from a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept parameter. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param buffer Buffer on each side of the given tile. It must be a multiple of `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param resampling Resampling method. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @param subdatasetName The name of a subdataset within the asset. + * @param subdatasetBands The index of a subdataset band within the asset. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTileWithMatrixSet(String collectionId, String itemId, String tileMatrixSetId, double z, + double x, double y, double scale, String format, String accept, List assets, String expression, + List assetBidx, Boolean assetAsBand, Double nodata, Boolean unscale, Algorithm algorithm, + String algorithmParams, String buffer, String colorFormula, Resampling resampling, List rescale, + ColorMapNames colormapName, String colormap, Boolean returnMask, String subdatasetName, + List subdatasetBands) { + // Generated convenience method for getTileWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (buffer != null) { + requestOptions.addQueryParam("buffer", buffer, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + if (subdatasetName != null) { + requestOptions.addQueryParam("subdataset_name", subdatasetName, false); + } + if (subdatasetBands != null) { + requestOptions.addQueryParam("subdataset_bands", + subdatasetBands.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + return getTileWithMatrixSetWithResponse(collectionId, itemId, tileMatrixSetId, z, x, y, scale, format, accept, + requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Tile Tilematrixsetid As Path + * + * Create map tile from a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTileWithMatrixSet(String collectionId, String itemId, String tileMatrixSetId, double z, + double x, double y, double scale, String format, String accept) { + // Generated convenience method for getTileWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTileWithMatrixSetWithResponse(collectionId, itemId, tileMatrixSetId, z, x, y, scale, format, accept, + requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Tilejson + * + * Return Tilejson. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported (default: + * 'WebMercatorQuad'). + * @param tileFormat Default will be automatically defined if the output image needs a mask (png) or + * not (jpeg). + * @param tileScale Tile scale factor affecting output size. Values > 1 produce larger tiles (e.g., 1=256x256, + * 2=512x512). + * @param minzoom Overwrite default minzoom. + * @param maxzoom Overwrite default maxzoom. + * @param buffer Buffer on each side of the given tile. It must be a multiple of `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param resampling Resampling method. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTileJson(String collectionId, String itemId, List assets, + String expression, List assetBidx, Boolean assetAsBand, Double nodata, Boolean unscale, + Algorithm algorithm, String algorithmParams, Tilematrixsetid tileMatrixSetId, ImageType tileFormat, + Integer tileScale, Integer minzoom, Integer maxzoom, String buffer, String colorFormula, Resampling resampling, + List rescale, ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for getTileJsonWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (tileMatrixSetId != null) { + requestOptions.addQueryParam("tileMatrixSetId", tileMatrixSetId.toString(), false); + } + if (tileFormat != null) { + requestOptions.addQueryParam("tile_format", tileFormat.toString(), false); + } + if (tileScale != null) { + requestOptions.addQueryParam("tile_scale", String.valueOf(tileScale), false); + } + if (minzoom != null) { + requestOptions.addQueryParam("minzoom", String.valueOf(minzoom), false); + } + if (maxzoom != null) { + requestOptions.addQueryParam("maxzoom", String.valueOf(maxzoom), false); + } + if (buffer != null) { + requestOptions.addQueryParam("buffer", buffer, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getTileJsonWithResponse(collectionId, itemId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TileJsonResponse.class)); + } + + /** + * Tilejson + * + * Return Tilejson. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTileJson(String collectionId, String itemId) { + // Generated convenience method for getTileJsonWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTileJsonWithResponse(collectionId, itemId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TileJsonResponse.class)); + } + + /** + * Tilejson Tilematrixsetid As Path + * + * Return the Tilejson Tilematrixsetid As a path. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param tileFormat Default will be automatically defined if the output image needs a mask (png) or + * not (jpeg). + * @param tileScale Tile scale factor affecting output size. Values > 1 produce larger tiles (e.g., 1=256x256, + * 2=512x512). + * @param minzoom Overwrite default minzoom. + * @param maxzoom Overwrite default maxzoom. + * @param buffer Buffer on each side of the given tile. It must be a multiple of `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param resampling Resampling method. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTileJsonWithMatrixSet(String collectionId, String itemId, String tileMatrixSetId, + List assets, String expression, List assetBidx, Boolean assetAsBand, Double nodata, + Boolean unscale, Algorithm algorithm, String algorithmParams, ImageType tileFormat, Integer tileScale, + Integer minzoom, Integer maxzoom, String buffer, String colorFormula, Resampling resampling, + List rescale, ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for getTileJsonWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (tileFormat != null) { + requestOptions.addQueryParam("tile_format", tileFormat.toString(), false); + } + if (tileScale != null) { + requestOptions.addQueryParam("tile_scale", String.valueOf(tileScale), false); + } + if (minzoom != null) { + requestOptions.addQueryParam("minzoom", String.valueOf(minzoom), false); + } + if (maxzoom != null) { + requestOptions.addQueryParam("maxzoom", String.valueOf(maxzoom), false); + } + if (buffer != null) { + requestOptions.addQueryParam("buffer", buffer, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getTileJsonWithMatrixSetWithResponse(collectionId, itemId, tileMatrixSetId, requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TileJsonResponse.class)); + } + + /** + * Tilejson Tilematrixsetid As Path + * + * Return the Tilejson Tilematrixsetid As a path. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTileJsonWithMatrixSet(String collectionId, String itemId, String tileMatrixSetId) { + // Generated convenience method for getTileJsonWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTileJsonWithMatrixSetWithResponse(collectionId, itemId, tileMatrixSetId, requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TileJsonResponse.class)); + } + + /** + * Wmts + * + * OGC WMTS endpoint. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported (default: + * 'WebMercatorQuad'). + * @param tileFormat Output image type. Default is png. + * @param tileScale Tile scale factor affecting output size. Values > 1 produce larger tiles (e.g., 1=256x256, + * 2=512x512). + * @param minzoom Overwrite default minzoom. + * @param maxzoom Overwrite default maxzoom. + * @param buffer Buffer on each side of the given tile. It must be a multiple of `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param resampling Resampling method. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a sequence of textual characters on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getWmtsCapabilities(String collectionId, String itemId, List assets, String expression, + List assetBidx, Boolean assetAsBand, Double nodata, Boolean unscale, Algorithm algorithm, + String algorithmParams, Tilematrixsetid tileMatrixSetId, ImageType tileFormat, Integer tileScale, + Integer minzoom, Integer maxzoom, String buffer, String colorFormula, Resampling resampling, + List rescale, ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for getWmtsCapabilitiesWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (tileMatrixSetId != null) { + requestOptions.addQueryParam("tileMatrixSetId", tileMatrixSetId.toString(), false); + } + if (tileFormat != null) { + requestOptions.addQueryParam("tile_format", tileFormat.toString(), false); + } + if (tileScale != null) { + requestOptions.addQueryParam("tile_scale", String.valueOf(tileScale), false); + } + if (minzoom != null) { + requestOptions.addQueryParam("minzoom", String.valueOf(minzoom), false); + } + if (maxzoom != null) { + requestOptions.addQueryParam("maxzoom", String.valueOf(maxzoom), false); + } + if (buffer != null) { + requestOptions.addQueryParam("buffer", buffer, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getWmtsCapabilitiesWithResponse(collectionId, itemId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(String.class)); + } + + /** + * Wmts + * + * OGC WMTS endpoint. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a sequence of textual characters on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getWmtsCapabilities(String collectionId, String itemId) { + // Generated convenience method for getWmtsCapabilitiesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWmtsCapabilitiesWithResponse(collectionId, itemId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(String.class)); + } + + /** + * Wmts Tilematrixsetid As Path + * + * OGC WMTS endpoint. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param tileFormat Output image type. Default is png. + * @param tileScale Tile scale factor affecting output size. Values > 1 produce larger tiles (e.g., 1=256x256, + * 2=512x512). + * @param minzoom Overwrite default minzoom. + * @param maxzoom Overwrite default maxzoom. + * @param buffer Buffer on each side of the given tile. It must be a multiple of `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param resampling Resampling method. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a sequence of textual characters on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getWmtsCapabilitiesWithMatrixSet(String collectionId, String itemId, String tileMatrixSetId, + List assets, String expression, List assetBidx, Boolean assetAsBand, Double nodata, + Boolean unscale, Algorithm algorithm, String algorithmParams, ImageType tileFormat, Integer tileScale, + Integer minzoom, Integer maxzoom, String buffer, String colorFormula, Resampling resampling, + List rescale, ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for getWmtsCapabilitiesWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (tileFormat != null) { + requestOptions.addQueryParam("tile_format", tileFormat.toString(), false); + } + if (tileScale != null) { + requestOptions.addQueryParam("tile_scale", String.valueOf(tileScale), false); + } + if (minzoom != null) { + requestOptions.addQueryParam("minzoom", String.valueOf(minzoom), false); + } + if (maxzoom != null) { + requestOptions.addQueryParam("maxzoom", String.valueOf(maxzoom), false); + } + if (buffer != null) { + requestOptions.addQueryParam("buffer", buffer, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getWmtsCapabilitiesWithMatrixSetWithResponse(collectionId, itemId, tileMatrixSetId, requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(String.class)); + } + + /** + * Wmts Tilematrixsetid As Path + * + * OGC WMTS endpoint. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a sequence of textual characters on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getWmtsCapabilitiesWithMatrixSet(String collectionId, String itemId, String tileMatrixSetId) { + // Generated convenience method for getWmtsCapabilitiesWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWmtsCapabilitiesWithMatrixSetWithResponse(collectionId, itemId, tileMatrixSetId, requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(String.class)); + } + + /** + * Point + * + * Get Point value for a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param lon Longitude. + * @param lat Latitude. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param coordCrs Coordinate Reference System of the input coords. Default to `epsg:4326`. + * @param resampling Resampling method. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return point model. + * + * response model for `/point` endpointsResponse model for point query operations providing values at a specific + * location on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getPoint(String collectionId, String itemId, double lon, double lat, + List assets, String expression, List assetBidx, Boolean assetAsBand, Double nodata, + Boolean unscale, String coordCrs, Resampling resampling) { + // Generated convenience method for getPointWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (coordCrs != null) { + requestOptions.addQueryParam("coord-crs", coordCrs, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + return getPointWithResponse(collectionId, itemId, lon, lat, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TitilerCoreModelsResponsesPoint.class)); + } + + /** + * Point + * + * Get Point value for a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param lon Longitude. + * @param lat Latitude. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return point model. + * + * response model for `/point` endpointsResponse model for point query operations providing values at a specific + * location on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getPoint(String collectionId, String itemId, double lon, double lat) { + // Generated convenience method for getPointWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getPointWithResponse(collectionId, itemId, lon, lat, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TitilerCoreModelsResponsesPoint.class)); + } + + /** + * Preview + * + * Create preview of a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param accept The accept parameter. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param dstCrs Output Coordinate Reference System. + * @param resampling Resampling method. + * @param maxSize Image output size limit if width and height limits are not set. + * @param height Height in pixels for the output image. + * @param width Width in pixels for the output image. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getPreview(String collectionId, String itemId, String accept, List assets, + String expression, List assetBidx, Boolean assetAsBand, Double nodata, Boolean unscale, + Algorithm algorithm, String algorithmParams, ImageType format, String colorFormula, String dstCrs, + Resampling resampling, Integer maxSize, Integer height, Integer width, List rescale, + ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for getPreviewWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (format != null) { + requestOptions.addQueryParam("format", format.toString(), false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (dstCrs != null) { + requestOptions.addQueryParam("dst-crs", dstCrs, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (maxSize != null) { + requestOptions.addQueryParam("max_size", String.valueOf(maxSize), false); + } + if (height != null) { + requestOptions.addQueryParam("height", String.valueOf(height), false); + } + if (width != null) { + requestOptions.addQueryParam("width", String.valueOf(width), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getPreviewWithResponse(collectionId, itemId, accept, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Preview + * + * Create preview of a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param accept The accept parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getPreview(String collectionId, String itemId, String accept) { + // Generated convenience method for getPreviewWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getPreviewWithResponse(collectionId, itemId, accept, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Preview + * + * Create preview of a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept parameter. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param dstCrs Output Coordinate Reference System. + * @param resampling Resampling method. + * @param maxSize Image output size limit if width and height limits are not set. + * @param height Height in pixels for the output image. + * @param width Width in pixels for the output image. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getPreviewWithFormat(String collectionId, String itemId, String format, String accept, + List assets, String expression, List assetBidx, Boolean assetAsBand, Double nodata, + Boolean unscale, Algorithm algorithm, String algorithmParams, String colorFormula, String dstCrs, + Resampling resampling, Integer maxSize, Integer height, Integer width, List rescale, + ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for getPreviewWithFormatWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (dstCrs != null) { + requestOptions.addQueryParam("dst-crs", dstCrs, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (maxSize != null) { + requestOptions.addQueryParam("max_size", String.valueOf(maxSize), false); + } + if (height != null) { + requestOptions.addQueryParam("height", String.valueOf(height), false); + } + if (width != null) { + requestOptions.addQueryParam("width", String.valueOf(width), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getPreviewWithFormatWithResponse(collectionId, itemId, format, accept, requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Preview + * + * Create preview of a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getPreviewWithFormat(String collectionId, String itemId, String format, String accept) { + // Generated convenience method for getPreviewWithFormatWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getPreviewWithFormatWithResponse(collectionId, itemId, format, accept, requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Part + * + * Create image from part of a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param minx Bounding box min X. + * @param miny Bounding box min Y. + * @param maxx Bounding box max X. + * @param maxy Bounding box max Y. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept parameter. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param dstCrs Output Coordinate Reference System. + * @param coordCrs Coordinate Reference System of the input coords. Default to `epsg:4326`. + * @param resampling Resampling method. + * @param maxSize Image output size limit if width and height limits are not set. + * @param height Height in pixels for the output image. + * @param width Width in pixels for the output image. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getPart(String collectionId, String itemId, double minx, double miny, double maxx, + double maxy, String format, String accept, List assets, String expression, List assetBidx, + Boolean assetAsBand, Double nodata, Boolean unscale, Algorithm algorithm, String algorithmParams, + String colorFormula, String dstCrs, String coordCrs, Resampling resampling, Integer maxSize, Integer height, + Integer width, List rescale, ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for getPartWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (dstCrs != null) { + requestOptions.addQueryParam("dst-crs", dstCrs, false); + } + if (coordCrs != null) { + requestOptions.addQueryParam("coord-crs", coordCrs, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (maxSize != null) { + requestOptions.addQueryParam("max_size", String.valueOf(maxSize), false); + } + if (height != null) { + requestOptions.addQueryParam("height", String.valueOf(height), false); + } + if (width != null) { + requestOptions.addQueryParam("width", String.valueOf(width), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getPartWithResponse(collectionId, itemId, minx, miny, maxx, maxy, format, accept, requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Part + * + * Create image from part of a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param minx Bounding box min X. + * @param miny Bounding box min Y. + * @param maxx Bounding box max X. + * @param maxy Bounding box max Y. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getPart(String collectionId, String itemId, double minx, double miny, double maxx, + double maxy, String format, String accept) { + // Generated convenience method for getPartWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getPartWithResponse(collectionId, itemId, minx, miny, maxx, maxy, format, accept, requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Part + * + * Create image from part of a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param minx Bounding box min X. + * @param miny Bounding box min Y. + * @param maxx Bounding box max X. + * @param maxy Bounding box max Y. + * @param width Width in pixels for the output image. + * @param height Height in pixels for the output image. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept parameter. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param dstCrs Output Coordinate Reference System. + * @param coordCrs Coordinate Reference System of the input coords. Default to `epsg:4326`. + * @param resampling Resampling method. + * @param maxSize Image output size limit if width and height limits are not set. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getPartWithDimensions(String collectionId, String itemId, double minx, double miny, + double maxx, double maxy, double width, double height, String format, String accept, List assets, + String expression, List assetBidx, Boolean assetAsBand, Double nodata, Boolean unscale, + Algorithm algorithm, String algorithmParams, String colorFormula, String dstCrs, String coordCrs, + Resampling resampling, Integer maxSize, List rescale, ColorMapNames colormapName, String colormap, + Boolean returnMask) { + // Generated convenience method for getPartWithDimensionsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (dstCrs != null) { + requestOptions.addQueryParam("dst-crs", dstCrs, false); + } + if (coordCrs != null) { + requestOptions.addQueryParam("coord-crs", coordCrs, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (maxSize != null) { + requestOptions.addQueryParam("max_size", String.valueOf(maxSize), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getPartWithDimensionsWithResponse(collectionId, itemId, minx, miny, maxx, maxy, width, height, format, + accept, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Part + * + * Create image from part of a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param minx Bounding box min X. + * @param miny Bounding box min Y. + * @param maxx Bounding box max X. + * @param maxy Bounding box max Y. + * @param width Width in pixels for the output image. + * @param height Height in pixels for the output image. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getPartWithDimensions(String collectionId, String itemId, double minx, double miny, + double maxx, double maxy, double width, double height, String format, String accept) { + // Generated convenience method for getPartWithDimensionsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getPartWithDimensionsWithResponse(collectionId, itemId, minx, miny, maxx, maxy, width, height, format, + accept, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Geojson Crop + * + * Create image from a geojson feature. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept parameter. + * @param body Request GeoJson body. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param coordCrs Coordinate Reference System of the input coords. Default to `epsg:4326`. + * @param resampling Resampling method. + * @param maxSize Image output size limit if width and height limits are not set. + * @param height Height in pixels for the output image. + * @param width Width in pixels for the output image. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono cropGeoJson(String collectionId, String itemId, String format, String accept, Geometry body, + List assets, String expression, List assetBidx, Boolean assetAsBand, Double nodata, + Boolean unscale, Algorithm algorithm, String algorithmParams, String colorFormula, String coordCrs, + Resampling resampling, Integer maxSize, Integer height, Integer width, List rescale, + ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for cropGeoJsonWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (coordCrs != null) { + requestOptions.addQueryParam("coord-crs", coordCrs, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (maxSize != null) { + requestOptions.addQueryParam("max_size", String.valueOf(maxSize), false); + } + if (height != null) { + requestOptions.addQueryParam("height", String.valueOf(height), false); + } + if (width != null) { + requestOptions.addQueryParam("width", String.valueOf(width), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return cropGeoJsonWithResponse(collectionId, itemId, format, accept, BinaryData.fromObject(body), + requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Geojson Crop + * + * Create image from a geojson feature. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept parameter. + * @param body Request GeoJson body. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono cropGeoJson(String collectionId, String itemId, String format, String accept, + Geometry body) { + // Generated convenience method for cropGeoJsonWithResponse + RequestOptions requestOptions = new RequestOptions(); + return cropGeoJsonWithResponse(collectionId, itemId, format, accept, BinaryData.fromObject(body), + requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Geojson Crop + * + * Create image from a geojson feature. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param width Width in pixels for the output image. + * @param height Height in pixels for the output image. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept parameter. + * @param body Request GeoJson body. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param coordCrs Coordinate Reference System of the input coords. Default to `epsg:4326`. + * @param resampling Resampling method. + * @param maxSize Image output size limit if width and height limits are not set. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono cropGeoJsonWithDimensions(String collectionId, String itemId, double width, double height, + String format, String accept, StacItemModel body, List assets, String expression, + List assetBidx, Boolean assetAsBand, Double nodata, Boolean unscale, Algorithm algorithm, + String algorithmParams, String colorFormula, String coordCrs, Resampling resampling, Integer maxSize, + List rescale, ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for cropGeoJsonWithDimensionsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (coordCrs != null) { + requestOptions.addQueryParam("coord-crs", coordCrs, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (maxSize != null) { + requestOptions.addQueryParam("max_size", String.valueOf(maxSize), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return cropGeoJsonWithDimensionsWithResponse(collectionId, itemId, width, height, format, accept, + BinaryData.fromObject(body), requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Geojson Crop + * + * Create image from a geojson feature. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param width Width in pixels for the output image. + * @param height Height in pixels for the output image. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept parameter. + * @param body Request GeoJson body. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono cropGeoJsonWithDimensions(String collectionId, String itemId, double width, double height, + String format, String accept, StacItemModel body) { + // Generated convenience method for cropGeoJsonWithDimensionsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return cropGeoJsonWithDimensionsWithResponse(collectionId, itemId, width, height, format, accept, + BinaryData.fromObject(body), requestOptions).flatMap(FluxUtil::toMono); + } + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_STRING = new TypeReference>() { + }; +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacItemTilerClient.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacItemTilerClient.java new file mode 100644 index 000000000000..5abc43efbc68 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacItemTilerClient.java @@ -0,0 +1,4555 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +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.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.serializer.TypeReference; +import com.azure.planetarycomputer.implementation.StacItemTilerClientImpl; +import com.azure.planetarycomputer.models.Algorithm; +import com.azure.planetarycomputer.models.AssetStatisticsResponse; +import com.azure.planetarycomputer.models.BoundsResponse; +import com.azure.planetarycomputer.models.ColorMapNames; +import com.azure.planetarycomputer.models.GeoJsonStatisticsItemCollectionResponse; +import com.azure.planetarycomputer.models.Geometry; +import com.azure.planetarycomputer.models.ImageType; +import com.azure.planetarycomputer.models.InfoOperationResponse; +import com.azure.planetarycomputer.models.ItemCollectionModel; +import com.azure.planetarycomputer.models.Resampling; +import com.azure.planetarycomputer.models.StacItemModel; +import com.azure.planetarycomputer.models.StatisticsResponse; +import com.azure.planetarycomputer.models.TileJsonResponse; +import com.azure.planetarycomputer.models.Tilematrixsetid; +import com.azure.planetarycomputer.models.TilerInfoGeoJsonFeature; +import com.azure.planetarycomputer.models.TitilerCoreModelsResponsesPoint; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * Initializes a new instance of the synchronous StacItemTilerClient type. + */ +@ServiceClient(builder = StacItemTilerClientBuilder.class) +public final class StacItemTilerClient { + @Generated + private final StacItemTilerClientImpl serviceClient; + + /** + * Initializes an instance of StacItemTilerClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + StacItemTilerClient(StacItemTilerClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Bounds + * + * Return all Bounds. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     bounds (Required): [
+     *         double (Required)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 geographic extent of a dataset expressed as a bounding box along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getBoundsWithResponse(String collectionId, String itemId, + RequestOptions requestOptions) { + return this.serviceClient.getBoundsWithResponse(collectionId, itemId, requestOptions); + } + + /** + * Info + * + * Return dataset's basic info. + *

Query Parameters

+ * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     data (Required): {
+     *         bounds (Required): [
+     *             double (Required)
+     *         ]
+     *         band_metadata (Optional): [
+     *              (Optional)[
+     *                 BinaryData (Optional)
+     *             ]
+     *         ]
+     *         band_descriptions (Optional): [
+     *              (Optional)[
+     *                 String (Optional)
+     *             ]
+     *         ]
+     *         dtype: String (Required)
+     *         nodata_type: String(Alpha/Mask/Internal/Nodata/None) (Optional)
+     *         colorinterp (Optional): [
+     *             String (Optional)
+     *         ]
+     *         driver: String (Optional)
+     *         count: Integer (Optional)
+     *         width: Integer (Optional)
+     *         height: Integer (Optional)
+     *         overviews (Optional): [
+     *             String (Optional)
+     *         ]
+     *         scales (Optional): [
+     *             long (Optional)
+     *         ]
+     *         offsets (Optional): [
+     *             long (Optional)
+     *         ]
+     *         colormap (Optional): {
+     *             String (Required): [
+     *                 String (Required)
+     *             ]
+     *         }
+     *         minzoom: Long (Optional)
+     *         maxzoom: Long (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 return dataset's basic info or the list of available assets along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getInfoWithResponse(String collectionId, String itemId, RequestOptions requestOptions) { + return this.serviceClient.getInfoWithResponse(collectionId, itemId, requestOptions); + } + + /** + * Info Geojson + * + * Return Info Geojson. + *

Query Parameters

+ * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature) (Required)
+     *     geometry (Required): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     properties (Required): {
+     *         String (Required): {
+     *             bounds (Required): [
+     *                 double (Required)
+     *             ]
+     *             band_metadata (Optional): [
+     *                  (Optional)[
+     *                     BinaryData (Optional)
+     *                 ]
+     *             ]
+     *             band_descriptions (Optional): [
+     *                  (Optional)[
+     *                     String (Optional)
+     *                 ]
+     *             ]
+     *             dtype: String (Required)
+     *             nodata_type: String(Alpha/Mask/Internal/Nodata/None) (Optional)
+     *             colorinterp (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             driver: String (Optional)
+     *             count: Integer (Optional)
+     *             width: Integer (Optional)
+     *             height: Integer (Optional)
+     *             overviews (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             scales (Optional): [
+     *                 long (Optional)
+     *             ]
+     *             offsets (Optional): [
+     *                 long (Optional)
+     *             ]
+     *             colormap (Optional): {
+     *                 String (Required): [
+     *                     String (Required)
+     *                 ]
+     *             }
+     *             minzoom: Long (Optional)
+     *             maxzoom: Long (Optional)
+     *         }
+     *     }
+     *     id: String (Optional)
+     *     bbox: Double (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 geoJSON Feature object containing rio-tiler model information along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getInfoGeoJsonWithResponse(String collectionId, String itemId, + RequestOptions requestOptions) { + return this.serviceClient.getInfoGeoJsonWithResponse(collectionId, itemId, requestOptions); + } + + /** + * Available Assets + * + * Return a list of supported assets. + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAvailableAssetsWithResponse(String collectionId, String itemId, + RequestOptions requestOptions) { + return this.serviceClient.getAvailableAssetsWithResponse(collectionId, itemId, requestOptions); + } + + /** + * Asset Statistics + * + * Per Asset statistics. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoMaximum dimension in pixels for the source data used to + * calculate statistics
categoricalBooleanNoReturn statistics for categorical dataset.
cList<String>NoList of values for which to report counts. Call + * {@link RequestOptions#addQueryParam} to add string to array.
pList<Integer>NoList of percentile values (default to [2, 98]). Call + * {@link RequestOptions#addQueryParam} to add string to array.
histogram_binsStringNoDefines the number of equal-width bins in the given + * range (10, by default). + * + * If bins is a sequence (comma `,` delimited values), it defines a monotonically + * increasing array of bin edges, including the rightmost edge, allowing for + * non-uniform bin widths. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
histogram_rangeStringNoComma `,` delimited range of the bins. + * + * The lower and upper range of the bins. If not provided, range is simply + * (a.min(), a.max()). + * + * Values outside the range are ignored. The first element of the range must be + * less than or equal to the second. + * range affects the automatic bin computation as well. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     data (Required): {
+     *         String (Required): {
+     *             min: double (Required)
+     *             max: double (Required)
+     *             mean: double (Required)
+     *             count: double (Required)
+     *             sum: double (Required)
+     *             std: double (Required)
+     *             median: double (Required)
+     *             majority: double (Required)
+     *             minority: double (Required)
+     *             unique: double (Required)
+     *             histogram (Required): [
+     *                  (Required)[
+     *                     double (Required)
+     *                 ]
+     *             ]
+     *             valid_percent: double (Required)
+     *             masked_pixels: double (Required)
+     *             valid_pixels: double (Required)
+     *             percentile_2: double (Required)
+     *             percentile_98: double (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 return dataset's statistics along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAssetStatisticsWithResponse(String collectionId, String itemId, + RequestOptions requestOptions) { + return this.serviceClient.getAssetStatisticsWithResponse(collectionId, itemId, requestOptions); + } + + /** + * Statistics + * + * Merged assets statistics. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoMaximum dimension in pixels for the source data used to + * calculate statistics
categoricalBooleanNoReturn statistics for categorical dataset.
cList<String>NoList of values for which to report counts. Call + * {@link RequestOptions#addQueryParam} to add string to array.
pList<Integer>NoList of percentile values (default to [2, 98]). Call + * {@link RequestOptions#addQueryParam} to add string to array.
histogram_binsStringNoDefines the number of equal-width bins in the given + * range (10, by default). + * + * If bins is a sequence (comma `,` delimited values), it defines a monotonically + * increasing array of bin edges, including the rightmost edge, allowing for + * non-uniform bin widths. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
histogram_rangeStringNoComma `,` delimited range of the bins. + * + * The lower and upper range of the bins. If not provided, range is simply + * (a.min(), a.max()). + * + * Values outside the range are ignored. The first element of the range must be + * less than or equal to the second. + * range affects the automatic bin computation as well. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *      (Optional): {
+     *         String (Required): {
+     *             min: double (Required)
+     *             max: double (Required)
+     *             mean: double (Required)
+     *             count: double (Required)
+     *             sum: double (Required)
+     *             std: double (Required)
+     *             median: double (Required)
+     *             majority: double (Required)
+     *             minority: double (Required)
+     *             unique: double (Required)
+     *             histogram (Required): [
+     *                  (Required)[
+     *                     double (Required)
+     *                 ]
+     *             ]
+     *             valid_percent: double (Required)
+     *             masked_pixels: double (Required)
+     *             valid_pixels: double (Required)
+     *             percentile_2: double (Required)
+     *             percentile_98: double (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 return dataset's statistics along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getStatisticsWithResponse(String collectionId, String itemId, + RequestOptions requestOptions) { + return this.serviceClient.getStatisticsWithResponse(collectionId, itemId, requestOptions); + } + + /** + * Geojson Statistics + * + * Get Statistics from a geojson feature or featureCollection. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoMaximum dimension in pixels for the source data used to + * calculate statistics
categoricalBooleanNoReturn statistics for categorical dataset.
cList<String>NoList of values for which to report counts. Call + * {@link RequestOptions#addQueryParam} to add string to array.
pList<Integer>NoList of percentile values (default to [2, 98]). Call + * {@link RequestOptions#addQueryParam} to add string to array.
histogram_binsStringNoDefines the number of equal-width bins in the given + * range (10, by default). + * + * If bins is a sequence (comma `,` delimited values), it defines a monotonically + * increasing array of bin edges, including the rightmost edge, allowing for + * non-uniform bin widths. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
histogram_rangeStringNoComma `,` delimited range of the bins. + * + * The lower and upper range of the bins. If not provided, range is simply + * (a.min(), a.max()). + * + * Values outside the range are ignored. The first element of the range must be + * less than or equal to the second. + * range affects the automatic bin computation as well. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     features (Optional, Required on create): [
+     *          (Optional, Required on create){
+     *             type: String(Feature/FeatureCollection) (Required)
+     *             stac_version: String (Optional)
+     *             links (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             msft:_created: String (Optional)
+     *             msft:_updated: String (Optional)
+     *             msft:short_description: String (Optional)
+     *             stac_extensions (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             geometry (Optional, Required on create): {
+     *                 type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *                 bbox (Optional): [
+     *                     double (Optional)
+     *                 ]
+     *             }
+     *             bbox (Optional, Required on create): [
+     *                 double (Optional, Required on create)
+     *             ]
+     *             id: String (Required)
+     *             collection: String (Optional)
+     *             properties (Optional, Required on create): {
+     *                 platform: String (Optional)
+     *                 instruments (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 constellation: String (Optional)
+     *                 mission: String (Optional)
+     *                 providers (Optional): [
+     *                      (Optional){
+     *                         name: String (Optional, Required on create)
+     *                         description: String (Optional)
+     *                         roles (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         url: String (Optional)
+     *                     }
+     *                 ]
+     *                 gsd: Double (Optional)
+     *                 created: OffsetDateTime (Optional)
+     *                 updated: OffsetDateTime (Optional)
+     *                 title: String (Optional)
+     *                 description: String (Optional)
+     *                 datetime: String (Optional, Required on create)
+     *                 start_datetime: OffsetDateTime (Optional)
+     *                 end_datetime: OffsetDateTime (Optional)
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *             assets (Optional, Required on create): {
+     *                 String (Required): {
+     *                     platform: String (Optional)
+     *                     instruments (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     constellation: String (Optional)
+     *                     mission: String (Optional)
+     *                     providers (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     gsd: Double (Optional)
+     *                     created: OffsetDateTime (Optional)
+     *                     updated: OffsetDateTime (Optional)
+     *                     title: String (Optional)
+     *                     description: String (Optional)
+     *                     href: String (Optional, Required on create)
+     *                     type: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                      (Optional): {
+     *                         String: BinaryData (Required)
+     *                     }
+     *                 }
+     *             }
+     *             _msft:ts: String (Optional)
+     *             _msft:etag: String (Optional)
+     *         }
+     *     ]
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     *     context (Optional): {
+     *         returned: int (Optional, Required on create)
+     *         limit: Integer (Optional)
+     *         matched: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(FeatureCollection) (Required)
+     *     features (Required): [
+     *          (Required){
+     *             geometry (Required): {
+     *                 type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *                 bbox (Optional): [
+     *                     double (Optional)
+     *                 ]
+     *             }
+     *             bbox (Required): [
+     *                 double (Required)
+     *             ]
+     *             id: String (Required)
+     *             type: String(Feature) (Required)
+     *             msft:_created: String (Optional)
+     *             msft:_updated: String (Optional)
+     *             msft:short_description: String (Optional)
+     *             stac_version: String (Optional)
+     *             collection: String (Optional)
+     *             properties (Required): {
+     *                 platform: String (Optional)
+     *                 instruments (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 constellation: String (Optional)
+     *                 mission: String (Optional)
+     *                 providers (Optional): [
+     *                      (Optional){
+     *                         name: String (Optional, Required on create)
+     *                         description: String (Optional)
+     *                         roles (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         url: String (Optional)
+     *                     }
+     *                 ]
+     *                 gsd: Double (Optional)
+     *                 created: OffsetDateTime (Optional)
+     *                 updated: OffsetDateTime (Optional)
+     *                 title: String (Optional)
+     *                 description: String (Optional)
+     *                 datetime: String (Optional, Required on create)
+     *                 start_datetime: OffsetDateTime (Optional)
+     *                 end_datetime: OffsetDateTime (Optional)
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *             _msft:ts: String (Optional)
+     *             _msft:etag: String (Optional)
+     *             stac_extensions (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     *     stac_version: String (Optional)
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     context (Optional): {
+     *         returned: int (Optional, Required on create)
+     *         limit: Integer (Optional)
+     *         matched: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param body Request GeoJson body. + * @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 https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.mdCollection of STAC + * items with statistical information along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getGeoJsonStatisticsWithResponse(String collectionId, String itemId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.getGeoJsonStatisticsWithResponse(collectionId, itemId, body, requestOptions); + } + + /** + * Tile + * + * Create map tile from a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: + * 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", "LINZAntarticaMapTilegrid", + * "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", "WGS1984Quad", + * "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
subdataset_nameStringNoThe name of a subdataset within the asset.
subdataset_bandsList<String>NoThe index of a subdataset band within the + * asset. In the form of "," separated string.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept 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 body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTileWithResponse(String collectionId, String itemId, double z, double x, double y, + double scale, String format, String accept, RequestOptions requestOptions) { + return this.serviceClient.getTileWithResponse(collectionId, itemId, z, x, y, scale, format, accept, + requestOptions); + } + + /** + * Tile Tilematrixsetid As Path + * + * Create map tile from a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
subdataset_nameStringNoThe name of a subdataset within the asset.
subdataset_bandsList<String>NoThe index of a subdataset band within the + * asset. In the form of "," separated string.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept 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 body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTileWithMatrixSetWithResponse(String collectionId, String itemId, + String tileMatrixSetId, double z, double x, double y, double scale, String format, String accept, + RequestOptions requestOptions) { + return this.serviceClient.getTileWithMatrixSetWithResponse(collectionId, itemId, tileMatrixSetId, z, x, y, + scale, format, accept, requestOptions); + } + + /** + * Tilejson + * + * Return Tilejson. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: + * 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", "LINZAntarticaMapTilegrid", + * "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", "WGS1984Quad", + * "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
tile_formatStringNoDefault will be automatically defined if the output image + * needs a mask (png) or + * not (jpeg). Allowed values: "png", "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     tilejson: String (Optional)
+     *     name: String (Optional)
+     *     description: String (Optional)
+     *     version: String (Optional)
+     *     attribution: String (Optional)
+     *     template: String (Optional)
+     *     legend: String (Optional)
+     *     scheme: String(xyz/tms) (Optional)
+     *     tiles (Required): [
+     *         String (Required)
+     *     ]
+     *     grids (Optional): [
+     *         String (Optional)
+     *     ]
+     *     data (Optional): [
+     *         String (Optional)
+     *     ]
+     *     minzoom: Integer (Optional)
+     *     maxzoom: Integer (Optional)
+     *     bounds (Optional): [
+     *         double (Optional)
+     *     ]
+     *     center (Optional): [
+     *         double (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTileJsonWithResponse(String collectionId, String itemId, + RequestOptions requestOptions) { + return this.serviceClient.getTileJsonWithResponse(collectionId, itemId, requestOptions); + } + + /** + * Tilejson Tilematrixsetid As Path + * + * Return the Tilejson Tilematrixsetid As a path. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tile_formatStringNoDefault will be automatically defined if the output image + * needs a mask (png) or + * not (jpeg). Allowed values: "png", "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     tilejson: String (Optional)
+     *     name: String (Optional)
+     *     description: String (Optional)
+     *     version: String (Optional)
+     *     attribution: String (Optional)
+     *     template: String (Optional)
+     *     legend: String (Optional)
+     *     scheme: String(xyz/tms) (Optional)
+     *     tiles (Required): [
+     *         String (Required)
+     *     ]
+     *     grids (Optional): [
+     *         String (Optional)
+     *     ]
+     *     data (Optional): [
+     *         String (Optional)
+     *     ]
+     *     minzoom: Integer (Optional)
+     *     maxzoom: Integer (Optional)
+     *     bounds (Optional): [
+     *         double (Optional)
+     *     ]
+     *     center (Optional): [
+     *         double (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @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 tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTileJsonWithMatrixSetWithResponse(String collectionId, String itemId, + String tileMatrixSetId, RequestOptions requestOptions) { + return this.serviceClient.getTileJsonWithMatrixSetWithResponse(collectionId, itemId, tileMatrixSetId, + requestOptions); + } + + /** + * Wmts + * + * OGC WMTS endpoint. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: + * 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", "LINZAntarticaMapTilegrid", + * "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", "WGS1984Quad", + * "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
tile_formatStringNoOutput image type. Default is png. Allowed values: "png", + * "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * String
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 a sequence of textual characters along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWmtsCapabilitiesWithResponse(String collectionId, String itemId, + RequestOptions requestOptions) { + return this.serviceClient.getWmtsCapabilitiesWithResponse(collectionId, itemId, requestOptions); + } + + /** + * Wmts Tilematrixsetid As Path + * + * OGC WMTS endpoint. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tile_formatStringNoOutput image type. Default is png. Allowed values: "png", + * "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * String
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @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 a sequence of textual characters along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWmtsCapabilitiesWithMatrixSetWithResponse(String collectionId, String itemId, + String tileMatrixSetId, RequestOptions requestOptions) { + return this.serviceClient.getWmtsCapabilitiesWithMatrixSetWithResponse(collectionId, itemId, tileMatrixSetId, + requestOptions); + } + + /** + * Point + * + * Get Point value for a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     coordinates (Required): [
+     *         double (Required)
+     *     ]
+     *     values (Required): [
+     *         double (Required)
+     *     ]
+     *     band_names (Required): [
+     *         String (Required)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param lon Longitude. + * @param lat Latitude. + * @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 point model. + * + * response model for `/point` endpointsResponse model for point query operations providing values at a specific + * location along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getPointWithResponse(String collectionId, String itemId, double lon, double lat, + RequestOptions requestOptions) { + return this.serviceClient.getPointWithResponse(collectionId, itemId, lon, lat, requestOptions); + } + + /** + * Preview + * + * Create preview of a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
formatStringNoOutput format for the tile or image (e.g., png, jpeg, webp). + * Allowed values: "png", "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
dst-crsStringNoOutput Coordinate Reference System.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoImage output size limit if width and height limits are not + * set.
heightIntegerNoHeight in pixels for the output image
widthIntegerNoWidth in pixels for the output image
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param accept The accept 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 body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getPreviewWithResponse(String collectionId, String itemId, String accept, + RequestOptions requestOptions) { + return this.serviceClient.getPreviewWithResponse(collectionId, itemId, accept, requestOptions); + } + + /** + * Preview + * + * Create preview of a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
dst-crsStringNoOutput Coordinate Reference System.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoImage output size limit if width and height limits are not + * set.
heightIntegerNoHeight in pixels for the output image
widthIntegerNoWidth in pixels for the output image
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept 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 body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getPreviewWithFormatWithResponse(String collectionId, String itemId, String format, + String accept, RequestOptions requestOptions) { + return this.serviceClient.getPreviewWithFormatWithResponse(collectionId, itemId, format, accept, + requestOptions); + } + + /** + * Part + * + * Create image from part of a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
dst-crsStringNoOutput Coordinate Reference System.
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoImage output size limit if width and height limits are not + * set.
heightIntegerNoHeight in pixels for the output image
widthIntegerNoWidth in pixels for the output image
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param minx Bounding box min X. + * @param miny Bounding box min Y. + * @param maxx Bounding box max X. + * @param maxy Bounding box max Y. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept 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 body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getPartWithResponse(String collectionId, String itemId, double minx, double miny, + double maxx, double maxy, String format, String accept, RequestOptions requestOptions) { + return this.serviceClient.getPartWithResponse(collectionId, itemId, minx, miny, maxx, maxy, format, accept, + requestOptions); + } + + /** + * Part + * + * Create image from part of a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
dst-crsStringNoOutput Coordinate Reference System.
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoImage output size limit if width and height limits are not + * set.
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param minx Bounding box min X. + * @param miny Bounding box min Y. + * @param maxx Bounding box max X. + * @param maxy Bounding box max Y. + * @param width Width in pixels for the output image. + * @param height Height in pixels for the output image. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept 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 body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getPartWithDimensionsWithResponse(String collectionId, String itemId, double minx, + double miny, double maxx, double maxy, double width, double height, String format, String accept, + RequestOptions requestOptions) { + return this.serviceClient.getPartWithDimensionsWithResponse(collectionId, itemId, minx, miny, maxx, maxy, width, + height, format, accept, requestOptions); + } + + /** + * Geojson Crop + * + * Create image from a geojson feature. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoImage output size limit if width and height limits are not + * set.
heightIntegerNoHeight in pixels for the output image
widthIntegerNoWidth in pixels for the output image
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept parameter. + * @param body Request GeoJson body. + * @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 body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response cropGeoJsonWithResponse(String collectionId, String itemId, String format, + String accept, BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.cropGeoJsonWithResponse(collectionId, itemId, format, accept, body, requestOptions); + } + + /** + * Geojson Crop + * + * Create image from a geojson feature. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoImage output size limit if width and height limits are not + * set.
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     geometry (Optional, Required on create): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     bbox (Optional, Required on create): [
+     *         double (Optional, Required on create)
+     *     ]
+     *     id: String (Required)
+     *     collection: String (Optional)
+     *     properties (Optional, Required on create): {
+     *         platform: String (Optional)
+     *         instruments (Optional): [
+     *             String (Optional)
+     *         ]
+     *         constellation: String (Optional)
+     *         mission: String (Optional)
+     *         providers (Optional): [
+     *              (Optional){
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 roles (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         gsd: Double (Optional)
+     *         created: OffsetDateTime (Optional)
+     *         updated: OffsetDateTime (Optional)
+     *         title: String (Optional)
+     *         description: String (Optional)
+     *         datetime: String (Optional, Required on create)
+     *         start_datetime: OffsetDateTime (Optional)
+     *         end_datetime: OffsetDateTime (Optional)
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     assets (Optional, Required on create): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     _msft:ts: String (Optional)
+     *     _msft:etag: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param width Width in pixels for the output image. + * @param height Height in pixels for the output image. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept parameter. + * @param body Request GeoJson body. + * @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 body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response cropGeoJsonWithDimensionsWithResponse(String collectionId, String itemId, double width, + double height, String format, String accept, BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.cropGeoJsonWithDimensionsWithResponse(collectionId, itemId, width, height, format, + accept, body, requestOptions); + } + + /** + * Bounds + * + * Return all Bounds. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return geographic extent of a dataset expressed as a bounding box. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BoundsResponse getBounds(String collectionId, String itemId) { + // Generated convenience method for getBoundsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getBoundsWithResponse(collectionId, itemId, requestOptions).getValue().toObject(BoundsResponse.class); + } + + /** + * Info + * + * Return dataset's basic info. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param assets Asset's names. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return return dataset's basic info or the list of available assets. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public InfoOperationResponse getInfo(String collectionId, String itemId, List assets) { + // Generated convenience method for getInfoWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + return getInfoWithResponse(collectionId, itemId, requestOptions).getValue() + .toObject(InfoOperationResponse.class); + } + + /** + * Info + * + * Return dataset's basic info. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return return dataset's basic info or the list of available assets. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public InfoOperationResponse getInfo(String collectionId, String itemId) { + // Generated convenience method for getInfoWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getInfoWithResponse(collectionId, itemId, requestOptions).getValue() + .toObject(InfoOperationResponse.class); + } + + /** + * Info Geojson + * + * Return Info Geojson. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param assets Asset's names. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return geoJSON Feature object containing rio-tiler model information. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TilerInfoGeoJsonFeature getInfoGeoJson(String collectionId, String itemId, List assets) { + // Generated convenience method for getInfoGeoJsonWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + return getInfoGeoJsonWithResponse(collectionId, itemId, requestOptions).getValue() + .toObject(TilerInfoGeoJsonFeature.class); + } + + /** + * Info Geojson + * + * Return Info Geojson. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return geoJSON Feature object containing rio-tiler model information. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TilerInfoGeoJsonFeature getInfoGeoJson(String collectionId, String itemId) { + // Generated convenience method for getInfoGeoJsonWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getInfoGeoJsonWithResponse(collectionId, itemId, requestOptions).getValue() + .toObject(TilerInfoGeoJsonFeature.class); + } + + /** + * Available Assets + * + * Return a list of supported assets. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getAvailableAssets(String collectionId, String itemId) { + // Generated convenience method for getAvailableAssetsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAvailableAssetsWithResponse(collectionId, itemId, requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_STRING); + } + + /** + * Asset Statistics + * + * Per Asset statistics. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param resampling Resampling method. + * @param maxSize Maximum dimension in pixels for the source data used to calculate statistics. + * @param categorical Return statistics for categorical dataset. + * @param c List of values for which to report counts. + * @param p List of percentile values (default to [2, 98]). + * @param histogramBins Defines the number of equal-width bins in the given range (10, by default). + * + * If bins is a sequence (comma `,` delimited values), it defines a monotonically + * increasing array of bin edges, including the rightmost edge, allowing for + * non-uniform bin widths. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html. + * @param histogramRange Comma `,` delimited range of the bins. + * + * The lower and upper range of the bins. If not provided, range is simply + * (a.min(), a.max()). + * + * Values outside the range are ignored. The first element of the range must be + * less than or equal to the second. + * range affects the automatic bin computation as well. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return return dataset's statistics. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AssetStatisticsResponse getAssetStatistics(String collectionId, String itemId, List assets, + String expression, List assetBidx, Boolean assetAsBand, Double nodata, Boolean unscale, + Resampling resampling, Integer maxSize, Boolean categorical, List c, List p, + String histogramBins, String histogramRange) { + // Generated convenience method for getAssetStatisticsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (maxSize != null) { + requestOptions.addQueryParam("max_size", String.valueOf(maxSize), false); + } + if (categorical != null) { + requestOptions.addQueryParam("categorical", String.valueOf(categorical), false); + } + if (c != null) { + for (String paramItemValue : c) { + if (paramItemValue != null) { + requestOptions.addQueryParam("c", paramItemValue, false); + } + } + } + if (p != null) { + for (int paramItemValue : p) { + requestOptions.addQueryParam("p", String.valueOf(paramItemValue), false); + } + } + if (histogramBins != null) { + requestOptions.addQueryParam("histogram_bins", histogramBins, false); + } + if (histogramRange != null) { + requestOptions.addQueryParam("histogram_range", histogramRange, false); + } + return getAssetStatisticsWithResponse(collectionId, itemId, requestOptions).getValue() + .toObject(AssetStatisticsResponse.class); + } + + /** + * Asset Statistics + * + * Per Asset statistics. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return return dataset's statistics. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AssetStatisticsResponse getAssetStatistics(String collectionId, String itemId) { + // Generated convenience method for getAssetStatisticsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAssetStatisticsWithResponse(collectionId, itemId, requestOptions).getValue() + .toObject(AssetStatisticsResponse.class); + } + + /** + * Statistics + * + * Merged assets statistics. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param resampling Resampling method. + * @param maxSize Maximum dimension in pixels for the source data used to calculate statistics. + * @param categorical Return statistics for categorical dataset. + * @param c List of values for which to report counts. + * @param p List of percentile values (default to [2, 98]). + * @param histogramBins Defines the number of equal-width bins in the given range (10, by default). + * + * If bins is a sequence (comma `,` delimited values), it defines a monotonically + * increasing array of bin edges, including the rightmost edge, allowing for + * non-uniform bin widths. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html. + * @param histogramRange Comma `,` delimited range of the bins. + * + * The lower and upper range of the bins. If not provided, range is simply + * (a.min(), a.max()). + * + * Values outside the range are ignored. The first element of the range must be + * less than or equal to the second. + * range affects the automatic bin computation as well. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return return dataset's statistics. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public StatisticsResponse getStatistics(String collectionId, String itemId, List assets, String expression, + List assetBidx, Boolean assetAsBand, Double nodata, Boolean unscale, Resampling resampling, + Integer maxSize, Boolean categorical, List c, List p, String histogramBins, + String histogramRange) { + // Generated convenience method for getStatisticsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (maxSize != null) { + requestOptions.addQueryParam("max_size", String.valueOf(maxSize), false); + } + if (categorical != null) { + requestOptions.addQueryParam("categorical", String.valueOf(categorical), false); + } + if (c != null) { + for (String paramItemValue : c) { + if (paramItemValue != null) { + requestOptions.addQueryParam("c", paramItemValue, false); + } + } + } + if (p != null) { + for (int paramItemValue : p) { + requestOptions.addQueryParam("p", String.valueOf(paramItemValue), false); + } + } + if (histogramBins != null) { + requestOptions.addQueryParam("histogram_bins", histogramBins, false); + } + if (histogramRange != null) { + requestOptions.addQueryParam("histogram_range", histogramRange, false); + } + return getStatisticsWithResponse(collectionId, itemId, requestOptions).getValue() + .toObject(StatisticsResponse.class); + } + + /** + * Statistics + * + * Merged assets statistics. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return return dataset's statistics. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public StatisticsResponse getStatistics(String collectionId, String itemId) { + // Generated convenience method for getStatisticsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getStatisticsWithResponse(collectionId, itemId, requestOptions).getValue() + .toObject(StatisticsResponse.class); + } + + /** + * Geojson Statistics + * + * Get Statistics from a geojson feature or featureCollection. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param body Request GeoJson body. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param coordCrs Coordinate Reference System of the input coords. Default to `epsg:4326`. + * @param resampling Resampling method. + * @param maxSize Maximum dimension in pixels for the source data used to calculate statistics. + * @param categorical Return statistics for categorical dataset. + * @param c List of values for which to report counts. + * @param p List of percentile values (default to [2, 98]). + * @param histogramBins Defines the number of equal-width bins in the given range (10, by default). + * + * If bins is a sequence (comma `,` delimited values), it defines a monotonically + * increasing array of bin edges, including the rightmost edge, allowing for + * non-uniform bin widths. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html. + * @param histogramRange Comma `,` delimited range of the bins. + * + * The lower and upper range of the bins. If not provided, range is simply + * (a.min(), a.max()). + * + * Values outside the range are ignored. The first element of the range must be + * less than or equal to the second. + * range affects the automatic bin computation as well. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.mdCollection of STAC + * items with statistical information. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public GeoJsonStatisticsItemCollectionResponse getGeoJsonStatistics(String collectionId, String itemId, + ItemCollectionModel body, List assets, String expression, List assetBidx, Boolean assetAsBand, + Double nodata, Boolean unscale, String coordCrs, Resampling resampling, Integer maxSize, Boolean categorical, + List c, List p, String histogramBins, String histogramRange) { + // Generated convenience method for getGeoJsonStatisticsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (coordCrs != null) { + requestOptions.addQueryParam("coord-crs", coordCrs, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (maxSize != null) { + requestOptions.addQueryParam("max_size", String.valueOf(maxSize), false); + } + if (categorical != null) { + requestOptions.addQueryParam("categorical", String.valueOf(categorical), false); + } + if (c != null) { + for (String paramItemValue : c) { + if (paramItemValue != null) { + requestOptions.addQueryParam("c", paramItemValue, false); + } + } + } + if (p != null) { + for (int paramItemValue : p) { + requestOptions.addQueryParam("p", String.valueOf(paramItemValue), false); + } + } + if (histogramBins != null) { + requestOptions.addQueryParam("histogram_bins", histogramBins, false); + } + if (histogramRange != null) { + requestOptions.addQueryParam("histogram_range", histogramRange, false); + } + return getGeoJsonStatisticsWithResponse(collectionId, itemId, BinaryData.fromObject(body), requestOptions) + .getValue() + .toObject(GeoJsonStatisticsItemCollectionResponse.class); + } + + /** + * Geojson Statistics + * + * Get Statistics from a geojson feature or featureCollection. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param body Request GeoJson body. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.mdCollection of STAC + * items with statistical information. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public GeoJsonStatisticsItemCollectionResponse getGeoJsonStatistics(String collectionId, String itemId, + ItemCollectionModel body) { + // Generated convenience method for getGeoJsonStatisticsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getGeoJsonStatisticsWithResponse(collectionId, itemId, BinaryData.fromObject(body), requestOptions) + .getValue() + .toObject(GeoJsonStatisticsItemCollectionResponse.class); + } + + /** + * Tile + * + * Create map tile from a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept parameter. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported (default: + * 'WebMercatorQuad'). + * @param buffer Buffer on each side of the given tile. It must be a multiple of `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param resampling Resampling method. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @param subdatasetName The name of a subdataset within the asset. + * @param subdatasetBands The index of a subdataset band within the asset. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData getTile(String collectionId, String itemId, double z, double x, double y, double scale, + String format, String accept, List assets, String expression, List assetBidx, + Boolean assetAsBand, Double nodata, Boolean unscale, Algorithm algorithm, String algorithmParams, + Tilematrixsetid tileMatrixSetId, String buffer, String colorFormula, Resampling resampling, + List rescale, ColorMapNames colormapName, String colormap, Boolean returnMask, String subdatasetName, + List subdatasetBands) { + // Generated convenience method for getTileWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (tileMatrixSetId != null) { + requestOptions.addQueryParam("tileMatrixSetId", tileMatrixSetId.toString(), false); + } + if (buffer != null) { + requestOptions.addQueryParam("buffer", buffer, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + if (subdatasetName != null) { + requestOptions.addQueryParam("subdataset_name", subdatasetName, false); + } + if (subdatasetBands != null) { + requestOptions.addQueryParam("subdataset_bands", + subdatasetBands.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + return getTileWithResponse(collectionId, itemId, z, x, y, scale, format, accept, requestOptions).getValue(); + } + + /** + * Tile + * + * Create map tile from a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData getTile(String collectionId, String itemId, double z, double x, double y, double scale, + String format, String accept) { + // Generated convenience method for getTileWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTileWithResponse(collectionId, itemId, z, x, y, scale, format, accept, requestOptions).getValue(); + } + + /** + * Tile Tilematrixsetid As Path + * + * Create map tile from a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept parameter. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param buffer Buffer on each side of the given tile. It must be a multiple of `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param resampling Resampling method. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @param subdatasetName The name of a subdataset within the asset. + * @param subdatasetBands The index of a subdataset band within the asset. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData getTileWithMatrixSet(String collectionId, String itemId, String tileMatrixSetId, double z, + double x, double y, double scale, String format, String accept, List assets, String expression, + List assetBidx, Boolean assetAsBand, Double nodata, Boolean unscale, Algorithm algorithm, + String algorithmParams, String buffer, String colorFormula, Resampling resampling, List rescale, + ColorMapNames colormapName, String colormap, Boolean returnMask, String subdatasetName, + List subdatasetBands) { + // Generated convenience method for getTileWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (buffer != null) { + requestOptions.addQueryParam("buffer", buffer, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + if (subdatasetName != null) { + requestOptions.addQueryParam("subdataset_name", subdatasetName, false); + } + if (subdatasetBands != null) { + requestOptions.addQueryParam("subdataset_bands", + subdatasetBands.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + return getTileWithMatrixSetWithResponse(collectionId, itemId, tileMatrixSetId, z, x, y, scale, format, accept, + requestOptions).getValue(); + } + + /** + * Tile Tilematrixsetid As Path + * + * Create map tile from a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData getTileWithMatrixSet(String collectionId, String itemId, String tileMatrixSetId, double z, + double x, double y, double scale, String format, String accept) { + // Generated convenience method for getTileWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTileWithMatrixSetWithResponse(collectionId, itemId, tileMatrixSetId, z, x, y, scale, format, accept, + requestOptions).getValue(); + } + + /** + * Tilejson + * + * Return Tilejson. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported (default: + * 'WebMercatorQuad'). + * @param tileFormat Default will be automatically defined if the output image needs a mask (png) or + * not (jpeg). + * @param tileScale Tile scale factor affecting output size. Values > 1 produce larger tiles (e.g., 1=256x256, + * 2=512x512). + * @param minzoom Overwrite default minzoom. + * @param maxzoom Overwrite default maxzoom. + * @param buffer Buffer on each side of the given tile. It must be a multiple of `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param resampling Resampling method. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TileJsonResponse getTileJson(String collectionId, String itemId, List assets, String expression, + List assetBidx, Boolean assetAsBand, Double nodata, Boolean unscale, Algorithm algorithm, + String algorithmParams, Tilematrixsetid tileMatrixSetId, ImageType tileFormat, Integer tileScale, + Integer minzoom, Integer maxzoom, String buffer, String colorFormula, Resampling resampling, + List rescale, ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for getTileJsonWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (tileMatrixSetId != null) { + requestOptions.addQueryParam("tileMatrixSetId", tileMatrixSetId.toString(), false); + } + if (tileFormat != null) { + requestOptions.addQueryParam("tile_format", tileFormat.toString(), false); + } + if (tileScale != null) { + requestOptions.addQueryParam("tile_scale", String.valueOf(tileScale), false); + } + if (minzoom != null) { + requestOptions.addQueryParam("minzoom", String.valueOf(minzoom), false); + } + if (maxzoom != null) { + requestOptions.addQueryParam("maxzoom", String.valueOf(maxzoom), false); + } + if (buffer != null) { + requestOptions.addQueryParam("buffer", buffer, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getTileJsonWithResponse(collectionId, itemId, requestOptions).getValue() + .toObject(TileJsonResponse.class); + } + + /** + * Tilejson + * + * Return Tilejson. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TileJsonResponse getTileJson(String collectionId, String itemId) { + // Generated convenience method for getTileJsonWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTileJsonWithResponse(collectionId, itemId, requestOptions).getValue() + .toObject(TileJsonResponse.class); + } + + /** + * Tilejson Tilematrixsetid As Path + * + * Return the Tilejson Tilematrixsetid As a path. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param tileFormat Default will be automatically defined if the output image needs a mask (png) or + * not (jpeg). + * @param tileScale Tile scale factor affecting output size. Values > 1 produce larger tiles (e.g., 1=256x256, + * 2=512x512). + * @param minzoom Overwrite default minzoom. + * @param maxzoom Overwrite default maxzoom. + * @param buffer Buffer on each side of the given tile. It must be a multiple of `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param resampling Resampling method. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TileJsonResponse getTileJsonWithMatrixSet(String collectionId, String itemId, String tileMatrixSetId, + List assets, String expression, List assetBidx, Boolean assetAsBand, Double nodata, + Boolean unscale, Algorithm algorithm, String algorithmParams, ImageType tileFormat, Integer tileScale, + Integer minzoom, Integer maxzoom, String buffer, String colorFormula, Resampling resampling, + List rescale, ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for getTileJsonWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (tileFormat != null) { + requestOptions.addQueryParam("tile_format", tileFormat.toString(), false); + } + if (tileScale != null) { + requestOptions.addQueryParam("tile_scale", String.valueOf(tileScale), false); + } + if (minzoom != null) { + requestOptions.addQueryParam("minzoom", String.valueOf(minzoom), false); + } + if (maxzoom != null) { + requestOptions.addQueryParam("maxzoom", String.valueOf(maxzoom), false); + } + if (buffer != null) { + requestOptions.addQueryParam("buffer", buffer, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getTileJsonWithMatrixSetWithResponse(collectionId, itemId, tileMatrixSetId, requestOptions).getValue() + .toObject(TileJsonResponse.class); + } + + /** + * Tilejson Tilematrixsetid As Path + * + * Return the Tilejson Tilematrixsetid As a path. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TileJsonResponse getTileJsonWithMatrixSet(String collectionId, String itemId, String tileMatrixSetId) { + // Generated convenience method for getTileJsonWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTileJsonWithMatrixSetWithResponse(collectionId, itemId, tileMatrixSetId, requestOptions).getValue() + .toObject(TileJsonResponse.class); + } + + /** + * Wmts + * + * OGC WMTS endpoint. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported (default: + * 'WebMercatorQuad'). + * @param tileFormat Output image type. Default is png. + * @param tileScale Tile scale factor affecting output size. Values > 1 produce larger tiles (e.g., 1=256x256, + * 2=512x512). + * @param minzoom Overwrite default minzoom. + * @param maxzoom Overwrite default maxzoom. + * @param buffer Buffer on each side of the given tile. It must be a multiple of `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param resampling Resampling method. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a sequence of textual characters. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public String getWmtsCapabilities(String collectionId, String itemId, List assets, String expression, + List assetBidx, Boolean assetAsBand, Double nodata, Boolean unscale, Algorithm algorithm, + String algorithmParams, Tilematrixsetid tileMatrixSetId, ImageType tileFormat, Integer tileScale, + Integer minzoom, Integer maxzoom, String buffer, String colorFormula, Resampling resampling, + List rescale, ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for getWmtsCapabilitiesWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (tileMatrixSetId != null) { + requestOptions.addQueryParam("tileMatrixSetId", tileMatrixSetId.toString(), false); + } + if (tileFormat != null) { + requestOptions.addQueryParam("tile_format", tileFormat.toString(), false); + } + if (tileScale != null) { + requestOptions.addQueryParam("tile_scale", String.valueOf(tileScale), false); + } + if (minzoom != null) { + requestOptions.addQueryParam("minzoom", String.valueOf(minzoom), false); + } + if (maxzoom != null) { + requestOptions.addQueryParam("maxzoom", String.valueOf(maxzoom), false); + } + if (buffer != null) { + requestOptions.addQueryParam("buffer", buffer, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getWmtsCapabilitiesWithResponse(collectionId, itemId, requestOptions).getValue().toObject(String.class); + } + + /** + * Wmts + * + * OGC WMTS endpoint. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a sequence of textual characters. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public String getWmtsCapabilities(String collectionId, String itemId) { + // Generated convenience method for getWmtsCapabilitiesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWmtsCapabilitiesWithResponse(collectionId, itemId, requestOptions).getValue().toObject(String.class); + } + + /** + * Wmts Tilematrixsetid As Path + * + * OGC WMTS endpoint. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param tileFormat Output image type. Default is png. + * @param tileScale Tile scale factor affecting output size. Values > 1 produce larger tiles (e.g., 1=256x256, + * 2=512x512). + * @param minzoom Overwrite default minzoom. + * @param maxzoom Overwrite default maxzoom. + * @param buffer Buffer on each side of the given tile. It must be a multiple of `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param resampling Resampling method. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a sequence of textual characters. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public String getWmtsCapabilitiesWithMatrixSet(String collectionId, String itemId, String tileMatrixSetId, + List assets, String expression, List assetBidx, Boolean assetAsBand, Double nodata, + Boolean unscale, Algorithm algorithm, String algorithmParams, ImageType tileFormat, Integer tileScale, + Integer minzoom, Integer maxzoom, String buffer, String colorFormula, Resampling resampling, + List rescale, ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for getWmtsCapabilitiesWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (tileFormat != null) { + requestOptions.addQueryParam("tile_format", tileFormat.toString(), false); + } + if (tileScale != null) { + requestOptions.addQueryParam("tile_scale", String.valueOf(tileScale), false); + } + if (minzoom != null) { + requestOptions.addQueryParam("minzoom", String.valueOf(minzoom), false); + } + if (maxzoom != null) { + requestOptions.addQueryParam("maxzoom", String.valueOf(maxzoom), false); + } + if (buffer != null) { + requestOptions.addQueryParam("buffer", buffer, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getWmtsCapabilitiesWithMatrixSetWithResponse(collectionId, itemId, tileMatrixSetId, requestOptions) + .getValue() + .toObject(String.class); + } + + /** + * Wmts Tilematrixsetid As Path + * + * OGC WMTS endpoint. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a sequence of textual characters. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public String getWmtsCapabilitiesWithMatrixSet(String collectionId, String itemId, String tileMatrixSetId) { + // Generated convenience method for getWmtsCapabilitiesWithMatrixSetWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWmtsCapabilitiesWithMatrixSetWithResponse(collectionId, itemId, tileMatrixSetId, requestOptions) + .getValue() + .toObject(String.class); + } + + /** + * Point + * + * Get Point value for a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param lon Longitude. + * @param lat Latitude. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param coordCrs Coordinate Reference System of the input coords. Default to `epsg:4326`. + * @param resampling Resampling method. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return point model. + * + * response model for `/point` endpointsResponse model for point query operations providing values at a specific + * location. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TitilerCoreModelsResponsesPoint getPoint(String collectionId, String itemId, double lon, double lat, + List assets, String expression, List assetBidx, Boolean assetAsBand, Double nodata, + Boolean unscale, String coordCrs, Resampling resampling) { + // Generated convenience method for getPointWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (coordCrs != null) { + requestOptions.addQueryParam("coord-crs", coordCrs, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + return getPointWithResponse(collectionId, itemId, lon, lat, requestOptions).getValue() + .toObject(TitilerCoreModelsResponsesPoint.class); + } + + /** + * Point + * + * Get Point value for a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param lon Longitude. + * @param lat Latitude. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return point model. + * + * response model for `/point` endpointsResponse model for point query operations providing values at a specific + * location. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TitilerCoreModelsResponsesPoint getPoint(String collectionId, String itemId, double lon, double lat) { + // Generated convenience method for getPointWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getPointWithResponse(collectionId, itemId, lon, lat, requestOptions).getValue() + .toObject(TitilerCoreModelsResponsesPoint.class); + } + + /** + * Preview + * + * Create preview of a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param accept The accept parameter. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param dstCrs Output Coordinate Reference System. + * @param resampling Resampling method. + * @param maxSize Image output size limit if width and height limits are not set. + * @param height Height in pixels for the output image. + * @param width Width in pixels for the output image. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData getPreview(String collectionId, String itemId, String accept, List assets, + String expression, List assetBidx, Boolean assetAsBand, Double nodata, Boolean unscale, + Algorithm algorithm, String algorithmParams, ImageType format, String colorFormula, String dstCrs, + Resampling resampling, Integer maxSize, Integer height, Integer width, List rescale, + ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for getPreviewWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (format != null) { + requestOptions.addQueryParam("format", format.toString(), false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (dstCrs != null) { + requestOptions.addQueryParam("dst-crs", dstCrs, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (maxSize != null) { + requestOptions.addQueryParam("max_size", String.valueOf(maxSize), false); + } + if (height != null) { + requestOptions.addQueryParam("height", String.valueOf(height), false); + } + if (width != null) { + requestOptions.addQueryParam("width", String.valueOf(width), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getPreviewWithResponse(collectionId, itemId, accept, requestOptions).getValue(); + } + + /** + * Preview + * + * Create preview of a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param accept The accept parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData getPreview(String collectionId, String itemId, String accept) { + // Generated convenience method for getPreviewWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getPreviewWithResponse(collectionId, itemId, accept, requestOptions).getValue(); + } + + /** + * Preview + * + * Create preview of a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept parameter. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param dstCrs Output Coordinate Reference System. + * @param resampling Resampling method. + * @param maxSize Image output size limit if width and height limits are not set. + * @param height Height in pixels for the output image. + * @param width Width in pixels for the output image. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData getPreviewWithFormat(String collectionId, String itemId, String format, String accept, + List assets, String expression, List assetBidx, Boolean assetAsBand, Double nodata, + Boolean unscale, Algorithm algorithm, String algorithmParams, String colorFormula, String dstCrs, + Resampling resampling, Integer maxSize, Integer height, Integer width, List rescale, + ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for getPreviewWithFormatWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (dstCrs != null) { + requestOptions.addQueryParam("dst-crs", dstCrs, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (maxSize != null) { + requestOptions.addQueryParam("max_size", String.valueOf(maxSize), false); + } + if (height != null) { + requestOptions.addQueryParam("height", String.valueOf(height), false); + } + if (width != null) { + requestOptions.addQueryParam("width", String.valueOf(width), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getPreviewWithFormatWithResponse(collectionId, itemId, format, accept, requestOptions).getValue(); + } + + /** + * Preview + * + * Create preview of a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData getPreviewWithFormat(String collectionId, String itemId, String format, String accept) { + // Generated convenience method for getPreviewWithFormatWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getPreviewWithFormatWithResponse(collectionId, itemId, format, accept, requestOptions).getValue(); + } + + /** + * Part + * + * Create image from part of a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param minx Bounding box min X. + * @param miny Bounding box min Y. + * @param maxx Bounding box max X. + * @param maxy Bounding box max Y. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept parameter. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param dstCrs Output Coordinate Reference System. + * @param coordCrs Coordinate Reference System of the input coords. Default to `epsg:4326`. + * @param resampling Resampling method. + * @param maxSize Image output size limit if width and height limits are not set. + * @param height Height in pixels for the output image. + * @param width Width in pixels for the output image. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData getPart(String collectionId, String itemId, double minx, double miny, double maxx, double maxy, + String format, String accept, List assets, String expression, List assetBidx, + Boolean assetAsBand, Double nodata, Boolean unscale, Algorithm algorithm, String algorithmParams, + String colorFormula, String dstCrs, String coordCrs, Resampling resampling, Integer maxSize, Integer height, + Integer width, List rescale, ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for getPartWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (dstCrs != null) { + requestOptions.addQueryParam("dst-crs", dstCrs, false); + } + if (coordCrs != null) { + requestOptions.addQueryParam("coord-crs", coordCrs, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (maxSize != null) { + requestOptions.addQueryParam("max_size", String.valueOf(maxSize), false); + } + if (height != null) { + requestOptions.addQueryParam("height", String.valueOf(height), false); + } + if (width != null) { + requestOptions.addQueryParam("width", String.valueOf(width), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getPartWithResponse(collectionId, itemId, minx, miny, maxx, maxy, format, accept, requestOptions) + .getValue(); + } + + /** + * Part + * + * Create image from part of a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param minx Bounding box min X. + * @param miny Bounding box min Y. + * @param maxx Bounding box max X. + * @param maxy Bounding box max Y. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData getPart(String collectionId, String itemId, double minx, double miny, double maxx, double maxy, + String format, String accept) { + // Generated convenience method for getPartWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getPartWithResponse(collectionId, itemId, minx, miny, maxx, maxy, format, accept, requestOptions) + .getValue(); + } + + /** + * Part + * + * Create image from part of a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param minx Bounding box min X. + * @param miny Bounding box min Y. + * @param maxx Bounding box max X. + * @param maxy Bounding box max Y. + * @param width Width in pixels for the output image. + * @param height Height in pixels for the output image. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept parameter. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param dstCrs Output Coordinate Reference System. + * @param coordCrs Coordinate Reference System of the input coords. Default to `epsg:4326`. + * @param resampling Resampling method. + * @param maxSize Image output size limit if width and height limits are not set. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData getPartWithDimensions(String collectionId, String itemId, double minx, double miny, double maxx, + double maxy, double width, double height, String format, String accept, List assets, String expression, + List assetBidx, Boolean assetAsBand, Double nodata, Boolean unscale, Algorithm algorithm, + String algorithmParams, String colorFormula, String dstCrs, String coordCrs, Resampling resampling, + Integer maxSize, List rescale, ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for getPartWithDimensionsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (dstCrs != null) { + requestOptions.addQueryParam("dst-crs", dstCrs, false); + } + if (coordCrs != null) { + requestOptions.addQueryParam("coord-crs", coordCrs, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (maxSize != null) { + requestOptions.addQueryParam("max_size", String.valueOf(maxSize), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return getPartWithDimensionsWithResponse(collectionId, itemId, minx, miny, maxx, maxy, width, height, format, + accept, requestOptions).getValue(); + } + + /** + * Part + * + * Create image from part of a dataset. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param minx Bounding box min X. + * @param miny Bounding box min Y. + * @param maxx Bounding box max X. + * @param maxy Bounding box max Y. + * @param width Width in pixels for the output image. + * @param height Height in pixels for the output image. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData getPartWithDimensions(String collectionId, String itemId, double minx, double miny, double maxx, + double maxy, double width, double height, String format, String accept) { + // Generated convenience method for getPartWithDimensionsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getPartWithDimensionsWithResponse(collectionId, itemId, minx, miny, maxx, maxy, width, height, format, + accept, requestOptions).getValue(); + } + + /** + * Geojson Crop + * + * Create image from a geojson feature. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept parameter. + * @param body Request GeoJson body. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param coordCrs Coordinate Reference System of the input coords. Default to `epsg:4326`. + * @param resampling Resampling method. + * @param maxSize Image output size limit if width and height limits are not set. + * @param height Height in pixels for the output image. + * @param width Width in pixels for the output image. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData cropGeoJson(String collectionId, String itemId, String format, String accept, Geometry body, + List assets, String expression, List assetBidx, Boolean assetAsBand, Double nodata, + Boolean unscale, Algorithm algorithm, String algorithmParams, String colorFormula, String coordCrs, + Resampling resampling, Integer maxSize, Integer height, Integer width, List rescale, + ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for cropGeoJsonWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (coordCrs != null) { + requestOptions.addQueryParam("coord-crs", coordCrs, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (maxSize != null) { + requestOptions.addQueryParam("max_size", String.valueOf(maxSize), false); + } + if (height != null) { + requestOptions.addQueryParam("height", String.valueOf(height), false); + } + if (width != null) { + requestOptions.addQueryParam("width", String.valueOf(width), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return cropGeoJsonWithResponse(collectionId, itemId, format, accept, BinaryData.fromObject(body), + requestOptions).getValue(); + } + + /** + * Geojson Crop + * + * Create image from a geojson feature. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept parameter. + * @param body Request GeoJson body. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData cropGeoJson(String collectionId, String itemId, String format, String accept, Geometry body) { + // Generated convenience method for cropGeoJsonWithResponse + RequestOptions requestOptions = new RequestOptions(); + return cropGeoJsonWithResponse(collectionId, itemId, format, accept, BinaryData.fromObject(body), + requestOptions).getValue(); + } + + /** + * Geojson Crop + * + * Create image from a geojson feature. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param width Width in pixels for the output image. + * @param height Height in pixels for the output image. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept parameter. + * @param body Request GeoJson body. + * @param assets Asset's names. + * @param expression Band math expression between assets. + * @param assetBidx Per asset band indexes (coma separated indexes). + * @param assetAsBand Asset as Band. + * @param nodata Overwrite internal Nodata value. + * @param unscale Apply internal Scale or Offset. + * @param algorithm Algorithm name. + * @param algorithmParams Algorithm parameter. + * @param colorFormula rio-color formula (info: https://github.com/mapbox/rio-color). + * @param coordCrs Coordinate Reference System of the input coords. Default to `epsg:4326`. + * @param resampling Resampling method. + * @param maxSize Image output size limit if width and height limits are not set. + * @param rescale comma (',') delimited Min,Max range. Can set multiple time for multiple bands. + * @param colormapName Colormap name. + * @param colormap JSON encoded custom Colormap. + * @param returnMask Add mask to the output data. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData cropGeoJsonWithDimensions(String collectionId, String itemId, double width, double height, + String format, String accept, StacItemModel body, List assets, String expression, + List assetBidx, Boolean assetAsBand, Double nodata, Boolean unscale, Algorithm algorithm, + String algorithmParams, String colorFormula, String coordCrs, Resampling resampling, Integer maxSize, + List rescale, ColorMapNames colormapName, String colormap, Boolean returnMask) { + // Generated convenience method for cropGeoJsonWithDimensionsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (assets != null) { + for (String paramItemValue : assets) { + if (paramItemValue != null) { + requestOptions.addQueryParam("assets", paramItemValue, false); + } + } + } + if (expression != null) { + requestOptions.addQueryParam("expression", expression, false); + } + if (assetBidx != null) { + requestOptions.addQueryParam("asset_bidx", + assetBidx.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (assetAsBand != null) { + requestOptions.addQueryParam("asset_as_band", String.valueOf(assetAsBand), false); + } + if (nodata != null) { + requestOptions.addQueryParam("nodata", String.valueOf(nodata), false); + } + if (unscale != null) { + requestOptions.addQueryParam("unscale", String.valueOf(unscale), false); + } + if (algorithm != null) { + requestOptions.addQueryParam("algorithm", algorithm.toString(), false); + } + if (algorithmParams != null) { + requestOptions.addQueryParam("algorithm_params", algorithmParams, false); + } + if (colorFormula != null) { + requestOptions.addQueryParam("color_formula", colorFormula, false); + } + if (coordCrs != null) { + requestOptions.addQueryParam("coord-crs", coordCrs, false); + } + if (resampling != null) { + requestOptions.addQueryParam("resampling", resampling.toString(), false); + } + if (maxSize != null) { + requestOptions.addQueryParam("max_size", String.valueOf(maxSize), false); + } + if (rescale != null) { + for (String paramItemValue : rescale) { + if (paramItemValue != null) { + requestOptions.addQueryParam("rescale", paramItemValue, false); + } + } + } + if (colormapName != null) { + requestOptions.addQueryParam("colormap_name", colormapName.toString(), false); + } + if (colormap != null) { + requestOptions.addQueryParam("colormap", colormap, false); + } + if (returnMask != null) { + requestOptions.addQueryParam("return_mask", String.valueOf(returnMask), false); + } + return cropGeoJsonWithDimensionsWithResponse(collectionId, itemId, width, height, format, accept, + BinaryData.fromObject(body), requestOptions).getValue(); + } + + /** + * Geojson Crop + * + * Create image from a geojson feature. + * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param width Width in pixels for the output image. + * @param height Height in pixels for the output image. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept parameter. + * @param body Request GeoJson body. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData cropGeoJsonWithDimensions(String collectionId, String itemId, double width, double height, + String format, String accept, StacItemModel body) { + // Generated convenience method for cropGeoJsonWithDimensionsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return cropGeoJsonWithDimensionsWithResponse(collectionId, itemId, width, height, format, accept, + BinaryData.fromObject(body), requestOptions).getValue(); + } + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_STRING = new TypeReference>() { + }; +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacItemTilerClientBuilder.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacItemTilerClientBuilder.java new file mode 100644 index 000000000000..8fbd44580c96 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/StacItemTilerClientBuilder.java @@ -0,0 +1,333 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ServiceClientBuilder; +import com.azure.core.client.traits.ConfigurationTrait; +import com.azure.core.client.traits.EndpointTrait; +import com.azure.core.client.traits.HttpTrait; +import com.azure.core.client.traits.TokenCredentialTrait; +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.AddDatePolicy; +import com.azure.core.http.policy.AddHeadersFromContextPolicy; +import com.azure.core.http.policy.AddHeadersPolicy; +import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; +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.RequestIdPolicy; +import com.azure.core.http.policy.RetryOptions; +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.builder.ClientBuilderUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.planetarycomputer.implementation.StacItemTilerClientImpl; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** + * A builder for creating a new instance of the StacItemTilerClient type. + */ +@ServiceClientBuilder(serviceClients = { StacItemTilerClient.class, StacItemTilerAsyncClient.class }) +public final class StacItemTilerClientBuilder + implements HttpTrait, ConfigurationTrait, + TokenCredentialTrait, EndpointTrait { + @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://geocatalog.spatio.azure.com/.default" }; + + @Generated + private static final Map PROPERTIES = CoreUtils.getProperties("azure-planetarycomputer.properties"); + + @Generated + private final List pipelinePolicies; + + /** + * Create an instance of the StacItemTilerClientBuilder. + */ + @Generated + public StacItemTilerClientBuilder() { + this.pipelinePolicies = new ArrayList<>(); + } + + /* + * The HTTP client used to send the request. + */ + @Generated + private HttpClient httpClient; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacItemTilerClientBuilder httpClient(HttpClient httpClient) { + this.httpClient = httpClient; + return this; + } + + /* + * The HTTP pipeline to send requests through. + */ + @Generated + private HttpPipeline pipeline; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacItemTilerClientBuilder pipeline(HttpPipeline pipeline) { + if (this.pipeline != null && pipeline == null) { + LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured."); + } + this.pipeline = pipeline; + return this; + } + + /* + * The logging configuration for HTTP requests and responses. + */ + @Generated + private HttpLogOptions httpLogOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacItemTilerClientBuilder httpLogOptions(HttpLogOptions httpLogOptions) { + this.httpLogOptions = httpLogOptions; + return this; + } + + /* + * The client options such as application ID and custom headers to set on a request. + */ + @Generated + private ClientOptions clientOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacItemTilerClientBuilder clientOptions(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + return this; + } + + /* + * The retry options to configure retry policy for failed requests. + */ + @Generated + private RetryOptions retryOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacItemTilerClientBuilder retryOptions(RetryOptions retryOptions) { + this.retryOptions = retryOptions; + return this; + } + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacItemTilerClientBuilder addPolicy(HttpPipelinePolicy customPolicy) { + Objects.requireNonNull(customPolicy, "'customPolicy' cannot be null."); + pipelinePolicies.add(customPolicy); + return this; + } + + /* + * The configuration store that is used during construction of the service client. + */ + @Generated + private Configuration configuration; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacItemTilerClientBuilder configuration(Configuration configuration) { + this.configuration = configuration; + return this; + } + + /* + * The TokenCredential used for authentication. + */ + @Generated + private TokenCredential tokenCredential; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacItemTilerClientBuilder credential(TokenCredential tokenCredential) { + this.tokenCredential = tokenCredential; + return this; + } + + /* + * The service endpoint + */ + @Generated + private String endpoint; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public StacItemTilerClientBuilder endpoint(String endpoint) { + this.endpoint = endpoint; + return this; + } + + /* + * Service version + */ + @Generated + private PlanetaryComputerServiceVersion serviceVersion; + + /** + * Sets Service version. + * + * @param serviceVersion the serviceVersion value. + * @return the StacItemTilerClientBuilder. + */ + @Generated + public StacItemTilerClientBuilder serviceVersion(PlanetaryComputerServiceVersion serviceVersion) { + this.serviceVersion = serviceVersion; + 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 StacItemTilerClientBuilder. + */ + @Generated + public StacItemTilerClientBuilder retryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = retryPolicy; + return this; + } + + /** + * Builds an instance of StacItemTilerClientImpl with the provided parameters. + * + * @return an instance of StacItemTilerClientImpl. + */ + @Generated + private StacItemTilerClientImpl buildInnerClient() { + this.validateClient(); + HttpPipeline localPipeline = (pipeline != null) ? pipeline : createHttpPipeline(); + PlanetaryComputerServiceVersion localServiceVersion + = (serviceVersion != null) ? serviceVersion : PlanetaryComputerServiceVersion.getLatest(); + StacItemTilerClientImpl client = new StacItemTilerClientImpl(localPipeline, + JacksonAdapter.createDefaultSerializerAdapter(), this.endpoint, localServiceVersion); + return client; + } + + @Generated + private void validateClient() { + // This method is invoked from 'buildInnerClient'/'buildClient' method. + // Developer can customize this method, to validate that the necessary conditions are met for the new client. + Objects.requireNonNull(endpoint, "'endpoint' cannot be null."); + } + + @Generated + private HttpPipeline createHttpPipeline() { + Configuration buildConfiguration + = (configuration == null) ? Configuration.getGlobalConfiguration() : configuration; + HttpLogOptions localHttpLogOptions = this.httpLogOptions == null ? new HttpLogOptions() : this.httpLogOptions; + ClientOptions localClientOptions = this.clientOptions == null ? new ClientOptions() : this.clientOptions; + List policies = new ArrayList<>(); + String clientName = PROPERTIES.getOrDefault(SDK_NAME, "UnknownName"); + String clientVersion = PROPERTIES.getOrDefault(SDK_VERSION, "UnknownVersion"); + String applicationId = CoreUtils.getApplicationId(localClientOptions, localHttpLogOptions); + policies.add(new UserAgentPolicy(applicationId, clientName, clientVersion, buildConfiguration)); + policies.add(new RequestIdPolicy()); + policies.add(new AddHeadersFromContextPolicy()); + HttpHeaders headers = CoreUtils.createHttpHeadersFromClientOptions(localClientOptions); + if (headers != null) { + policies.add(new AddHeadersPolicy(headers)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addBeforeRetryPolicies(policies); + policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy())); + policies.add(new AddDatePolicy()); + if (tokenCredential != null) { + policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addAfterRetryPolicies(policies); + policies.add(new HttpLoggingPolicy(localHttpLogOptions)); + HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0])) + .httpClient(httpClient) + .clientOptions(localClientOptions) + .build(); + return httpPipeline; + } + + /** + * Builds an instance of StacItemTilerAsyncClient class. + * + * @return an instance of StacItemTilerAsyncClient. + */ + @Generated + public StacItemTilerAsyncClient buildAsyncClient() { + return new StacItemTilerAsyncClient(buildInnerClient()); + } + + /** + * Builds an instance of StacItemTilerClient class. + * + * @return an instance of StacItemTilerClient. + */ + @Generated + public StacItemTilerClient buildClient() { + return new StacItemTilerClient(buildInnerClient()); + } + + private static final ClientLogger LOGGER = new ClientLogger(StacItemTilerClientBuilder.class); +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/TileMatrixSetsAsyncClient.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/TileMatrixSetsAsyncClient.java new file mode 100644 index 000000000000..aa0e2bf4c282 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/TileMatrixSetsAsyncClient.java @@ -0,0 +1,209 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +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.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.serializer.TypeReference; +import com.azure.planetarycomputer.implementation.TileMatrixSetsClientImpl; +import com.azure.planetarycomputer.models.TileMatrixSet; +import java.util.List; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the asynchronous TileMatrixSetsClient type. + */ +@ServiceClient(builder = TileMatrixSetsClientBuilder.class, isAsync = true) +public final class TileMatrixSetsAsyncClient { + @Generated + private final TileMatrixSetsClientImpl serviceClient; + + /** + * Initializes an instance of TileMatrixSetsAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + TileMatrixSetsAsyncClient(TileMatrixSetsClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Matrix List + * + * Return Matrix List. + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+     * 
+ * + * @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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTileMatrixListWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getTileMatrixListWithResponseAsync(requestOptions); + } + + /** + * Matrix Definition + * + * Return Matrix Definition. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     title: String (Optional)
+     *     description: String (Optional)
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Optional)
+     *     uri: String (Optional)
+     *     orderedAxes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     crs: String (Required)
+     *     wellKnownScaleSet: String (Optional)
+     *     boundingBox (Optional): {
+     *         lowerLeft (Required): [
+     *             String (Required)
+     *         ]
+     *         upperRight (Required): [
+     *             String (Required)
+     *         ]
+     *         crs: String (Optional)
+     *         orderedAxes (Optional): [
+     *             String (Optional)
+     *         ]
+     *     }
+     *     tileMatrices (Required): [
+     *          (Required){
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             keywords (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             id: String (Required)
+     *             scaleDenominator: double (Required)
+     *             cellSize: double (Required)
+     *             cornerOfOrigin: String(topLeft/bottomLeft) (Optional)
+     *             pointOfOrigin (Required): [
+     *                 double (Required)
+     *             ]
+     *             tileWidth: int (Required)
+     *             tileHeight: int (Required)
+     *             matrixWidth: int (Required)
+     *             matrixHeight: int (Required)
+     *             variableMatrixWidths (Optional): [
+     *                  (Optional){
+     *                     coalesce: int (Required)
+     *                     minTileRow: int (Required)
+     *                     maxTileRow: int (Required)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @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 https://github.com/opengeospatial/2D-Tile-Matrix-Set/blob/master/schemas/tms/2.0/json/tileMatrixSet.json + * + * A definition of a tile matrix set following the Tile Matrix Set standard. + * For tileset metadata, such a description (in `tileMatrixSet` property) is only + * required for offline use, + * as an alternative to a link with a + * `http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme` relation type along with {@link Response} on successful + * completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTileMatrixDefinitionsWithResponse(String tileMatrixSetId, + RequestOptions requestOptions) { + return this.serviceClient.getTileMatrixDefinitionsWithResponseAsync(tileMatrixSetId, requestOptions); + } + + /** + * Matrix List + * + * Return Matrix List. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTileMatrixList() { + // Generated convenience method for getTileMatrixListWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTileMatrixListWithResponse(requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_STRING)); + } + + /** + * Matrix Definition + * + * Return Matrix Definition. + * + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return https://github.com/opengeospatial/2D-Tile-Matrix-Set/blob/master/schemas/tms/2.0/json/tileMatrixSet.json + * + * A definition of a tile matrix set following the Tile Matrix Set standard. + * For tileset metadata, such a description (in `tileMatrixSet` property) is only + * required for offline use, + * as an alternative to a link with a + * `http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme` relation type on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTileMatrixDefinitions(String tileMatrixSetId) { + // Generated convenience method for getTileMatrixDefinitionsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTileMatrixDefinitionsWithResponse(tileMatrixSetId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TileMatrixSet.class)); + } + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_STRING = new TypeReference>() { + }; +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/TileMatrixSetsClient.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/TileMatrixSetsClient.java new file mode 100644 index 000000000000..5504b3cc3f17 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/TileMatrixSetsClient.java @@ -0,0 +1,205 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +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.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.serializer.TypeReference; +import com.azure.planetarycomputer.implementation.TileMatrixSetsClientImpl; +import com.azure.planetarycomputer.models.TileMatrixSet; +import java.util.List; + +/** + * Initializes a new instance of the synchronous TileMatrixSetsClient type. + */ +@ServiceClient(builder = TileMatrixSetsClientBuilder.class) +public final class TileMatrixSetsClient { + @Generated + private final TileMatrixSetsClientImpl serviceClient; + + /** + * Initializes an instance of TileMatrixSetsClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + TileMatrixSetsClient(TileMatrixSetsClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Matrix List + * + * Return Matrix List. + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+     * 
+ * + * @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 body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTileMatrixListWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getTileMatrixListWithResponse(requestOptions); + } + + /** + * Matrix Definition + * + * Return Matrix Definition. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     title: String (Optional)
+     *     description: String (Optional)
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Optional)
+     *     uri: String (Optional)
+     *     orderedAxes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     crs: String (Required)
+     *     wellKnownScaleSet: String (Optional)
+     *     boundingBox (Optional): {
+     *         lowerLeft (Required): [
+     *             String (Required)
+     *         ]
+     *         upperRight (Required): [
+     *             String (Required)
+     *         ]
+     *         crs: String (Optional)
+     *         orderedAxes (Optional): [
+     *             String (Optional)
+     *         ]
+     *     }
+     *     tileMatrices (Required): [
+     *          (Required){
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             keywords (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             id: String (Required)
+     *             scaleDenominator: double (Required)
+     *             cellSize: double (Required)
+     *             cornerOfOrigin: String(topLeft/bottomLeft) (Optional)
+     *             pointOfOrigin (Required): [
+     *                 double (Required)
+     *             ]
+     *             tileWidth: int (Required)
+     *             tileHeight: int (Required)
+     *             matrixWidth: int (Required)
+     *             matrixHeight: int (Required)
+     *             variableMatrixWidths (Optional): [
+     *                  (Optional){
+     *                     coalesce: int (Required)
+     *                     minTileRow: int (Required)
+     *                     maxTileRow: int (Required)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @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 https://github.com/opengeospatial/2D-Tile-Matrix-Set/blob/master/schemas/tms/2.0/json/tileMatrixSet.json + * + * A definition of a tile matrix set following the Tile Matrix Set standard. + * For tileset metadata, such a description (in `tileMatrixSet` property) is only + * required for offline use, + * as an alternative to a link with a + * `http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme` relation type along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTileMatrixDefinitionsWithResponse(String tileMatrixSetId, + RequestOptions requestOptions) { + return this.serviceClient.getTileMatrixDefinitionsWithResponse(tileMatrixSetId, requestOptions); + } + + /** + * Matrix List + * + * Return Matrix List. + * + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getTileMatrixList() { + // Generated convenience method for getTileMatrixListWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTileMatrixListWithResponse(requestOptions).getValue().toObject(TYPE_REFERENCE_LIST_STRING); + } + + /** + * Matrix Definition + * + * Return Matrix Definition. + * + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @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. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return https://github.com/opengeospatial/2D-Tile-Matrix-Set/blob/master/schemas/tms/2.0/json/tileMatrixSet.json + * + * A definition of a tile matrix set following the Tile Matrix Set standard. + * For tileset metadata, such a description (in `tileMatrixSet` property) is only + * required for offline use, + * as an alternative to a link with a + * `http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme` relation type. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TileMatrixSet getTileMatrixDefinitions(String tileMatrixSetId) { + // Generated convenience method for getTileMatrixDefinitionsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTileMatrixDefinitionsWithResponse(tileMatrixSetId, requestOptions).getValue() + .toObject(TileMatrixSet.class); + } + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_STRING = new TypeReference>() { + }; +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/TileMatrixSetsClientBuilder.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/TileMatrixSetsClientBuilder.java new file mode 100644 index 000000000000..9979f128d627 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/TileMatrixSetsClientBuilder.java @@ -0,0 +1,333 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ServiceClientBuilder; +import com.azure.core.client.traits.ConfigurationTrait; +import com.azure.core.client.traits.EndpointTrait; +import com.azure.core.client.traits.HttpTrait; +import com.azure.core.client.traits.TokenCredentialTrait; +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.AddDatePolicy; +import com.azure.core.http.policy.AddHeadersFromContextPolicy; +import com.azure.core.http.policy.AddHeadersPolicy; +import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; +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.RequestIdPolicy; +import com.azure.core.http.policy.RetryOptions; +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.builder.ClientBuilderUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.planetarycomputer.implementation.TileMatrixSetsClientImpl; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** + * A builder for creating a new instance of the TileMatrixSetsClient type. + */ +@ServiceClientBuilder(serviceClients = { TileMatrixSetsClient.class, TileMatrixSetsAsyncClient.class }) +public final class TileMatrixSetsClientBuilder + implements HttpTrait, ConfigurationTrait, + TokenCredentialTrait, EndpointTrait { + @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://geocatalog.spatio.azure.com/.default" }; + + @Generated + private static final Map PROPERTIES = CoreUtils.getProperties("azure-planetarycomputer.properties"); + + @Generated + private final List pipelinePolicies; + + /** + * Create an instance of the TileMatrixSetsClientBuilder. + */ + @Generated + public TileMatrixSetsClientBuilder() { + this.pipelinePolicies = new ArrayList<>(); + } + + /* + * The HTTP client used to send the request. + */ + @Generated + private HttpClient httpClient; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public TileMatrixSetsClientBuilder httpClient(HttpClient httpClient) { + this.httpClient = httpClient; + return this; + } + + /* + * The HTTP pipeline to send requests through. + */ + @Generated + private HttpPipeline pipeline; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public TileMatrixSetsClientBuilder pipeline(HttpPipeline pipeline) { + if (this.pipeline != null && pipeline == null) { + LOGGER.atInfo().log("HttpPipeline is being set to 'null' when it was previously configured."); + } + this.pipeline = pipeline; + return this; + } + + /* + * The logging configuration for HTTP requests and responses. + */ + @Generated + private HttpLogOptions httpLogOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public TileMatrixSetsClientBuilder httpLogOptions(HttpLogOptions httpLogOptions) { + this.httpLogOptions = httpLogOptions; + return this; + } + + /* + * The client options such as application ID and custom headers to set on a request. + */ + @Generated + private ClientOptions clientOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public TileMatrixSetsClientBuilder clientOptions(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + return this; + } + + /* + * The retry options to configure retry policy for failed requests. + */ + @Generated + private RetryOptions retryOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public TileMatrixSetsClientBuilder retryOptions(RetryOptions retryOptions) { + this.retryOptions = retryOptions; + return this; + } + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public TileMatrixSetsClientBuilder addPolicy(HttpPipelinePolicy customPolicy) { + Objects.requireNonNull(customPolicy, "'customPolicy' cannot be null."); + pipelinePolicies.add(customPolicy); + return this; + } + + /* + * The configuration store that is used during construction of the service client. + */ + @Generated + private Configuration configuration; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public TileMatrixSetsClientBuilder configuration(Configuration configuration) { + this.configuration = configuration; + return this; + } + + /* + * The TokenCredential used for authentication. + */ + @Generated + private TokenCredential tokenCredential; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public TileMatrixSetsClientBuilder credential(TokenCredential tokenCredential) { + this.tokenCredential = tokenCredential; + return this; + } + + /* + * The service endpoint + */ + @Generated + private String endpoint; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public TileMatrixSetsClientBuilder endpoint(String endpoint) { + this.endpoint = endpoint; + return this; + } + + /* + * Service version + */ + @Generated + private PlanetaryComputerServiceVersion serviceVersion; + + /** + * Sets Service version. + * + * @param serviceVersion the serviceVersion value. + * @return the TileMatrixSetsClientBuilder. + */ + @Generated + public TileMatrixSetsClientBuilder serviceVersion(PlanetaryComputerServiceVersion serviceVersion) { + this.serviceVersion = serviceVersion; + 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 TileMatrixSetsClientBuilder. + */ + @Generated + public TileMatrixSetsClientBuilder retryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = retryPolicy; + return this; + } + + /** + * Builds an instance of TileMatrixSetsClientImpl with the provided parameters. + * + * @return an instance of TileMatrixSetsClientImpl. + */ + @Generated + private TileMatrixSetsClientImpl buildInnerClient() { + this.validateClient(); + HttpPipeline localPipeline = (pipeline != null) ? pipeline : createHttpPipeline(); + PlanetaryComputerServiceVersion localServiceVersion + = (serviceVersion != null) ? serviceVersion : PlanetaryComputerServiceVersion.getLatest(); + TileMatrixSetsClientImpl client = new TileMatrixSetsClientImpl(localPipeline, + JacksonAdapter.createDefaultSerializerAdapter(), this.endpoint, localServiceVersion); + return client; + } + + @Generated + private void validateClient() { + // This method is invoked from 'buildInnerClient'/'buildClient' method. + // Developer can customize this method, to validate that the necessary conditions are met for the new client. + Objects.requireNonNull(endpoint, "'endpoint' cannot be null."); + } + + @Generated + private HttpPipeline createHttpPipeline() { + Configuration buildConfiguration + = (configuration == null) ? Configuration.getGlobalConfiguration() : configuration; + HttpLogOptions localHttpLogOptions = this.httpLogOptions == null ? new HttpLogOptions() : this.httpLogOptions; + ClientOptions localClientOptions = this.clientOptions == null ? new ClientOptions() : this.clientOptions; + List policies = new ArrayList<>(); + String clientName = PROPERTIES.getOrDefault(SDK_NAME, "UnknownName"); + String clientVersion = PROPERTIES.getOrDefault(SDK_VERSION, "UnknownVersion"); + String applicationId = CoreUtils.getApplicationId(localClientOptions, localHttpLogOptions); + policies.add(new UserAgentPolicy(applicationId, clientName, clientVersion, buildConfiguration)); + policies.add(new RequestIdPolicy()); + policies.add(new AddHeadersFromContextPolicy()); + HttpHeaders headers = CoreUtils.createHttpHeadersFromClientOptions(localClientOptions); + if (headers != null) { + policies.add(new AddHeadersPolicy(headers)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addBeforeRetryPolicies(policies); + policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy())); + policies.add(new AddDatePolicy()); + if (tokenCredential != null) { + policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addAfterRetryPolicies(policies); + policies.add(new HttpLoggingPolicy(localHttpLogOptions)); + HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0])) + .httpClient(httpClient) + .clientOptions(localClientOptions) + .build(); + return httpPipeline; + } + + /** + * Builds an instance of TileMatrixSetsAsyncClient class. + * + * @return an instance of TileMatrixSetsAsyncClient. + */ + @Generated + public TileMatrixSetsAsyncClient buildAsyncClient() { + return new TileMatrixSetsAsyncClient(buildInnerClient()); + } + + /** + * Builds an instance of TileMatrixSetsClient class. + * + * @return an instance of TileMatrixSetsClient. + */ + @Generated + public TileMatrixSetsClient buildClient() { + return new TileMatrixSetsClient(buildInnerClient()); + } + + private static final ClientLogger LOGGER = new ClientLogger(TileMatrixSetsClientBuilder.class); +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/ingestionruns/models/IngestionRun.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/ingestionruns/models/IngestionRun.java new file mode 100644 index 000000000000..0cb58ba6562f --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/ingestionruns/models/IngestionRun.java @@ -0,0 +1,218 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.com.azure.planetarycomputer.ingestionruns.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.core.util.CoreUtils; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.time.format.DateTimeFormatter; + +/** + * Microsoft Planetary Computer Pro geo-catalog ingestion run. + */ +@Immutable +public final class IngestionRun implements JsonSerializable { + /* + * Run id + */ + @Generated + private final String id; + + /* + * Run id which this run is associated to because it has been retried or rerun + */ + @Generated + private String parentRunId; + + /* + * Operation + */ + @Generated + private final IngestionRunOperation operation; + + /* + * Creation time + */ + @Generated + private final OffsetDateTime creationTime; + + /* + * URL of the source catalog + */ + @Generated + private String sourceCatalogUrl; + + /* + * Skip any item that already exist in the GeoCatalog + */ + @Generated + private Boolean skipExistingItems; + + /* + * Keep original source assets + */ + @Generated + private Boolean keepOriginalAssets; + + /** + * Creates an instance of IngestionRun class. + * + * @param id the id value to set. + * @param operation the operation value to set. + * @param creationTime the creationTime value to set. + */ + @Generated + private IngestionRun(String id, IngestionRunOperation operation, OffsetDateTime creationTime) { + this.id = id; + this.operation = operation; + this.creationTime = creationTime; + } + + /** + * Get the id property: Run id. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the parentRunId property: Run id which this run is associated to because it has been retried or rerun. + * + * @return the parentRunId value. + */ + @Generated + public String getParentRunId() { + return this.parentRunId; + } + + /** + * Get the operation property: Operation. + * + * @return the operation value. + */ + @Generated + public IngestionRunOperation getOperation() { + return this.operation; + } + + /** + * Get the creationTime property: Creation time. + * + * @return the creationTime value. + */ + @Generated + public OffsetDateTime getCreationTime() { + return this.creationTime; + } + + /** + * Get the sourceCatalogUrl property: URL of the source catalog. + * + * @return the sourceCatalogUrl value. + */ + @Generated + public String getSourceCatalogUrl() { + return this.sourceCatalogUrl; + } + + /** + * Get the skipExistingItems property: Skip any item that already exist in the GeoCatalog. + * + * @return the skipExistingItems value. + */ + @Generated + public Boolean isSkipExistingItems() { + return this.skipExistingItems; + } + + /** + * Get the keepOriginalAssets property: Keep original source assets. + * + * @return the keepOriginalAssets value. + */ + @Generated + public Boolean isKeepOriginalAssets() { + return this.keepOriginalAssets; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeJsonField("operation", this.operation); + jsonWriter.writeStringField("creationTime", + this.creationTime == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.creationTime)); + jsonWriter.writeStringField("parentRunId", this.parentRunId); + jsonWriter.writeStringField("sourceCatalogUrl", this.sourceCatalogUrl); + jsonWriter.writeBooleanField("skipExistingItems", this.skipExistingItems); + jsonWriter.writeBooleanField("keepOriginalAssets", this.keepOriginalAssets); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of IngestionRun from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of IngestionRun if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the IngestionRun. + */ + @Generated + public static IngestionRun fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + IngestionRunOperation operation = null; + OffsetDateTime creationTime = null; + String parentRunId = null; + String sourceCatalogUrl = null; + Boolean skipExistingItems = null; + Boolean keepOriginalAssets = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("operation".equals(fieldName)) { + operation = IngestionRunOperation.fromJson(reader); + } else if ("creationTime".equals(fieldName)) { + creationTime = reader + .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString())); + } else if ("parentRunId".equals(fieldName)) { + parentRunId = reader.getString(); + } else if ("sourceCatalogUrl".equals(fieldName)) { + sourceCatalogUrl = reader.getString(); + } else if ("skipExistingItems".equals(fieldName)) { + skipExistingItems = reader.getNullable(JsonReader::getBoolean); + } else if ("keepOriginalAssets".equals(fieldName)) { + keepOriginalAssets = reader.getNullable(JsonReader::getBoolean); + } else { + reader.skipChildren(); + } + } + IngestionRun deserializedIngestionRun = new IngestionRun(id, operation, creationTime); + deserializedIngestionRun.parentRunId = parentRunId; + deserializedIngestionRun.sourceCatalogUrl = sourceCatalogUrl; + deserializedIngestionRun.skipExistingItems = skipExistingItems; + deserializedIngestionRun.keepOriginalAssets = keepOriginalAssets; + + return deserializedIngestionRun; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/ingestionruns/models/IngestionRunOperation.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/ingestionruns/models/IngestionRunOperation.java new file mode 100644 index 000000000000..e489abb90090 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/ingestionruns/models/IngestionRunOperation.java @@ -0,0 +1,296 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.com.azure.planetarycomputer.ingestionruns.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.core.util.CoreUtils; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.azure.planetarycomputer.models.OperationStatus; +import com.azure.planetarycomputer.models.OperationStatusHistoryItem; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.time.format.DateTimeFormatter; +import java.util.List; + +/** + * Microsoft Planetary Computer Pro geo-catalog ingestion run operation. + */ +@Immutable +public final class IngestionRunOperation implements JsonSerializable { + /* + * Operation id + */ + @Generated + private final String id; + + /* + * Operation status + */ + @Generated + private final OperationStatus status; + + /* + * The UTC time at which the operation was created + */ + @Generated + private final OffsetDateTime creationTime; + + /* + * The history of the operation status in time + */ + @Generated + private final List statusHistory; + + /* + * The UTC time at which the operation was started + */ + @Generated + private OffsetDateTime startTime; + + /* + * The UTC time at which the operation finished its execution + */ + @Generated + private OffsetDateTime finishTime; + + /* + * The number of total items to be processed + */ + @Generated + private final int totalItems; + + /* + * The number of items pending to be processed + */ + @Generated + private final int totalPendingItems; + + /* + * The number of items successfully processed + */ + @Generated + private final int totalSuccessfulItems; + + /* + * The number of items that have failed to be processed + */ + @Generated + private final int totalFailedItems; + + /** + * Creates an instance of IngestionRunOperation class. + * + * @param id the id value to set. + * @param status the status value to set. + * @param creationTime the creationTime value to set. + * @param statusHistory the statusHistory value to set. + * @param totalItems the totalItems value to set. + * @param totalPendingItems the totalPendingItems value to set. + * @param totalSuccessfulItems the totalSuccessfulItems value to set. + * @param totalFailedItems the totalFailedItems value to set. + */ + @Generated + private IngestionRunOperation(String id, OperationStatus status, OffsetDateTime creationTime, + List statusHistory, int totalItems, int totalPendingItems, int totalSuccessfulItems, + int totalFailedItems) { + this.id = id; + this.status = status; + this.creationTime = creationTime; + this.statusHistory = statusHistory; + this.totalItems = totalItems; + this.totalPendingItems = totalPendingItems; + this.totalSuccessfulItems = totalSuccessfulItems; + this.totalFailedItems = totalFailedItems; + } + + /** + * Get the id property: Operation id. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the status property: Operation status. + * + * @return the status value. + */ + @Generated + public OperationStatus getStatus() { + return this.status; + } + + /** + * Get the creationTime property: The UTC time at which the operation was created. + * + * @return the creationTime value. + */ + @Generated + public OffsetDateTime getCreationTime() { + return this.creationTime; + } + + /** + * Get the statusHistory property: The history of the operation status in time. + * + * @return the statusHistory value. + */ + @Generated + public List getStatusHistory() { + return this.statusHistory; + } + + /** + * Get the startTime property: The UTC time at which the operation was started. + * + * @return the startTime value. + */ + @Generated + public OffsetDateTime getStartTime() { + return this.startTime; + } + + /** + * Get the finishTime property: The UTC time at which the operation finished its execution. + * + * @return the finishTime value. + */ + @Generated + public OffsetDateTime getFinishTime() { + return this.finishTime; + } + + /** + * Get the totalItems property: The number of total items to be processed. + * + * @return the totalItems value. + */ + @Generated + public int getTotalItems() { + return this.totalItems; + } + + /** + * Get the totalPendingItems property: The number of items pending to be processed. + * + * @return the totalPendingItems value. + */ + @Generated + public int getTotalPendingItems() { + return this.totalPendingItems; + } + + /** + * Get the totalSuccessfulItems property: The number of items successfully processed. + * + * @return the totalSuccessfulItems value. + */ + @Generated + public int getTotalSuccessfulItems() { + return this.totalSuccessfulItems; + } + + /** + * Get the totalFailedItems property: The number of items that have failed to be processed. + * + * @return the totalFailedItems value. + */ + @Generated + public int getTotalFailedItems() { + return this.totalFailedItems; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString()); + jsonWriter.writeStringField("creationTime", + this.creationTime == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.creationTime)); + jsonWriter.writeArrayField("statusHistory", this.statusHistory, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeIntField("totalItems", this.totalItems); + jsonWriter.writeIntField("totalPendingItems", this.totalPendingItems); + jsonWriter.writeIntField("totalSuccessfulItems", this.totalSuccessfulItems); + jsonWriter.writeIntField("totalFailedItems", this.totalFailedItems); + jsonWriter.writeStringField("startTime", + this.startTime == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.startTime)); + jsonWriter.writeStringField("finishTime", + this.finishTime == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.finishTime)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of IngestionRunOperation from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of IngestionRunOperation if the JsonReader was pointing to an instance of it, or null if it + * was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the IngestionRunOperation. + */ + @Generated + public static IngestionRunOperation fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + OperationStatus status = null; + OffsetDateTime creationTime = null; + List statusHistory = null; + int totalItems = 0; + int totalPendingItems = 0; + int totalSuccessfulItems = 0; + int totalFailedItems = 0; + OffsetDateTime startTime = null; + OffsetDateTime finishTime = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("status".equals(fieldName)) { + status = OperationStatus.fromString(reader.getString()); + } else if ("creationTime".equals(fieldName)) { + creationTime = reader + .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString())); + } else if ("statusHistory".equals(fieldName)) { + statusHistory = reader.readArray(reader1 -> OperationStatusHistoryItem.fromJson(reader1)); + } else if ("totalItems".equals(fieldName)) { + totalItems = reader.getInt(); + } else if ("totalPendingItems".equals(fieldName)) { + totalPendingItems = reader.getInt(); + } else if ("totalSuccessfulItems".equals(fieldName)) { + totalSuccessfulItems = reader.getInt(); + } else if ("totalFailedItems".equals(fieldName)) { + totalFailedItems = reader.getInt(); + } else if ("startTime".equals(fieldName)) { + startTime = reader + .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString())); + } else if ("finishTime".equals(fieldName)) { + finishTime = reader + .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString())); + } else { + reader.skipChildren(); + } + } + IngestionRunOperation deserializedIngestionRunOperation = new IngestionRunOperation(id, status, + creationTime, statusHistory, totalItems, totalPendingItems, totalSuccessfulItems, totalFailedItems); + deserializedIngestionRunOperation.startTime = startTime; + deserializedIngestionRunOperation.finishTime = finishTime; + + return deserializedIngestionRunOperation; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/ingestionruns/models/IngestionRunsPagedResponse.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/ingestionruns/models/IngestionRunsPagedResponse.java new file mode 100644 index 000000000000..4dcbf5dbd098 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/ingestionruns/models/IngestionRunsPagedResponse.java @@ -0,0 +1,107 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.com.azure.planetarycomputer.ingestionruns.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Ingestion Runs paged response. + */ +@Immutable +public final class IngestionRunsPagedResponse implements JsonSerializable { + /* + * Ingestion Runs + */ + @Generated + private final List value; + + /* + * Next page + */ + @Generated + private String nextLink; + + /** + * Creates an instance of IngestionRunsPagedResponse class. + * + * @param value the value value to set. + */ + @Generated + private IngestionRunsPagedResponse(List value) { + this.value = value; + } + + /** + * Get the value property: Ingestion Runs. + * + * @return the value value. + */ + @Generated + public List getValue() { + return this.value; + } + + /** + * Get the nextLink property: Next page. + * + * @return the nextLink value. + */ + @Generated + public String getNextLink() { + return this.nextLink; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("value", this.value, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("nextLink", this.nextLink); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of IngestionRunsPagedResponse from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of IngestionRunsPagedResponse if the JsonReader was pointing to an instance of it, or null if + * it was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the IngestionRunsPagedResponse. + */ + @Generated + public static IngestionRunsPagedResponse fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + List value = null; + String nextLink = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("value".equals(fieldName)) { + value = reader.readArray(reader1 -> IngestionRun.fromJson(reader1)); + } else if ("nextLink".equals(fieldName)) { + nextLink = reader.getString(); + } else { + reader.skipChildren(); + } + } + IngestionRunsPagedResponse deserializedIngestionRunsPagedResponse = new IngestionRunsPagedResponse(value); + deserializedIngestionRunsPagedResponse.nextLink = nextLink; + + return deserializedIngestionRunsPagedResponse; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/ingestionruns/models/package-info.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/ingestionruns/models/package-info.java new file mode 100644 index 000000000000..dc127b31de30 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/ingestionruns/models/package-info.java @@ -0,0 +1,10 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +/** + * + * Package containing the data models for PlanetaryComputer. + * + */ +package com.azure.planetarycomputer.com.azure.planetarycomputer.ingestionruns.models; diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/IngestionDefinition.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/IngestionDefinition.java new file mode 100644 index 000000000000..6a841386ee2f --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/IngestionDefinition.java @@ -0,0 +1,358 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.core.util.CoreUtils; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.azure.planetarycomputer.implementation.JsonMergePatchHelper; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.HashSet; +import java.util.Set; + +/** + * Microsoft Planetary Computer Pro geo-catalog ingestion creation model. + */ +@Fluent +public final class IngestionDefinition implements JsonSerializable { + /* + * Ingestion id + */ + @Generated + private String id; + + /* + * Ingestion type + */ + @Generated + private IngestionType importType; + + /* + * Ingestion name + */ + @Generated + private String displayName; + + /* + * Source catalog URL. Required for StaticCatalog ingestion type + */ + @Generated + private String sourceCatalogUrl; + + /* + * Skip processing existing items in the catalog + */ + @Generated + private Boolean skipExistingItems; + + /* + * Keep original source assets + */ + @Generated + private Boolean keepOriginalAssets; + + /* + * Ingestion creation time + */ + @Generated + private OffsetDateTime creationTime; + + /* + * Ingestion status + */ + @Generated + private IngestionStatus status; + + /** + * Stores updated model property, the value is property name, not serialized name. + */ + @Generated + private final Set updatedProperties = new HashSet<>(); + + @Generated + private boolean jsonMergePatch; + + @Generated + private void serializeAsJsonMergePatch(boolean jsonMergePatch) { + this.jsonMergePatch = jsonMergePatch; + } + + static { + JsonMergePatchHelper.setIngestionDefinitionAccessor(new JsonMergePatchHelper.IngestionDefinitionAccessor() { + @Override + public IngestionDefinition prepareModelForJsonMergePatch(IngestionDefinition model, + boolean jsonMergePatchEnabled) { + model.serializeAsJsonMergePatch(jsonMergePatchEnabled); + return model; + } + + @Override + public boolean isJsonMergePatch(IngestionDefinition model) { + return model.jsonMergePatch; + } + }); + } + + /** + * Creates an instance of IngestionDefinition class. + */ + @Generated + public IngestionDefinition() { + } + + /** + * Get the id property: Ingestion id. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the importType property: Ingestion type. + * + * @return the importType value. + */ + @Generated + public IngestionType getImportType() { + return this.importType; + } + + /** + * Set the importType property: Ingestion type. + *

Required when create the resource.

+ * + * @param importType the importType value to set. + * @return the IngestionDefinition object itself. + */ + @Generated + public IngestionDefinition setImportType(IngestionType importType) { + this.importType = importType; + this.updatedProperties.add("importType"); + return this; + } + + /** + * Get the displayName property: Ingestion name. + * + * @return the displayName value. + */ + @Generated + public String getDisplayName() { + return this.displayName; + } + + /** + * Set the displayName property: Ingestion name. + * + * @param displayName the displayName value to set. + * @return the IngestionDefinition object itself. + */ + @Generated + public IngestionDefinition setDisplayName(String displayName) { + this.displayName = displayName; + this.updatedProperties.add("displayName"); + return this; + } + + /** + * Get the sourceCatalogUrl property: Source catalog URL. Required for StaticCatalog ingestion type. + * + * @return the sourceCatalogUrl value. + */ + @Generated + public String getSourceCatalogUrl() { + return this.sourceCatalogUrl; + } + + /** + * Set the sourceCatalogUrl property: Source catalog URL. Required for StaticCatalog ingestion type. + * + * @param sourceCatalogUrl the sourceCatalogUrl value to set. + * @return the IngestionDefinition object itself. + */ + @Generated + public IngestionDefinition setSourceCatalogUrl(String sourceCatalogUrl) { + this.sourceCatalogUrl = sourceCatalogUrl; + this.updatedProperties.add("sourceCatalogUrl"); + return this; + } + + /** + * Get the skipExistingItems property: Skip processing existing items in the catalog. + * + * @return the skipExistingItems value. + */ + @Generated + public Boolean isSkipExistingItems() { + return this.skipExistingItems; + } + + /** + * Set the skipExistingItems property: Skip processing existing items in the catalog. + * + * @param skipExistingItems the skipExistingItems value to set. + * @return the IngestionDefinition object itself. + */ + @Generated + public IngestionDefinition setSkipExistingItems(Boolean skipExistingItems) { + this.skipExistingItems = skipExistingItems; + this.updatedProperties.add("skipExistingItems"); + return this; + } + + /** + * Get the keepOriginalAssets property: Keep original source assets. + * + * @return the keepOriginalAssets value. + */ + @Generated + public Boolean isKeepOriginalAssets() { + return this.keepOriginalAssets; + } + + /** + * Set the keepOriginalAssets property: Keep original source assets. + * + * @param keepOriginalAssets the keepOriginalAssets value to set. + * @return the IngestionDefinition object itself. + */ + @Generated + public IngestionDefinition setKeepOriginalAssets(Boolean keepOriginalAssets) { + this.keepOriginalAssets = keepOriginalAssets; + this.updatedProperties.add("keepOriginalAssets"); + return this; + } + + /** + * Get the creationTime property: Ingestion creation time. + * + * @return the creationTime value. + */ + @Generated + public OffsetDateTime getCreationTime() { + return this.creationTime; + } + + /** + * Get the status property: Ingestion status. + * + * @return the status value. + */ + @Generated + public IngestionStatus getStatus() { + return this.status; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + if (jsonMergePatch) { + return toJsonMergePatch(jsonWriter); + } else { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("importType", this.importType == null ? null : this.importType.toString()); + jsonWriter.writeStringField("displayName", this.displayName); + jsonWriter.writeStringField("sourceCatalogUrl", this.sourceCatalogUrl); + jsonWriter.writeBooleanField("skipExistingItems", this.skipExistingItems); + jsonWriter.writeBooleanField("keepOriginalAssets", this.keepOriginalAssets); + return jsonWriter.writeEndObject(); + } + } + + @Generated + private JsonWriter toJsonMergePatch(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + if (updatedProperties.contains("importType")) { + if (this.importType == null) { + jsonWriter.writeNullField("importType"); + } else { + jsonWriter.writeStringField("importType", this.importType.toString()); + } + } + if (updatedProperties.contains("displayName")) { + if (this.displayName == null) { + jsonWriter.writeNullField("displayName"); + } else { + jsonWriter.writeStringField("displayName", this.displayName); + } + } + if (updatedProperties.contains("sourceCatalogUrl")) { + if (this.sourceCatalogUrl == null) { + jsonWriter.writeNullField("sourceCatalogUrl"); + } else { + jsonWriter.writeStringField("sourceCatalogUrl", this.sourceCatalogUrl); + } + } + if (updatedProperties.contains("skipExistingItems")) { + if (this.skipExistingItems == null) { + jsonWriter.writeNullField("skipExistingItems"); + } else { + jsonWriter.writeBooleanField("skipExistingItems", this.skipExistingItems); + } + } + if (updatedProperties.contains("keepOriginalAssets")) { + if (this.keepOriginalAssets == null) { + jsonWriter.writeNullField("keepOriginalAssets"); + } else { + jsonWriter.writeBooleanField("keepOriginalAssets", this.keepOriginalAssets); + } + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of IngestionDefinition from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of IngestionDefinition if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the IngestionDefinition. + */ + @Generated + public static IngestionDefinition fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + IngestionDefinition deserializedIngestionDefinition = new IngestionDefinition(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("id".equals(fieldName)) { + deserializedIngestionDefinition.id = reader.getString(); + } else if ("creationTime".equals(fieldName)) { + deserializedIngestionDefinition.creationTime = reader + .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString())); + } else if ("status".equals(fieldName)) { + deserializedIngestionDefinition.status = IngestionStatus.fromString(reader.getString()); + } else if ("importType".equals(fieldName)) { + deserializedIngestionDefinition.importType = IngestionType.fromString(reader.getString()); + } else if ("displayName".equals(fieldName)) { + deserializedIngestionDefinition.displayName = reader.getString(); + } else if ("sourceCatalogUrl".equals(fieldName)) { + deserializedIngestionDefinition.sourceCatalogUrl = reader.getString(); + } else if ("skipExistingItems".equals(fieldName)) { + deserializedIngestionDefinition.skipExistingItems = reader.getNullable(JsonReader::getBoolean); + } else if ("keepOriginalAssets".equals(fieldName)) { + deserializedIngestionDefinition.keepOriginalAssets = reader.getNullable(JsonReader::getBoolean); + } else { + reader.skipChildren(); + } + } + + return deserializedIngestionDefinition; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/IngestionDefinitionsPagedResponse.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/IngestionDefinitionsPagedResponse.java new file mode 100644 index 000000000000..865ef8250ec3 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/IngestionDefinitionsPagedResponse.java @@ -0,0 +1,108 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Ingestions Definitions paged response. + */ +@Immutable +public final class IngestionDefinitionsPagedResponse implements JsonSerializable { + /* + * Ingestion Definitions + */ + @Generated + private final List value; + + /* + * Next page + */ + @Generated + private String nextLink; + + /** + * Creates an instance of IngestionDefinitionsPagedResponse class. + * + * @param value the value value to set. + */ + @Generated + private IngestionDefinitionsPagedResponse(List value) { + this.value = value; + } + + /** + * Get the value property: Ingestion Definitions. + * + * @return the value value. + */ + @Generated + public List getValue() { + return this.value; + } + + /** + * Get the nextLink property: Next page. + * + * @return the nextLink value. + */ + @Generated + public String getNextLink() { + return this.nextLink; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("value", this.value, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("nextLink", this.nextLink); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of IngestionDefinitionsPagedResponse from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of IngestionDefinitionsPagedResponse if the JsonReader was pointing to an instance of it, or + * null if it was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the IngestionDefinitionsPagedResponse. + */ + @Generated + public static IngestionDefinitionsPagedResponse fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + List value = null; + String nextLink = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("value".equals(fieldName)) { + value = reader.readArray(reader1 -> IngestionDefinition.fromJson(reader1)); + } else if ("nextLink".equals(fieldName)) { + nextLink = reader.getString(); + } else { + reader.skipChildren(); + } + } + IngestionDefinitionsPagedResponse deserializedIngestionDefinitionsPagedResponse + = new IngestionDefinitionsPagedResponse(value); + deserializedIngestionDefinitionsPagedResponse.nextLink = nextLink; + + return deserializedIngestionDefinitionsPagedResponse; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/IngestionSource.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/IngestionSource.java new file mode 100644 index 000000000000..b6a5b9dc7a05 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/IngestionSource.java @@ -0,0 +1,169 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.core.util.CoreUtils; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Ingestion Source. + */ +@Immutable +public class IngestionSource implements JsonSerializable { + /* + * Discriminator for the ingestion source + */ + @Generated + private IngestionSourceType kind = IngestionSourceType.fromString("IngestionSource"); + + /* + * Ingestion source id + */ + @Generated + private final String id; + + /* + * Created time in UTC format + */ + @Generated + private OffsetDateTime created; + + /** + * Creates an instance of IngestionSource class. + * + * @param id the id value to set. + */ + @Generated + public IngestionSource(String id) { + this.id = id; + } + + /** + * Get the kind property: Discriminator for the ingestion source. + * + * @return the kind value. + */ + @Generated + public IngestionSourceType getKind() { + return this.kind; + } + + /** + * Get the id property: Ingestion source id. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the created property: Created time in UTC format. + * + * @return the created value. + */ + @Generated + public OffsetDateTime getCreated() { + return this.created; + } + + /** + * Set the created property: Created time in UTC format. + * + * @param created the created value to set. + * @return the IngestionSource object itself. + */ + @Generated + IngestionSource setCreated(OffsetDateTime created) { + this.created = created; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of IngestionSource from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of IngestionSource if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the IngestionSource. + */ + @Generated + public static IngestionSource fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + readerToUse.nextToken(); // Prepare for reading + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("kind".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("SasToken".equals(discriminatorValue)) { + return SasTokenIngestionSource.fromJson(readerToUse.reset()); + } else if ("BlobManagedIdentity".equals(discriminatorValue)) { + return ManagedIdentityIngestionSource.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static IngestionSource fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + OffsetDateTime created = null; + IngestionSourceType kind = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("created".equals(fieldName)) { + created = reader + .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString())); + } else if ("kind".equals(fieldName)) { + kind = IngestionSourceType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + IngestionSource deserializedIngestionSource = new IngestionSource(id); + deserializedIngestionSource.created = created; + deserializedIngestionSource.kind = kind; + + return deserializedIngestionSource; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/IngestionSourceSummary.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/IngestionSourceSummary.java new file mode 100644 index 000000000000..1197a7ab540c --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/IngestionSourceSummary.java @@ -0,0 +1,132 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.core.util.CoreUtils; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.time.format.DateTimeFormatter; + +/** + * Ingestion source summary. + */ +@Immutable +public final class IngestionSourceSummary implements JsonSerializable { + /* + * Ingestion source id + */ + @Generated + private final String id; + + /* + * Ingestion source type + */ + @Generated + private final IngestionSourceType kind; + + /* + * Created time in UTC format + */ + @Generated + private final OffsetDateTime created; + + /** + * Creates an instance of IngestionSourceSummary class. + * + * @param id the id value to set. + * @param kind the kind value to set. + * @param created the created value to set. + */ + @Generated + private IngestionSourceSummary(String id, IngestionSourceType kind, OffsetDateTime created) { + this.id = id; + this.kind = kind; + this.created = created; + } + + /** + * Get the id property: Ingestion source id. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the kind property: Ingestion source type. + * + * @return the kind value. + */ + @Generated + public IngestionSourceType getKind() { + return this.kind; + } + + /** + * Get the created property: Created time in UTC format. + * + * @return the created value. + */ + @Generated + public OffsetDateTime getCreated() { + return this.created; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString()); + jsonWriter.writeStringField("created", + this.created == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.created)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of IngestionSourceSummary from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of IngestionSourceSummary if the JsonReader was pointing to an instance of it, or null if it + * was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the IngestionSourceSummary. + */ + @Generated + public static IngestionSourceSummary fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + IngestionSourceType kind = null; + OffsetDateTime created = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("kind".equals(fieldName)) { + kind = IngestionSourceType.fromString(reader.getString()); + } else if ("created".equals(fieldName)) { + created = reader + .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString())); + } else { + reader.skipChildren(); + } + } + return new IngestionSourceSummary(id, kind, created); + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/IngestionSourceType.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/IngestionSourceType.java new file mode 100644 index 000000000000..9dbf6a418f0d --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/IngestionSourceType.java @@ -0,0 +1,57 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Ingestion source type. + */ +public final class IngestionSourceType extends ExpandableStringEnum { + /** + * Azure Blob Storage SAS token. + */ + @Generated + public static final IngestionSourceType SAS_TOKEN = fromString("SasToken"); + + /** + * Azure Blob Managed Identity. + */ + @Generated + public static final IngestionSourceType BLOB_MANAGED_IDENTITY = fromString("BlobManagedIdentity"); + + /** + * Creates a new instance of IngestionSourceType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public IngestionSourceType() { + } + + /** + * Creates or finds a IngestionSourceType from its string representation. + * + * @param name a name to look for. + * @return the corresponding IngestionSourceType. + */ + @Generated + public static IngestionSourceType fromString(String name) { + return fromString(name, IngestionSourceType.class); + } + + /** + * Gets known IngestionSourceType values. + * + * @return known IngestionSourceType values. + */ + @Generated + public static Collection values() { + return values(IngestionSourceType.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/IngestionSourcesPagedResponse.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/IngestionSourcesPagedResponse.java new file mode 100644 index 000000000000..242103c463bc --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/IngestionSourcesPagedResponse.java @@ -0,0 +1,108 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Ingestion Sources paged response. + */ +@Immutable +public final class IngestionSourcesPagedResponse implements JsonSerializable { + /* + * Ingestion sources + */ + @Generated + private final List value; + + /* + * Next page + */ + @Generated + private String nextLink; + + /** + * Creates an instance of IngestionSourcesPagedResponse class. + * + * @param value the value value to set. + */ + @Generated + private IngestionSourcesPagedResponse(List value) { + this.value = value; + } + + /** + * Get the value property: Ingestion sources. + * + * @return the value value. + */ + @Generated + public List getValue() { + return this.value; + } + + /** + * Get the nextLink property: Next page. + * + * @return the nextLink value. + */ + @Generated + public String getNextLink() { + return this.nextLink; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("value", this.value, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("nextLink", this.nextLink); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of IngestionSourcesPagedResponse from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of IngestionSourcesPagedResponse if the JsonReader was pointing to an instance of it, or null + * if it was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the IngestionSourcesPagedResponse. + */ + @Generated + public static IngestionSourcesPagedResponse fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + List value = null; + String nextLink = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("value".equals(fieldName)) { + value = reader.readArray(reader1 -> IngestionSourceSummary.fromJson(reader1)); + } else if ("nextLink".equals(fieldName)) { + nextLink = reader.getString(); + } else { + reader.skipChildren(); + } + } + IngestionSourcesPagedResponse deserializedIngestionSourcesPagedResponse + = new IngestionSourcesPagedResponse(value); + deserializedIngestionSourcesPagedResponse.nextLink = nextLink; + + return deserializedIngestionSourcesPagedResponse; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/IngestionStatus.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/IngestionStatus.java new file mode 100644 index 000000000000..937f2a7620a3 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/IngestionStatus.java @@ -0,0 +1,57 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Ingestion status. + */ +public final class IngestionStatus extends ExpandableStringEnum { + /** + * Ingestion accepted and ready to be run. + */ + @Generated + public static final IngestionStatus READY = fromString("Ready"); + + /** + * Ingestion is being deleting in the background. + */ + @Generated + public static final IngestionStatus DELETING = fromString("Deleting"); + + /** + * Creates a new instance of IngestionStatus value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public IngestionStatus() { + } + + /** + * Creates or finds a IngestionStatus from its string representation. + * + * @param name a name to look for. + * @return the corresponding IngestionStatus. + */ + @Generated + public static IngestionStatus fromString(String name) { + return fromString(name, IngestionStatus.class); + } + + /** + * Gets known IngestionStatus values. + * + * @return known IngestionStatus values. + */ + @Generated + public static Collection values() { + return values(IngestionStatus.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/IngestionType.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/IngestionType.java new file mode 100644 index 000000000000..0c27ff45067f --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/IngestionType.java @@ -0,0 +1,51 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Ingestion type. + */ +public final class IngestionType extends ExpandableStringEnum { + /** + * Static STAC Catalog. + */ + @Generated + public static final IngestionType STATIC_CATALOG = fromString("StaticCatalog"); + + /** + * Creates a new instance of IngestionType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public IngestionType() { + } + + /** + * Creates or finds a IngestionType from its string representation. + * + * @param name a name to look for. + * @return the corresponding IngestionType. + */ + @Generated + public static IngestionType fromString(String name) { + return fromString(name, IngestionType.class); + } + + /** + * Gets known IngestionType values. + * + * @return known IngestionType values. + */ + @Generated + public static Collection values() { + return values(IngestionType.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/ManagedIdentitiesPagedResponse.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/ManagedIdentitiesPagedResponse.java new file mode 100644 index 000000000000..a8742cdea7b2 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/ManagedIdentitiesPagedResponse.java @@ -0,0 +1,108 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Managed Identities paged response. + */ +@Immutable +public final class ManagedIdentitiesPagedResponse implements JsonSerializable { + /* + * Managed Identities + */ + @Generated + private final List value; + + /* + * Next page + */ + @Generated + private String nextLink; + + /** + * Creates an instance of ManagedIdentitiesPagedResponse class. + * + * @param value the value value to set. + */ + @Generated + private ManagedIdentitiesPagedResponse(List value) { + this.value = value; + } + + /** + * Get the value property: Managed Identities. + * + * @return the value value. + */ + @Generated + public List getValue() { + return this.value; + } + + /** + * Get the nextLink property: Next page. + * + * @return the nextLink value. + */ + @Generated + public String getNextLink() { + return this.nextLink; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("value", this.value, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("nextLink", this.nextLink); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of ManagedIdentitiesPagedResponse from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of ManagedIdentitiesPagedResponse if the JsonReader was pointing to an instance of it, or + * null if it was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the ManagedIdentitiesPagedResponse. + */ + @Generated + public static ManagedIdentitiesPagedResponse fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + List value = null; + String nextLink = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("value".equals(fieldName)) { + value = reader.readArray(reader1 -> ManagedIdentityMetadata.fromJson(reader1)); + } else if ("nextLink".equals(fieldName)) { + nextLink = reader.getString(); + } else { + reader.skipChildren(); + } + } + ManagedIdentitiesPagedResponse deserializedManagedIdentitiesPagedResponse + = new ManagedIdentitiesPagedResponse(value); + deserializedManagedIdentitiesPagedResponse.nextLink = nextLink; + + return deserializedManagedIdentitiesPagedResponse; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/ManagedIdentityConnection.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/ManagedIdentityConnection.java new file mode 100644 index 000000000000..0cc7aa5701c0 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/ManagedIdentityConnection.java @@ -0,0 +1,105 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Managed Identity connection information. + */ +@Immutable +public final class ManagedIdentityConnection implements JsonSerializable { + /* + * Azure Blob Storage container URL + */ + @Generated + private final String containerUrl; + + /* + * Azure Managed Identity configured in the Geo-Catalog with access to the container + */ + @Generated + private final String objectId; + + /** + * Creates an instance of ManagedIdentityConnection class. + * + * @param containerUrl the containerUrl value to set. + * @param objectId the objectId value to set. + */ + @Generated + public ManagedIdentityConnection(String containerUrl, String objectId) { + this.containerUrl = containerUrl; + this.objectId = objectId; + } + + /** + * Get the containerUrl property: Azure Blob Storage container URL. + * + * @return the containerUrl value. + */ + @Generated + public String getContainerUrl() { + return this.containerUrl; + } + + /** + * Get the objectId property: Azure Managed Identity configured in the Geo-Catalog with access to the container. + * + * @return the objectId value. + */ + @Generated + public String getObjectId() { + return this.objectId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("containerUrl", this.containerUrl); + jsonWriter.writeStringField("objectId", this.objectId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of ManagedIdentityConnection from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of ManagedIdentityConnection if the JsonReader was pointing to an instance of it, or null if + * it was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the ManagedIdentityConnection. + */ + @Generated + public static ManagedIdentityConnection fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String containerUrl = null; + String objectId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("containerUrl".equals(fieldName)) { + containerUrl = reader.getString(); + } else if ("objectId".equals(fieldName)) { + objectId = reader.getString(); + } else { + reader.skipChildren(); + } + } + return new ManagedIdentityConnection(containerUrl, objectId); + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/ManagedIdentityIngestionSource.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/ManagedIdentityIngestionSource.java new file mode 100644 index 000000000000..9ce29eb0a2fa --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/ManagedIdentityIngestionSource.java @@ -0,0 +1,120 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.core.util.CoreUtils; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * Managed Identity ingestion source. + */ +@Immutable +public final class ManagedIdentityIngestionSource extends IngestionSource { + /* + * Discriminator for the ingestion source + */ + @Generated + private IngestionSourceType kind = IngestionSourceType.BLOB_MANAGED_IDENTITY; + + /* + * Managed identity connection information + */ + @Generated + private final ManagedIdentityConnection connectionInfo; + + /** + * Creates an instance of ManagedIdentityIngestionSource class. + * + * @param id the id value to set. + * @param connectionInfo the connectionInfo value to set. + */ + @Generated + public ManagedIdentityIngestionSource(String id, ManagedIdentityConnection connectionInfo) { + super(id); + this.connectionInfo = connectionInfo; + } + + /** + * Get the kind property: Discriminator for the ingestion source. + * + * @return the kind value. + */ + @Generated + @Override + public IngestionSourceType getKind() { + return this.kind; + } + + /** + * Get the connectionInfo property: Managed identity connection information. + * + * @return the connectionInfo value. + */ + @Generated + public ManagedIdentityConnection getConnectionInfo() { + return this.connectionInfo; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", getId()); + jsonWriter.writeJsonField("connectionInfo", this.connectionInfo); + jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of ManagedIdentityIngestionSource from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of ManagedIdentityIngestionSource if the JsonReader was pointing to an instance of it, or + * null if it was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the ManagedIdentityIngestionSource. + */ + @Generated + public static ManagedIdentityIngestionSource fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + OffsetDateTime created = null; + ManagedIdentityConnection connectionInfo = null; + IngestionSourceType kind = IngestionSourceType.BLOB_MANAGED_IDENTITY; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("created".equals(fieldName)) { + created = reader + .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString())); + } else if ("connectionInfo".equals(fieldName)) { + connectionInfo = ManagedIdentityConnection.fromJson(reader); + } else if ("kind".equals(fieldName)) { + kind = IngestionSourceType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + ManagedIdentityIngestionSource deserializedManagedIdentityIngestionSource + = new ManagedIdentityIngestionSource(id, connectionInfo); + deserializedManagedIdentityIngestionSource.setCreated(created); + deserializedManagedIdentityIngestionSource.kind = kind; + + return deserializedManagedIdentityIngestionSource; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/ManagedIdentityMetadata.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/ManagedIdentityMetadata.java new file mode 100644 index 000000000000..6ac09063842c --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/ManagedIdentityMetadata.java @@ -0,0 +1,105 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Managed Identity metadata. + */ +@Immutable +public final class ManagedIdentityMetadata implements JsonSerializable { + /* + * Object id of the managed identity + */ + @Generated + private final String objectId; + + /* + * ARM path or resource id of the managed identity + */ + @Generated + private final String resourceId; + + /** + * Creates an instance of ManagedIdentityMetadata class. + * + * @param objectId the objectId value to set. + * @param resourceId the resourceId value to set. + */ + @Generated + private ManagedIdentityMetadata(String objectId, String resourceId) { + this.objectId = objectId; + this.resourceId = resourceId; + } + + /** + * Get the objectId property: Object id of the managed identity. + * + * @return the objectId value. + */ + @Generated + public String getObjectId() { + return this.objectId; + } + + /** + * Get the resourceId property: ARM path or resource id of the managed identity. + * + * @return the resourceId value. + */ + @Generated + public String getResourceId() { + return this.resourceId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("objectId", this.objectId); + jsonWriter.writeStringField("resourceId", this.resourceId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of ManagedIdentityMetadata from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of ManagedIdentityMetadata if the JsonReader was pointing to an instance of it, or null if it + * was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the ManagedIdentityMetadata. + */ + @Generated + public static ManagedIdentityMetadata fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String objectId = null; + String resourceId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("objectId".equals(fieldName)) { + objectId = reader.getString(); + } else if ("resourceId".equals(fieldName)) { + resourceId = reader.getString(); + } else { + reader.skipChildren(); + } + } + return new ManagedIdentityMetadata(objectId, resourceId); + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/SasTokenConnection.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/SasTokenConnection.java new file mode 100644 index 000000000000..c18598a1d5b2 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/SasTokenConnection.java @@ -0,0 +1,141 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.core.util.CoreUtils; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * SAS Token connection information. + */ +@Fluent +public final class SasTokenConnection implements JsonSerializable { + /* + * Azure Blob Storage container URL + */ + @Generated + private final String containerUrl; + + /* + * SAS token + */ + @Generated + private String sasToken; + + /* + * Azure Blob Storage SAS token expiration in UTC format + */ + @Generated + private OffsetDateTime expiration; + + /** + * Creates an instance of SasTokenConnection class. + * + * @param containerUrl the containerUrl value to set. + */ + @Generated + public SasTokenConnection(String containerUrl) { + this.containerUrl = containerUrl; + } + + /** + * Get the containerUrl property: Azure Blob Storage container URL. + * + * @return the containerUrl value. + */ + @Generated + public String getContainerUrl() { + return this.containerUrl; + } + + /** + * Get the sasToken property: SAS token. + * + * @return the sasToken value. + */ + @Generated + public String getSasToken() { + return this.sasToken; + } + + /** + * Set the sasToken property: SAS token. + * + * @param sasToken the sasToken value to set. + * @return the SasTokenConnection object itself. + */ + @Generated + public SasTokenConnection setSasToken(String sasToken) { + this.sasToken = sasToken; + return this; + } + + /** + * Get the expiration property: Azure Blob Storage SAS token expiration in UTC format. + * + * @return the expiration value. + */ + @Generated + public OffsetDateTime getExpiration() { + return this.expiration; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("containerUrl", this.containerUrl); + jsonWriter.writeStringField("sasToken", this.sasToken); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of SasTokenConnection from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of SasTokenConnection if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the SasTokenConnection. + */ + @Generated + public static SasTokenConnection fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String containerUrl = null; + String sasToken = null; + OffsetDateTime expiration = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("containerUrl".equals(fieldName)) { + containerUrl = reader.getString(); + } else if ("sasToken".equals(fieldName)) { + sasToken = reader.getString(); + } else if ("expiration".equals(fieldName)) { + expiration = reader + .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString())); + } else { + reader.skipChildren(); + } + } + SasTokenConnection deserializedSasTokenConnection = new SasTokenConnection(containerUrl); + deserializedSasTokenConnection.sasToken = sasToken; + deserializedSasTokenConnection.expiration = expiration; + + return deserializedSasTokenConnection; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/SasTokenIngestionSource.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/SasTokenIngestionSource.java new file mode 100644 index 000000000000..594296999c35 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/SasTokenIngestionSource.java @@ -0,0 +1,120 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.core.util.CoreUtils; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.OffsetDateTime; + +/** + * SAS Token ingestion source. + */ +@Immutable +public final class SasTokenIngestionSource extends IngestionSource { + /* + * Discriminator for the ingestion source + */ + @Generated + private IngestionSourceType kind = IngestionSourceType.SAS_TOKEN; + + /* + * SAS token connection information + */ + @Generated + private final SasTokenConnection connectionInfo; + + /** + * Creates an instance of SasTokenIngestionSource class. + * + * @param id the id value to set. + * @param connectionInfo the connectionInfo value to set. + */ + @Generated + public SasTokenIngestionSource(String id, SasTokenConnection connectionInfo) { + super(id); + this.connectionInfo = connectionInfo; + } + + /** + * Get the kind property: Discriminator for the ingestion source. + * + * @return the kind value. + */ + @Generated + @Override + public IngestionSourceType getKind() { + return this.kind; + } + + /** + * Get the connectionInfo property: SAS token connection information. + * + * @return the connectionInfo value. + */ + @Generated + public SasTokenConnection getConnectionInfo() { + return this.connectionInfo; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", getId()); + jsonWriter.writeJsonField("connectionInfo", this.connectionInfo); + jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of SasTokenIngestionSource from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of SasTokenIngestionSource if the JsonReader was pointing to an instance of it, or null if it + * was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the SasTokenIngestionSource. + */ + @Generated + public static SasTokenIngestionSource fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + OffsetDateTime created = null; + SasTokenConnection connectionInfo = null; + IngestionSourceType kind = IngestionSourceType.SAS_TOKEN; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("created".equals(fieldName)) { + created = reader + .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString())); + } else if ("connectionInfo".equals(fieldName)) { + connectionInfo = SasTokenConnection.fromJson(reader); + } else if ("kind".equals(fieldName)) { + kind = IngestionSourceType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + SasTokenIngestionSource deserializedSasTokenIngestionSource + = new SasTokenIngestionSource(id, connectionInfo); + deserializedSasTokenIngestionSource.setCreated(created); + deserializedSasTokenIngestionSource.kind = kind; + + return deserializedSasTokenIngestionSource; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/package-info.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/package-info.java new file mode 100644 index 000000000000..bd76b8d1015b --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/com/azure/planetarycomputer/models/package-info.java @@ -0,0 +1,10 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +/** + * + * Package containing the data models for PlanetaryComputer. + * + */ +package com.azure.planetarycomputer.com.azure.planetarycomputer.models; diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/GeocatalogClientImpl.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/GeocatalogClientImpl.java new file mode 100644 index 000000000000..467b2ea57cce --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/GeocatalogClientImpl.java @@ -0,0 +1,412 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.implementation; + +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +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.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +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.serializer.JacksonAdapter; +import com.azure.core.util.serializer.SerializerAdapter; +import com.azure.planetarycomputer.PlanetaryComputerServiceVersion; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the GeocatalogClient type. + */ +public final class GeocatalogClientImpl { + /** + * The proxy service used to perform REST calls. + */ + private final GeocatalogClientService service; + + /** + * Service host. + */ + private final String endpoint; + + /** + * Gets Service host. + * + * @return the endpoint value. + */ + public String getEndpoint() { + return this.endpoint; + } + + /** + * Service version. + */ + private final PlanetaryComputerServiceVersion serviceVersion; + + /** + * Gets Service version. + * + * @return the serviceVersion value. + */ + public PlanetaryComputerServiceVersion 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; + } + + /** + * Initializes an instance of GeocatalogClient client. + * + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public GeocatalogClientImpl(String endpoint, PlanetaryComputerServiceVersion serviceVersion) { + this(new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build(), + JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of GeocatalogClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public GeocatalogClientImpl(HttpPipeline httpPipeline, String endpoint, + PlanetaryComputerServiceVersion serviceVersion) { + this(httpPipeline, JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of GeocatalogClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param serializerAdapter The serializer to serialize an object into a string. + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public GeocatalogClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, String endpoint, + PlanetaryComputerServiceVersion serviceVersion) { + this.httpPipeline = httpPipeline; + this.serializerAdapter = serializerAdapter; + this.endpoint = endpoint; + this.serviceVersion = serviceVersion; + this.service = RestProxy.create(GeocatalogClientService.class, this.httpPipeline, this.getSerializerAdapter()); + } + + /** + * The interface defining all the services for GeocatalogClient to be used by the proxy service to perform REST + * calls. + */ + @Host("{endpoint}") + @ServiceInterface(name = "GeocatalogClient") + public interface GeocatalogClientService { + @Get("/geocatalog/auth") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getAuthConfig(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/geocatalog/auth") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getAuthConfigSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/geocatalog/map/id") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getAzmapsClientId(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/geocatalog/map/id") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getAzmapsClientIdSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/geocatalog/map/token") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getAzmapsToken(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/geocatalog/map/token") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getAzmapsTokenSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + } + + /** + * Get Auth Config + * + * Get the app id and tenant id information to make a MSAL request for this + * GeoCatalog instance. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     authn_app_id: String (Required)
+     *     tenant_id: String (Required)
+     *     instance: String (Required)
+     *     redirect_uri: String (Optional)
+     * }
+     * }
+     * 
+ * + * @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 auth Config + * + * Get the app id and tenant id information to make a MSAL request for this + * GeoCatalog instance along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAuthConfigWithResponseAsync(RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getAuthConfig(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Get Auth Config + * + * Get the app id and tenant id information to make a MSAL request for this + * GeoCatalog instance. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     authn_app_id: String (Required)
+     *     tenant_id: String (Required)
+     *     instance: String (Required)
+     *     redirect_uri: String (Optional)
+     * }
+     * }
+     * 
+ * + * @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 auth Config + * + * Get the app id and tenant id information to make a MSAL request for this + * GeoCatalog instance along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAuthConfigWithResponse(RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getAuthConfigSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, + requestOptions, Context.NONE); + } + + /** + * Get Azmaps Client Id + * + * Fetch the client id for the Azure Maps API service based on the current + * on the current identity. This client id is used for the Explorer to + * authenticate with the Azure Maps API service. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     client_id: String (Required)
+     * }
+     * }
+     * 
+ * + * @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 azmaps Client Id + * + * Fetch the client id for the Azure Maps API service based on the current + * on the current identity along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAzmapsClientIdWithResponseAsync(RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getAzmapsClientId(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Get Azmaps Client Id + * + * Fetch the client id for the Azure Maps API service based on the current + * on the current identity. This client id is used for the Explorer to + * authenticate with the Azure Maps API service. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     client_id: String (Required)
+     * }
+     * }
+     * 
+ * + * @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 azmaps Client Id + * + * Fetch the client id for the Azure Maps API service based on the current + * on the current identity along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAzmapsClientIdWithResponse(RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getAzmapsClientIdSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, + requestOptions, Context.NONE); + } + + /** + * Get Azmaps Token + * + * Fetch a token for the Azure Maps API service based on the current + * service identity. This token is used for the Explorer to authenticate + * with the Azure Maps API service. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     token: String (Required)
+     *     expires_on: int (Required)
+     * }
+     * }
+     * 
+ * + * @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 azmaps Token + * + * Fetch a token for the Azure Maps API service based on the current + * service identity along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAzmapsTokenWithResponseAsync(RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getAzmapsToken(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Get Azmaps Token + * + * Fetch a token for the Azure Maps API service based on the current + * service identity. This token is used for the Explorer to authenticate + * with the Azure Maps API service. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     token: String (Required)
+     *     expires_on: int (Required)
+     * }
+     * }
+     * 
+ * + * @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 azmaps Token + * + * Fetch a token for the Azure Maps API service based on the current + * service identity along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAzmapsTokenWithResponse(RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getAzmapsTokenSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, + requestOptions, Context.NONE); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/ImageExportsClientImpl.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/ImageExportsClientImpl.java new file mode 100644 index 000000000000..8f6e79551003 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/ImageExportsClientImpl.java @@ -0,0 +1,370 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +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.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +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.serializer.JacksonAdapter; +import com.azure.core.util.serializer.SerializerAdapter; +import com.azure.planetarycomputer.PlanetaryComputerServiceVersion; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the ImageExportsClient type. + */ +public final class ImageExportsClientImpl { + /** + * The proxy service used to perform REST calls. + */ + private final ImageExportsClientService service; + + /** + * Service host. + */ + private final String endpoint; + + /** + * Gets Service host. + * + * @return the endpoint value. + */ + public String getEndpoint() { + return this.endpoint; + } + + /** + * Service version. + */ + private final PlanetaryComputerServiceVersion serviceVersion; + + /** + * Gets Service version. + * + * @return the serviceVersion value. + */ + public PlanetaryComputerServiceVersion 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; + } + + /** + * Initializes an instance of ImageExportsClient client. + * + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public ImageExportsClientImpl(String endpoint, PlanetaryComputerServiceVersion serviceVersion) { + this(new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build(), + JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of ImageExportsClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public ImageExportsClientImpl(HttpPipeline httpPipeline, String endpoint, + PlanetaryComputerServiceVersion serviceVersion) { + this(httpPipeline, JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of ImageExportsClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param serializerAdapter The serializer to serialize an object into a string. + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public ImageExportsClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, String endpoint, + PlanetaryComputerServiceVersion serviceVersion) { + this.httpPipeline = httpPipeline; + this.serializerAdapter = serializerAdapter; + this.endpoint = endpoint; + this.serviceVersion = serviceVersion; + this.service + = RestProxy.create(ImageExportsClientService.class, this.httpPipeline, this.getSerializerAdapter()); + } + + /** + * The interface defining all the services for ImageExportsClient to be used by the proxy service to perform REST + * calls. + */ + @Host("{endpoint}") + @ServiceInterface(name = "ImageExportsClient") + public interface ImageExportsClientService { + @Post("/data/collections/{collectionId}/image/static") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createStaticImage(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Post("/data/collections/{collectionId}/image/static") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createStaticImageSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Get("/data/collections/{collectionId}/image/static/{id}") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getStaticImage(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("id") String id, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/data/collections/{collectionId}/image/static/{id}") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getStaticImageSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("id") String id, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + } + + /** + * Create Static Image + * + * Create a new image export. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     cql (Required): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     geometry (Optional): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     render_params: String (Required)
+     *     cols: int (Required)
+     *     rows: int (Required)
+     *     format: String(png/cog) (Optional)
+     *     showBranding: Boolean (Optional)
+     *     mask: Boolean (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection ID. + * @param accept The accept parameter. + * @param body Image request body. + * @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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createStaticImageWithResponseAsync(String collectionId, String accept, + BinaryData body, RequestOptions requestOptions) { + final String contentType = "application/json"; + return FluxUtil.withContext(context -> service.createStaticImage(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, contentType, accept, body, requestOptions, context)); + } + + /** + * Create Static Image + * + * Create a new image export. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     cql (Required): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     geometry (Optional): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     render_params: String (Required)
+     *     cols: int (Required)
+     *     rows: int (Required)
+     *     format: String(png/cog) (Optional)
+     *     showBranding: Boolean (Optional)
+     *     mask: Boolean (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection ID. + * @param accept The accept parameter. + * @param body Image request body. + * @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 body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createStaticImageWithResponse(String collectionId, String accept, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/json"; + return service.createStaticImageSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + contentType, accept, body, requestOptions, Context.NONE); + } + + /** + * Get Static Image + * + * Fetch an existing image export by ID. + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection ID. + * @param id Image export 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 static Image + * + * Fetch an existing image export by ID along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getStaticImageWithResponseAsync(String collectionId, String id, + RequestOptions requestOptions) { + final String accept = "image/png"; + return FluxUtil.withContext(context -> service.getStaticImage(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, id, accept, requestOptions, context)); + } + + /** + * Get Static Image + * + * Fetch an existing image export by ID. + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection ID. + * @param id Image export 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 static Image + * + * Fetch an existing image export by ID along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getStaticImageWithResponse(String collectionId, String id, + RequestOptions requestOptions) { + final String accept = "image/png"; + return service.getStaticImageSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, id, + accept, requestOptions, Context.NONE); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/IngestionManagementClientImpl.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/IngestionManagementClientImpl.java new file mode 100644 index 000000000000..d53e867333c2 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/IngestionManagementClientImpl.java @@ -0,0 +1,1771 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.Delete; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.Patch; +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.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +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.PollingStrategyOptions; +import com.azure.core.util.polling.SyncDefaultPollingStrategy; +import com.azure.core.util.polling.SyncPoller; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.core.util.serializer.SerializerAdapter; +import com.azure.core.util.serializer.TypeReference; +import com.azure.planetarycomputer.PlanetaryComputerServiceVersion; +import com.azure.planetarycomputer.models.Operation; +import java.time.Duration; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the IngestionManagementClient type. + */ +public final class IngestionManagementClientImpl { + /** + * The proxy service used to perform REST calls. + */ + private final IngestionManagementClientService service; + + /** + * Service host. + */ + private final String endpoint; + + /** + * Gets Service host. + * + * @return the endpoint value. + */ + public String getEndpoint() { + return this.endpoint; + } + + /** + * Service version. + */ + private final PlanetaryComputerServiceVersion serviceVersion; + + /** + * Gets Service version. + * + * @return the serviceVersion value. + */ + public PlanetaryComputerServiceVersion 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; + } + + /** + * Initializes an instance of IngestionManagementClient client. + * + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public IngestionManagementClientImpl(String endpoint, PlanetaryComputerServiceVersion serviceVersion) { + this(new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build(), + JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of IngestionManagementClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public IngestionManagementClientImpl(HttpPipeline httpPipeline, String endpoint, + PlanetaryComputerServiceVersion serviceVersion) { + this(httpPipeline, JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of IngestionManagementClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param serializerAdapter The serializer to serialize an object into a string. + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public IngestionManagementClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, + String endpoint, PlanetaryComputerServiceVersion serviceVersion) { + this.httpPipeline = httpPipeline; + this.serializerAdapter = serializerAdapter; + this.endpoint = endpoint; + this.serviceVersion = serviceVersion; + this.service + = RestProxy.create(IngestionManagementClientService.class, this.httpPipeline, this.getSerializerAdapter()); + } + + /** + * The interface defining all the services for IngestionManagementClient to be used by the proxy service to perform + * REST calls. + */ + @Host("{endpoint}") + @ServiceInterface(name = "IngestionManagementClient") + public interface IngestionManagementClientService { + @Get("/{collectionId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getIngestions(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/{collectionId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getIngestionsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Post("/{collectionId}") + @ExpectedResponses({ 201 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createIngestion(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("application/json") BinaryData definition, RequestOptions requestOptions, Context context); + + @Post("/{collectionId}") + @ExpectedResponses({ 201 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createIngestionSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("application/json") BinaryData definition, RequestOptions requestOptions, Context context); + + @Get("/{collectionId}/{ingestionId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getIngestion(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("ingestionId") String ingestionId, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/{collectionId}/{ingestionId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getIngestionSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("ingestionId") String ingestionId, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Patch("/{collectionId}/{ingestionId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> updateIngestion(@HostParam("endpoint") String endpoint, + @HeaderParam("content-type") String contentType, @QueryParam("api-version") String apiVersion, + @PathParam("collectionId") String collectionId, @PathParam("ingestionId") String ingestionId, + @HeaderParam("Accept") String accept, @BodyParam("application/merge-patch+json") BinaryData definition, + RequestOptions requestOptions, Context context); + + @Patch("/{collectionId}/{ingestionId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response updateIngestionSync(@HostParam("endpoint") String endpoint, + @HeaderParam("content-type") String contentType, @QueryParam("api-version") String apiVersion, + @PathParam("collectionId") String collectionId, @PathParam("ingestionId") String ingestionId, + @HeaderParam("Accept") String accept, @BodyParam("application/merge-patch+json") BinaryData definition, + RequestOptions requestOptions, Context context); + + @Delete("/{collectionId}/{ingestionId}") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> deleteIngestion(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("ingestionId") String ingestionId, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Delete("/{collectionId}/{ingestionId}") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response deleteIngestionSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("ingestionId") String ingestionId, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/{collectionId}/{ingestionId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getIngestionRuns(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("ingestionId") String ingestionId, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/{collectionId}/{ingestionId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getIngestionRunsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("ingestionId") String ingestionId, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Post("/{collectionId}/{ingestionId}") + @ExpectedResponses({ 201 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createIngestionRun(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("ingestionId") String ingestionId, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Post("/{collectionId}/{ingestionId}") + @ExpectedResponses({ 201 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createIngestionRunSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("ingestionId") String ingestionId, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/{collectionId}/{ingestionId}/{runId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getIngestionRun(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("ingestionId") String ingestionId, @PathParam("runId") String runId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/{collectionId}/{ingestionId}/{runId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getIngestionRunSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("ingestionId") String ingestionId, @PathParam("runId") String runId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getIngestionOperations(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getIngestionOperationsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Delete("/") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> deleteAllIngestionOperations(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Delete("/") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response deleteAllIngestionOperationsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/{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> getIngestionOperation(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("operationId") String operationId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/{operationId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getIngestionOperationSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("operationId") String operationId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Delete("/{operationId}") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> deleteIngestionOperation(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("operationId") String operationId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Delete("/{operationId}") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response deleteIngestionOperationSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("operationId") String operationId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + } + + /** + * Get ingestions of a catalog. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
$topLongNoThe number of items to return
$skipLongNoThe number of items to skip
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     value (Required): [
+     *          (Required){
+     *             id: String (Required)
+     *             importType: String(StaticCatalog) (Optional, Required on create)
+     *             displayName: String (Optional)
+     *             sourceCatalogUrl: String (Optional)
+     *             skipExistingItems: Boolean (Optional)
+     *             keepOriginalAssets: Boolean (Optional)
+     *             creationTime: OffsetDateTime (Required)
+     *             status: String(Ready/Deleting) (Required)
+     *         }
+     *     ]
+     *     nextLink: String (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection 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 ingestions of a catalog along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getIngestionsWithResponseAsync(String collectionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getIngestions(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, accept, requestOptions, context)); + } + + /** + * Get ingestions of a catalog. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
$topLongNoThe number of items to return
$skipLongNoThe number of items to skip
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     value (Required): [
+     *          (Required){
+     *             id: String (Required)
+     *             importType: String(StaticCatalog) (Optional, Required on create)
+     *             displayName: String (Optional)
+     *             sourceCatalogUrl: String (Optional)
+     *             skipExistingItems: Boolean (Optional)
+     *             keepOriginalAssets: Boolean (Optional)
+     *             creationTime: OffsetDateTime (Required)
+     *             status: String(Ready/Deleting) (Required)
+     *         }
+     *     ]
+     *     nextLink: String (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection 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 ingestions of a catalog along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getIngestionsWithResponse(String collectionId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getIngestionsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + accept, requestOptions, Context.NONE); + } + + /** + * Create a new ingestion. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     importType: String(StaticCatalog) (Optional, Required on create)
+     *     displayName: String (Optional)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     *     creationTime: OffsetDateTime (Required)
+     *     status: String(Ready/Deleting) (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     importType: String(StaticCatalog) (Optional, Required on create)
+     *     displayName: String (Optional)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     *     creationTime: OffsetDateTime (Required)
+     *     status: String(Ready/Deleting) (Required)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param definition Definition of the ingestion. + * @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 microsoft Planetary Computer Pro geo-catalog ingestion creation model along with {@link Response} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createIngestionWithResponseAsync(String collectionId, BinaryData definition, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.createIngestion(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, contentType, accept, definition, requestOptions, context)); + } + + /** + * Create a new ingestion. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     importType: String(StaticCatalog) (Optional, Required on create)
+     *     displayName: String (Optional)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     *     creationTime: OffsetDateTime (Required)
+     *     status: String(Ready/Deleting) (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     importType: String(StaticCatalog) (Optional, Required on create)
+     *     displayName: String (Optional)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     *     creationTime: OffsetDateTime (Required)
+     *     status: String(Ready/Deleting) (Required)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param definition Definition of the ingestion. + * @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 microsoft Planetary Computer Pro geo-catalog ingestion creation model along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createIngestionWithResponse(String collectionId, BinaryData definition, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.createIngestionSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + contentType, accept, definition, requestOptions, Context.NONE); + } + + /** + * Get the definition of an ingestion. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     importType: String(StaticCatalog) (Optional, Required on create)
+     *     displayName: String (Optional)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     *     creationTime: OffsetDateTime (Required)
+     *     status: String(Ready/Deleting) (Required)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion 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 definition of an ingestion along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getIngestionWithResponseAsync(String collectionId, String ingestionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getIngestion(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, ingestionId, accept, requestOptions, context)); + } + + /** + * Get the definition of an ingestion. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     importType: String(StaticCatalog) (Optional, Required on create)
+     *     displayName: String (Optional)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     *     creationTime: OffsetDateTime (Required)
+     *     status: String(Ready/Deleting) (Required)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion 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 definition of an ingestion along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getIngestionWithResponse(String collectionId, String ingestionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getIngestionSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + ingestionId, accept, requestOptions, Context.NONE); + } + + /** + * Update an existing ingestion. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     importType: String(StaticCatalog) (Optional, Required on create)
+     *     displayName: String (Optional)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     *     creationTime: OffsetDateTime (Required)
+     *     status: String(Ready/Deleting) (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     importType: String(StaticCatalog) (Optional, Required on create)
+     *     displayName: String (Optional)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     *     creationTime: OffsetDateTime (Required)
+     *     status: String(Ready/Deleting) (Required)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion id. + * @param definition Ingestion properties to update. + * @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 microsoft Planetary Computer Pro geo-catalog ingestion creation model along with {@link Response} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateIngestionWithResponseAsync(String collectionId, String ingestionId, + BinaryData definition, RequestOptions requestOptions) { + final String contentType = "application/merge-patch+json"; + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.updateIngestion(this.getEndpoint(), contentType, this.getServiceVersion().getVersion(), + collectionId, ingestionId, accept, definition, requestOptions, context)); + } + + /** + * Update an existing ingestion. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     importType: String(StaticCatalog) (Optional, Required on create)
+     *     displayName: String (Optional)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     *     creationTime: OffsetDateTime (Required)
+     *     status: String(Ready/Deleting) (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     importType: String(StaticCatalog) (Optional, Required on create)
+     *     displayName: String (Optional)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     *     creationTime: OffsetDateTime (Required)
+     *     status: String(Ready/Deleting) (Required)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion id. + * @param definition Ingestion properties to update. + * @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 microsoft Planetary Computer Pro geo-catalog ingestion creation model along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateIngestionWithResponse(String collectionId, String ingestionId, + BinaryData definition, RequestOptions requestOptions) { + final String contentType = "application/merge-patch+json"; + final String accept = "application/json"; + return service.updateIngestionSync(this.getEndpoint(), contentType, this.getServiceVersion().getVersion(), + collectionId, ingestionId, accept, definition, requestOptions, Context.NONE); + } + + /** + * Delete an ingestion from a catalog. All runs of the ingestion will be deleted. Ingestion must not have any runs + * in progress or queued. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion 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 microsoft Planetary Computer Pro geo-catalog operation along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> deleteIngestionWithResponseAsync(String collectionId, String ingestionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.deleteIngestion(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, ingestionId, accept, requestOptions, context)); + } + + /** + * Delete an ingestion from a catalog. All runs of the ingestion will be deleted. Ingestion must not have any runs + * in progress or queued. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion 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 microsoft Planetary Computer Pro geo-catalog operation along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Response deleteIngestionWithResponse(String collectionId, String ingestionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteIngestionSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + ingestionId, accept, requestOptions, Context.NONE); + } + + /** + * Delete an ingestion from a catalog. All runs of the ingestion will be deleted. Ingestion must not have any runs + * in progress or queued. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion 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 PollerFlux} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginDeleteIngestionWithModelAsync(String collectionId, String ingestionId, + RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.deleteIngestionWithResponseAsync(collectionId, ingestionId, requestOptions), + new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(Operation.class), TypeReference.createInstance(Void.class)); + } + + /** + * Delete an ingestion from a catalog. All runs of the ingestion will be deleted. Ingestion must not have any runs + * in progress or queued. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion 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 SyncPoller} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginDeleteIngestionWithModel(String collectionId, String ingestionId, + RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.deleteIngestionWithResponse(collectionId, ingestionId, requestOptions), + new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(Operation.class), TypeReference.createInstance(Void.class)); + } + + /** + * Delete an ingestion from a catalog. All runs of the ingestion will be deleted. Ingestion must not have any runs + * in progress or queued. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion 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 PollerFlux} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginDeleteIngestionAsync(String collectionId, String ingestionId, + RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.deleteIngestionWithResponseAsync(collectionId, ingestionId, requestOptions), + new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(Void.class)); + } + + /** + * Delete an ingestion from a catalog. All runs of the ingestion will be deleted. Ingestion must not have any runs + * in progress or queued. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion 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 SyncPoller} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginDeleteIngestion(String collectionId, String ingestionId, + RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.deleteIngestionWithResponse(collectionId, ingestionId, requestOptions), + new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(Void.class)); + } + + /** + * Get the runs of an ingestion. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
$topLongNoThe number of items to return
$skipLongNoThe number of items to skip
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     value (Required): [
+     *          (Required){
+     *             id: String (Required)
+     *             parentRunId: String (Optional)
+     *             operation (Required): {
+     *                 id: String (Required)
+     *                 status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *                 creationTime: OffsetDateTime (Required)
+     *                 statusHistory (Required): [
+     *                      (Required){
+     *                         timestamp: OffsetDateTime (Required)
+     *                         status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *                         errorCode: String (Optional)
+     *                         errorMessage: String (Optional)
+     *                     }
+     *                 ]
+     *                 startTime: OffsetDateTime (Optional)
+     *                 finishTime: OffsetDateTime (Optional)
+     *                 totalItems: int (Required)
+     *                 totalPendingItems: int (Required)
+     *                 totalSuccessfulItems: int (Required)
+     *                 totalFailedItems: int (Required)
+     *             }
+     *             creationTime: OffsetDateTime (Required)
+     *             sourceCatalogUrl: String (Optional)
+     *             skipExistingItems: Boolean (Optional)
+     *             keepOriginalAssets: Boolean (Optional)
+     *         }
+     *     ]
+     *     nextLink: String (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion 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 runs of an ingestion along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getIngestionRunsWithResponseAsync(String collectionId, String ingestionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getIngestionRuns(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, ingestionId, accept, requestOptions, context)); + } + + /** + * Get the runs of an ingestion. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
$topLongNoThe number of items to return
$skipLongNoThe number of items to skip
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     value (Required): [
+     *          (Required){
+     *             id: String (Required)
+     *             parentRunId: String (Optional)
+     *             operation (Required): {
+     *                 id: String (Required)
+     *                 status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *                 creationTime: OffsetDateTime (Required)
+     *                 statusHistory (Required): [
+     *                      (Required){
+     *                         timestamp: OffsetDateTime (Required)
+     *                         status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *                         errorCode: String (Optional)
+     *                         errorMessage: String (Optional)
+     *                     }
+     *                 ]
+     *                 startTime: OffsetDateTime (Optional)
+     *                 finishTime: OffsetDateTime (Optional)
+     *                 totalItems: int (Required)
+     *                 totalPendingItems: int (Required)
+     *                 totalSuccessfulItems: int (Required)
+     *                 totalFailedItems: int (Required)
+     *             }
+     *             creationTime: OffsetDateTime (Required)
+     *             sourceCatalogUrl: String (Optional)
+     *             skipExistingItems: Boolean (Optional)
+     *             keepOriginalAssets: Boolean (Optional)
+     *         }
+     *     ]
+     *     nextLink: String (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion 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 runs of an ingestion along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getIngestionRunsWithResponse(String collectionId, String ingestionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getIngestionRunsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + ingestionId, accept, requestOptions, Context.NONE); + } + + /** + * Create a new run of an ingestion. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     parentRunId: String (Optional)
+     *     operation (Required): {
+     *         id: String (Required)
+     *         status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *         creationTime: OffsetDateTime (Required)
+     *         statusHistory (Required): [
+     *              (Required){
+     *                 timestamp: OffsetDateTime (Required)
+     *                 status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *                 errorCode: String (Optional)
+     *                 errorMessage: String (Optional)
+     *             }
+     *         ]
+     *         startTime: OffsetDateTime (Optional)
+     *         finishTime: OffsetDateTime (Optional)
+     *         totalItems: int (Required)
+     *         totalPendingItems: int (Required)
+     *         totalSuccessfulItems: int (Required)
+     *         totalFailedItems: int (Required)
+     *     }
+     *     creationTime: OffsetDateTime (Required)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion 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 microsoft Planetary Computer Pro geo-catalog ingestion run along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createIngestionRunWithResponseAsync(String collectionId, String ingestionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.createIngestionRun(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, ingestionId, accept, requestOptions, context)); + } + + /** + * Create a new run of an ingestion. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     parentRunId: String (Optional)
+     *     operation (Required): {
+     *         id: String (Required)
+     *         status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *         creationTime: OffsetDateTime (Required)
+     *         statusHistory (Required): [
+     *              (Required){
+     *                 timestamp: OffsetDateTime (Required)
+     *                 status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *                 errorCode: String (Optional)
+     *                 errorMessage: String (Optional)
+     *             }
+     *         ]
+     *         startTime: OffsetDateTime (Optional)
+     *         finishTime: OffsetDateTime (Optional)
+     *         totalItems: int (Required)
+     *         totalPendingItems: int (Required)
+     *         totalSuccessfulItems: int (Required)
+     *         totalFailedItems: int (Required)
+     *     }
+     *     creationTime: OffsetDateTime (Required)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion 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 microsoft Planetary Computer Pro geo-catalog ingestion run along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createIngestionRunWithResponse(String collectionId, String ingestionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.createIngestionRunSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + ingestionId, accept, requestOptions, Context.NONE); + } + + /** + * Get a run of an ingestion. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     parentRunId: String (Optional)
+     *     operation (Required): {
+     *         id: String (Required)
+     *         status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *         creationTime: OffsetDateTime (Required)
+     *         statusHistory (Required): [
+     *              (Required){
+     *                 timestamp: OffsetDateTime (Required)
+     *                 status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *                 errorCode: String (Optional)
+     *                 errorMessage: String (Optional)
+     *             }
+     *         ]
+     *         startTime: OffsetDateTime (Optional)
+     *         finishTime: OffsetDateTime (Optional)
+     *         totalItems: int (Required)
+     *         totalPendingItems: int (Required)
+     *         totalSuccessfulItems: int (Required)
+     *         totalFailedItems: int (Required)
+     *     }
+     *     creationTime: OffsetDateTime (Required)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion id. + * @param runId Run 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 a run of an ingestion along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getIngestionRunWithResponseAsync(String collectionId, String ingestionId, + String runId, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getIngestionRun(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, ingestionId, runId, accept, requestOptions, context)); + } + + /** + * Get a run of an ingestion. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     parentRunId: String (Optional)
+     *     operation (Required): {
+     *         id: String (Required)
+     *         status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *         creationTime: OffsetDateTime (Required)
+     *         statusHistory (Required): [
+     *              (Required){
+     *                 timestamp: OffsetDateTime (Required)
+     *                 status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *                 errorCode: String (Optional)
+     *                 errorMessage: String (Optional)
+     *             }
+     *         ]
+     *         startTime: OffsetDateTime (Optional)
+     *         finishTime: OffsetDateTime (Optional)
+     *         totalItems: int (Required)
+     *         totalPendingItems: int (Required)
+     *         totalSuccessfulItems: int (Required)
+     *         totalFailedItems: int (Required)
+     *     }
+     *     creationTime: OffsetDateTime (Required)
+     *     sourceCatalogUrl: String (Optional)
+     *     skipExistingItems: Boolean (Optional)
+     *     keepOriginalAssets: Boolean (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param ingestionId Ingestion id. + * @param runId Run 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 a run of an ingestion along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getIngestionRunWithResponse(String collectionId, String ingestionId, String runId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getIngestionRunSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + ingestionId, runId, accept, requestOptions, Context.NONE); + } + + /** + * Get operations of a geo-catalog collection. + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
$topLongNoThe number of items to return
$skipLongNoThe number of items to skip
collectionIdStringNoOperation id used to filter the results
statusStringNoOperation status used to filter the results. Allowed values: + * "Pending", "Running", "Succeeded", "Canceled", "Canceling", "Failed".
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     value (Required): [
+     *          (Required){
+     *             id: String (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             type: String (Required)
+     *             creationTime: OffsetDateTime (Required)
+     *             collectionId: String (Optional)
+     *             statusHistory (Required): [
+     *                  (Required){
+     *                     timestamp: OffsetDateTime (Required)
+     *                     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *                     errorCode: String (Optional)
+     *                     errorMessage: String (Optional)
+     *                 }
+     *             ]
+     *             startTime: OffsetDateTime (Optional)
+     *             finishTime: OffsetDateTime (Optional)
+     *             additionalInformation (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             error (Optional): {
+     *                 error (Required): (recursive schema, see error above)
+     *             }
+     *         }
+     *     ]
+     *     nextLink: String (Optional)
+     * }
+     * }
+     * 
+ * + * @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 operations of a geo-catalog collection along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getIngestionOperationsWithResponseAsync(RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getIngestionOperations(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Get operations of a geo-catalog collection. + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
$topLongNoThe number of items to return
$skipLongNoThe number of items to skip
collectionIdStringNoOperation id used to filter the results
statusStringNoOperation status used to filter the results. Allowed values: + * "Pending", "Running", "Succeeded", "Canceled", "Canceling", "Failed".
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     value (Required): [
+     *          (Required){
+     *             id: String (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             type: String (Required)
+     *             creationTime: OffsetDateTime (Required)
+     *             collectionId: String (Optional)
+     *             statusHistory (Required): [
+     *                  (Required){
+     *                     timestamp: OffsetDateTime (Required)
+     *                     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *                     errorCode: String (Optional)
+     *                     errorMessage: String (Optional)
+     *                 }
+     *             ]
+     *             startTime: OffsetDateTime (Optional)
+     *             finishTime: OffsetDateTime (Optional)
+     *             additionalInformation (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             error (Optional): {
+     *                 error (Required): (recursive schema, see error above)
+     *             }
+     *         }
+     *     ]
+     *     nextLink: String (Optional)
+     * }
+     * }
+     * 
+ * + * @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 operations of a geo-catalog collection along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getIngestionOperationsWithResponse(RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getIngestionOperationsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, + requestOptions, Context.NONE); + } + + /** + * Cancel all running operations of a geo-catalog collection. + * + * @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> deleteAllIngestionOperationsWithResponseAsync(RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.deleteAllIngestionOperations(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Cancel all running operations of a geo-catalog collection. + * + * @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 deleteAllIngestionOperationsWithResponse(RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteAllIngestionOperationsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + accept, requestOptions, Context.NONE); + } + + /** + * Get an operation of a geo-catalog collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param operationId Operation 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 an operation of a geo-catalog collection along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getIngestionOperationWithResponseAsync(String operationId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getIngestionOperation(this.getEndpoint(), + this.getServiceVersion().getVersion(), operationId, accept, requestOptions, context)); + } + + /** + * Get an operation of a geo-catalog collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param operationId Operation 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 an operation of a geo-catalog collection along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getIngestionOperationWithResponse(String operationId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getIngestionOperationSync(this.getEndpoint(), this.getServiceVersion().getVersion(), operationId, + accept, requestOptions, Context.NONE); + } + + /** + * Cancel a running operation of a geo-catalog collection. + * + * @param operationId Operation 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> deleteIngestionOperationWithResponseAsync(String operationId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.deleteIngestionOperation(this.getEndpoint(), + this.getServiceVersion().getVersion(), operationId, accept, requestOptions, context)); + } + + /** + * Cancel a running operation of a geo-catalog collection. + * + * @param operationId Operation 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 deleteIngestionOperationWithResponse(String operationId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteIngestionOperationSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + operationId, accept, requestOptions, Context.NONE); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/IngestionSourcesClientImpl.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/IngestionSourcesClientImpl.java new file mode 100644 index 000000000000..e59c6088d37e --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/IngestionSourcesClientImpl.java @@ -0,0 +1,695 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.Delete; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.Post; +import com.azure.core.annotation.Put; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.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.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +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.serializer.JacksonAdapter; +import com.azure.core.util.serializer.SerializerAdapter; +import com.azure.planetarycomputer.PlanetaryComputerServiceVersion; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the IngestionSourcesClient type. + */ +public final class IngestionSourcesClientImpl { + /** + * The proxy service used to perform REST calls. + */ + private final IngestionSourcesClientService service; + + /** + * Service host. + */ + private final String endpoint; + + /** + * Gets Service host. + * + * @return the endpoint value. + */ + public String getEndpoint() { + return this.endpoint; + } + + /** + * Service version. + */ + private final PlanetaryComputerServiceVersion serviceVersion; + + /** + * Gets Service version. + * + * @return the serviceVersion value. + */ + public PlanetaryComputerServiceVersion 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; + } + + /** + * Initializes an instance of IngestionSourcesClient client. + * + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public IngestionSourcesClientImpl(String endpoint, PlanetaryComputerServiceVersion serviceVersion) { + this(new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build(), + JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of IngestionSourcesClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public IngestionSourcesClientImpl(HttpPipeline httpPipeline, String endpoint, + PlanetaryComputerServiceVersion serviceVersion) { + this(httpPipeline, JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of IngestionSourcesClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param serializerAdapter The serializer to serialize an object into a string. + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public IngestionSourcesClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, String endpoint, + PlanetaryComputerServiceVersion serviceVersion) { + this.httpPipeline = httpPipeline; + this.serializerAdapter = serializerAdapter; + this.endpoint = endpoint; + this.serviceVersion = serviceVersion; + this.service + = RestProxy.create(IngestionSourcesClientService.class, this.httpPipeline, this.getSerializerAdapter()); + } + + /** + * The interface defining all the services for IngestionSourcesClient to be used by the proxy service to perform + * REST calls. + */ + @Host("{endpoint}") + @ServiceInterface(name = "IngestionSourcesClient") + public interface IngestionSourcesClientService { + @Get("/") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getIngestionSources(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getIngestionSourcesSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Post("/") + @ExpectedResponses({ 201 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createIngestionSource(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Content-Type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData ingestionSource, + RequestOptions requestOptions, Context context); + + @Post("/") + @ExpectedResponses({ 201 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createIngestionSourceSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Content-Type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData ingestionSource, + RequestOptions requestOptions, Context context); + + @Get("/{id}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getIngestionSource(@HostParam("endpoint") String endpoint, + @PathParam("id") String id, @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/{id}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getIngestionSourceSync(@HostParam("endpoint") String endpoint, @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Put("/{id}") + @ExpectedResponses({ 200, 201 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createOrReplaceIngestionSource(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("id") String id, + @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("application/json") BinaryData ingestionSource, RequestOptions requestOptions, Context context); + + @Put("/{id}") + @ExpectedResponses({ 200, 201 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createOrReplaceIngestionSourceSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("id") String id, + @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("application/json") BinaryData ingestionSource, RequestOptions requestOptions, Context context); + + @Delete("/{id}") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> deleteIngestionSource(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("id") String id, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Delete("/{id}") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response deleteIngestionSourceSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("id") String id, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/managed-identities") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getManagedIdentities(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/managed-identities") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getManagedIdentitiesSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + } + + /** + * Get ingestion sources in a geo-catalog. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
$topLongNoThe number of items to return
$skipLongNoThe number of items to skip
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     value (Required): [
+     *          (Required){
+     *             id: String (Required)
+     *             kind: String(SasToken/BlobManagedIdentity) (Required)
+     *             created: OffsetDateTime (Required)
+     *         }
+     *     ]
+     *     nextLink: String (Optional)
+     * }
+     * }
+     * 
+ * + * @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 ingestion sources in a geo-catalog along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getIngestionSourcesWithResponseAsync(RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getIngestionSources(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Get ingestion sources in a geo-catalog. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
$topLongNoThe number of items to return
$skipLongNoThe number of items to skip
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     value (Required): [
+     *          (Required){
+     *             id: String (Required)
+     *             kind: String(SasToken/BlobManagedIdentity) (Required)
+     *             created: OffsetDateTime (Required)
+     *         }
+     *     ]
+     *     nextLink: String (Optional)
+     * }
+     * }
+     * 
+ * + * @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 ingestion sources in a geo-catalog along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getIngestionSourcesWithResponse(RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getIngestionSourcesSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, + requestOptions, Context.NONE); + } + + /** + * Create a new ingestion source in a geo-catalog. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     kind: String(SasToken/BlobManagedIdentity) (Required)
+     *     id: String (Required)
+     *     created: OffsetDateTime (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     kind: String(SasToken/BlobManagedIdentity) (Required)
+     *     id: String (Required)
+     *     created: OffsetDateTime (Required)
+     * }
+     * }
+     * 
+ * + * @param ingestionSource Definition of the ingestion source. + * @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 ingestion Source along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createIngestionSourceWithResponseAsync(BinaryData ingestionSource, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.createIngestionSource(this.getEndpoint(), + this.getServiceVersion().getVersion(), contentType, accept, ingestionSource, requestOptions, context)); + } + + /** + * Create a new ingestion source in a geo-catalog. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     kind: String(SasToken/BlobManagedIdentity) (Required)
+     *     id: String (Required)
+     *     created: OffsetDateTime (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     kind: String(SasToken/BlobManagedIdentity) (Required)
+     *     id: String (Required)
+     *     created: OffsetDateTime (Required)
+     * }
+     * }
+     * 
+ * + * @param ingestionSource Definition of the ingestion source. + * @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 ingestion Source along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createIngestionSourceWithResponse(BinaryData ingestionSource, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.createIngestionSourceSync(this.getEndpoint(), this.getServiceVersion().getVersion(), contentType, + accept, ingestionSource, requestOptions, Context.NONE); + } + + /** + * Get an ingestion source in a geo-catalog. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     kind: String(SasToken/BlobManagedIdentity) (Required)
+     *     id: String (Required)
+     *     created: OffsetDateTime (Required)
+     * }
+     * }
+     * 
+ * + * @param id Ingestion source 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 an ingestion source in a geo-catalog along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getIngestionSourceWithResponseAsync(String id, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getIngestionSource(this.getEndpoint(), id, + this.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Get an ingestion source in a geo-catalog. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     kind: String(SasToken/BlobManagedIdentity) (Required)
+     *     id: String (Required)
+     *     created: OffsetDateTime (Required)
+     * }
+     * }
+     * 
+ * + * @param id Ingestion source 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 an ingestion source in a geo-catalog along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getIngestionSourceWithResponse(String id, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getIngestionSourceSync(this.getEndpoint(), id, this.getServiceVersion().getVersion(), accept, + requestOptions, Context.NONE); + } + + /** + * Update an existing ingestion source in a geo-catalog. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     kind: String(SasToken/BlobManagedIdentity) (Required)
+     *     id: String (Required)
+     *     created: OffsetDateTime (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     kind: String(SasToken/BlobManagedIdentity) (Required)
+     *     id: String (Required)
+     *     created: OffsetDateTime (Required)
+     * }
+     * }
+     * 
+ * + * @param id Ingestion source id. + * @param ingestionSource Definition of the ingestion source. + * @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 ingestion Source along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createOrReplaceIngestionSourceWithResponseAsync(String id, + BinaryData ingestionSource, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.createOrReplaceIngestionSource(this.getEndpoint(), + this.getServiceVersion().getVersion(), id, contentType, accept, ingestionSource, requestOptions, context)); + } + + /** + * Update an existing ingestion source in a geo-catalog. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     kind: String(SasToken/BlobManagedIdentity) (Required)
+     *     id: String (Required)
+     *     created: OffsetDateTime (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     kind: String(SasToken/BlobManagedIdentity) (Required)
+     *     id: String (Required)
+     *     created: OffsetDateTime (Required)
+     * }
+     * }
+     * 
+ * + * @param id Ingestion source id. + * @param ingestionSource Definition of the ingestion source. + * @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 ingestion Source along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createOrReplaceIngestionSourceWithResponse(String id, BinaryData ingestionSource, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.createOrReplaceIngestionSourceSync(this.getEndpoint(), this.getServiceVersion().getVersion(), id, + contentType, accept, ingestionSource, requestOptions, Context.NONE); + } + + /** + * Delete an ingestion source from a geo-catalog. + * + * @param id Ingestion source 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> deleteIngestionSourceWithResponseAsync(String id, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.deleteIngestionSource(this.getEndpoint(), + this.getServiceVersion().getVersion(), id, accept, requestOptions, context)); + } + + /** + * Delete an ingestion source from a geo-catalog. + * + * @param id Ingestion source 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 deleteIngestionSourceWithResponse(String id, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteIngestionSourceSync(this.getEndpoint(), this.getServiceVersion().getVersion(), id, accept, + requestOptions, Context.NONE); + } + + /** + * Get all managed identities with access to storage accounts configured for a geo-catalog. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     value (Required): [
+     *          (Required){
+     *             objectId: String (Required)
+     *             resourceId: String (Required)
+     *         }
+     *     ]
+     *     nextLink: String (Optional)
+     * }
+     * }
+     * 
+ * + * @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 all managed identities with access to storage accounts configured for a geo-catalog along with + * {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getManagedIdentitiesWithResponseAsync(RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getManagedIdentities(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Get all managed identities with access to storage accounts configured for a geo-catalog. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     value (Required): [
+     *          (Required){
+     *             objectId: String (Required)
+     *             resourceId: String (Required)
+     *         }
+     *     ]
+     *     nextLink: String (Optional)
+     * }
+     * }
+     * 
+ * + * @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 all managed identities with access to storage accounts configured for a geo-catalog along with + * {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getManagedIdentitiesWithResponse(RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getManagedIdentitiesSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, + requestOptions, Context.NONE); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/JsonMergePatchHelper.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/JsonMergePatchHelper.java new file mode 100644 index 000000000000..b67e3c2663e5 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/JsonMergePatchHelper.java @@ -0,0 +1,165 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.implementation; + +import com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionDefinition; +import com.azure.planetarycomputer.models.Asset; +import com.azure.planetarycomputer.models.ContextExtension; +import com.azure.planetarycomputer.models.Geometry; +import com.azure.planetarycomputer.models.ItemProperties; +import com.azure.planetarycomputer.models.Link; +import com.azure.planetarycomputer.models.Provider; +import com.azure.planetarycomputer.models.StacItemOrItemCollection; +import java.util.List; + +/** + * This is the Helper class to enable json merge patch serialization for a model. + */ +public class JsonMergePatchHelper { + private static IngestionDefinitionAccessor ingestionDefinitionAccessor; + + public interface IngestionDefinitionAccessor { + IngestionDefinition prepareModelForJsonMergePatch(IngestionDefinition ingestionDefinition, + boolean jsonMergePatchEnabled); + + boolean isJsonMergePatch(IngestionDefinition ingestionDefinition); + } + + public static void setIngestionDefinitionAccessor(IngestionDefinitionAccessor accessor) { + ingestionDefinitionAccessor = accessor; + } + + public static IngestionDefinitionAccessor getIngestionDefinitionAccessor() { + return ingestionDefinitionAccessor; + } + + private static LinkAccessor linkAccessor; + + public interface LinkAccessor { + Link prepareModelForJsonMergePatch(Link link, boolean jsonMergePatchEnabled); + + boolean isJsonMergePatch(Link link); + } + + public static void setLinkAccessor(LinkAccessor accessor) { + linkAccessor = accessor; + } + + public static LinkAccessor getLinkAccessor() { + return linkAccessor; + } + + private static AssetAccessor assetAccessor; + + public interface AssetAccessor { + Asset prepareModelForJsonMergePatch(Asset asset, boolean jsonMergePatchEnabled); + + boolean isJsonMergePatch(Asset asset); + } + + public static void setAssetAccessor(AssetAccessor accessor) { + assetAccessor = accessor; + } + + public static AssetAccessor getAssetAccessor() { + return assetAccessor; + } + + private static ProviderAccessor providerAccessor; + + public interface ProviderAccessor { + Provider prepareModelForJsonMergePatch(Provider provider, boolean jsonMergePatchEnabled); + + boolean isJsonMergePatch(Provider provider); + } + + public static void setProviderAccessor(ProviderAccessor accessor) { + providerAccessor = accessor; + } + + public static ProviderAccessor getProviderAccessor() { + return providerAccessor; + } + + private static StacItemOrItemCollectionAccessor stacItemOrItemCollectionAccessor; + + public interface StacItemOrItemCollectionAccessor { + StacItemOrItemCollection prepareModelForJsonMergePatch(StacItemOrItemCollection stacItemOrItemCollection, + boolean jsonMergePatchEnabled); + + boolean isJsonMergePatch(StacItemOrItemCollection stacItemOrItemCollection); + + void setStacVersion(StacItemOrItemCollection stacItemOrItemCollection, String stacVersion); + + void setLinks(StacItemOrItemCollection stacItemOrItemCollection, List links); + + void setMsftCreated(StacItemOrItemCollection stacItemOrItemCollection, String msftCreated); + + void setMsftUpdated(StacItemOrItemCollection stacItemOrItemCollection, String msftUpdated); + + void setMsftShortDescription(StacItemOrItemCollection stacItemOrItemCollection, String msftShortDescription); + + void setStacExtensions(StacItemOrItemCollection stacItemOrItemCollection, List stacExtensions); + } + + public static void setStacItemOrItemCollectionAccessor(StacItemOrItemCollectionAccessor accessor) { + stacItemOrItemCollectionAccessor = accessor; + } + + public static StacItemOrItemCollectionAccessor getStacItemOrItemCollectionAccessor() { + return stacItemOrItemCollectionAccessor; + } + + private static GeometryAccessor geometryAccessor; + + public interface GeometryAccessor { + Geometry prepareModelForJsonMergePatch(Geometry geometry, boolean jsonMergePatchEnabled); + + boolean isJsonMergePatch(Geometry geometry); + + void setBbox(Geometry geometry, List bbox); + } + + public static void setGeometryAccessor(GeometryAccessor accessor) { + geometryAccessor = accessor; + } + + public static GeometryAccessor getGeometryAccessor() { + return geometryAccessor; + } + + private static ItemPropertiesAccessor itemPropertiesAccessor; + + public interface ItemPropertiesAccessor { + ItemProperties prepareModelForJsonMergePatch(ItemProperties itemProperties, boolean jsonMergePatchEnabled); + + boolean isJsonMergePatch(ItemProperties itemProperties); + } + + public static void setItemPropertiesAccessor(ItemPropertiesAccessor accessor) { + itemPropertiesAccessor = accessor; + } + + public static ItemPropertiesAccessor getItemPropertiesAccessor() { + return itemPropertiesAccessor; + } + + private static ContextExtensionAccessor contextExtensionAccessor; + + public interface ContextExtensionAccessor { + ContextExtension prepareModelForJsonMergePatch(ContextExtension contextExtension, + boolean jsonMergePatchEnabled); + + boolean isJsonMergePatch(ContextExtension contextExtension); + } + + public static void setContextExtensionAccessor(ContextExtensionAccessor accessor) { + contextExtensionAccessor = accessor; + } + + public static ContextExtensionAccessor getContextExtensionAccessor() { + return contextExtensionAccessor; + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/MapLegendsClientImpl.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/MapLegendsClientImpl.java new file mode 100644 index 000000000000..8e9fbad80114 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/MapLegendsClientImpl.java @@ -0,0 +1,569 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.implementation; + +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.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.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +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.serializer.JacksonAdapter; +import com.azure.core.util.serializer.SerializerAdapter; +import com.azure.planetarycomputer.PlanetaryComputerServiceVersion; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the MapLegendsClient type. + */ +public final class MapLegendsClientImpl { + /** + * The proxy service used to perform REST calls. + */ + private final MapLegendsClientService service; + + /** + * Service host. + */ + private final String endpoint; + + /** + * Gets Service host. + * + * @return the endpoint value. + */ + public String getEndpoint() { + return this.endpoint; + } + + /** + * Service version. + */ + private final PlanetaryComputerServiceVersion serviceVersion; + + /** + * Gets Service version. + * + * @return the serviceVersion value. + */ + public PlanetaryComputerServiceVersion 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; + } + + /** + * Initializes an instance of MapLegendsClient client. + * + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public MapLegendsClientImpl(String endpoint, PlanetaryComputerServiceVersion serviceVersion) { + this(new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build(), + JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of MapLegendsClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public MapLegendsClientImpl(HttpPipeline httpPipeline, String endpoint, + PlanetaryComputerServiceVersion serviceVersion) { + this(httpPipeline, JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of MapLegendsClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param serializerAdapter The serializer to serialize an object into a string. + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public MapLegendsClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, String endpoint, + PlanetaryComputerServiceVersion serviceVersion) { + this.httpPipeline = httpPipeline; + this.serializerAdapter = serializerAdapter; + this.endpoint = endpoint; + this.serviceVersion = serviceVersion; + this.service = RestProxy.create(MapLegendsClientService.class, this.httpPipeline, this.getSerializerAdapter()); + } + + /** + * The interface defining all the services for MapLegendsClient to be used by the proxy service to perform REST + * calls. + */ + @Host("{endpoint}") + @ServiceInterface(name = "MapLegendsClient") + public interface MapLegendsClientService { + @Get("/data/legend/classmap/{classmapName}") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getClassmapLegend(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("classmapName") String classmapName, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/legend/classmap/{classmapName}") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getClassmapLegendSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("classmapName") String classmapName, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/legend/colormap/{cmapName}") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getLegend(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("cmapName") String cmapName, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/legend/colormap/{cmapName}") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getLegendSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("cmapName") String cmapName, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/legend/interval/{classmapName}") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getIntervalLegend(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("classmapName") String classmapName, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/legend/interval/{classmapName}") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getIntervalLegendSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("classmapName") String classmapName, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + } + + /** + * Get Classmap Legend + * + * Generate values and color swatches mapping for a given classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim + * from the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
trim_startIntegerNoNumber of items to trim from the start of the + * cmap
trim_endIntegerNoNumber of items to trim from the end of the cmap
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *      (Optional): {
+     *         String (Required): [
+     *             long (Required)
+     *         ]
+     *     }
+     * }
+     * }
+     * 
+ * + * @param classmapName classmap name. + * @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 classmap Legend + * + * Generate values and color swatches mapping for a given classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim + * from the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap along with {@link Response} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getClassmapLegendWithResponseAsync(String classmapName, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getClassmapLegend(this.getEndpoint(), + this.getServiceVersion().getVersion(), classmapName, accept, requestOptions, context)); + } + + /** + * Get Classmap Legend + * + * Generate values and color swatches mapping for a given classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim + * from the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
trim_startIntegerNoNumber of items to trim from the start of the + * cmap
trim_endIntegerNoNumber of items to trim from the end of the cmap
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *      (Optional): {
+     *         String (Required): [
+     *             long (Required)
+     *         ]
+     *     }
+     * }
+     * }
+     * 
+ * + * @param classmapName classmap name. + * @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 classmap Legend + * + * Generate values and color swatches mapping for a given classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim + * from the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getClassmapLegendWithResponse(String classmapName, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getClassmapLegendSync(this.getEndpoint(), this.getServiceVersion().getVersion(), classmapName, + accept, requestOptions, Context.NONE); + } + + /** + * Get Legend + * + * Generate a legend image for a given colormap. + * + * If the colormap has non-contiguous values at the beginning or end, + * which aren't desired in the output image, they can be trimmed by specifying + * the number of values to trim. + * + * Args: + * cmap_name (string): The name of the registered colormap to generate + * a legend for + * height (float, optional): The output height of the legend image + * width (float, optional): The output width of the legend image + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap + * + * Returns: + * HTTP response with jpeg encoded image data. + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
heightDoubleNoThe output height of the legend image
widthDoubleNoThe output width of the legend image
trim_startIntegerNoNumber of items to trim from the start of the + * cmap
trim_endIntegerNoNumber of items to trim from the end of the cmap
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param cmapName The name of the registered colormap to generate a legend for. + * @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 legend + * + * Generate a legend image for a given colormap. + * + * If the colormap has non-contiguous values at the beginning or end, + * which aren't desired in the output image, they can be trimmed by specifying + * the number of values to trim. + * + * Args: + * cmap_name (string): The name of the registered colormap to generate + * a legend for + * height (float, optional): The output height of the legend image + * width (float, optional): The output width of the legend image + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap + * + * Returns: + * HTTP response with jpeg encoded image data along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getLegendWithResponseAsync(String cmapName, RequestOptions requestOptions) { + final String accept = "image/png"; + return FluxUtil.withContext(context -> service.getLegend(this.getEndpoint(), + this.getServiceVersion().getVersion(), cmapName, accept, requestOptions, context)); + } + + /** + * Get Legend + * + * Generate a legend image for a given colormap. + * + * If the colormap has non-contiguous values at the beginning or end, + * which aren't desired in the output image, they can be trimmed by specifying + * the number of values to trim. + * + * Args: + * cmap_name (string): The name of the registered colormap to generate + * a legend for + * height (float, optional): The output height of the legend image + * width (float, optional): The output width of the legend image + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap + * + * Returns: + * HTTP response with jpeg encoded image data. + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
heightDoubleNoThe output height of the legend image
widthDoubleNoThe output width of the legend image
trim_startIntegerNoNumber of items to trim from the start of the + * cmap
trim_endIntegerNoNumber of items to trim from the end of the cmap
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param cmapName The name of the registered colormap to generate a legend for. + * @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 legend + * + * Generate a legend image for a given colormap. + * + * If the colormap has non-contiguous values at the beginning or end, + * which aren't desired in the output image, they can be trimmed by specifying + * the number of values to trim. + * + * Args: + * cmap_name (string): The name of the registered colormap to generate + * a legend for + * height (float, optional): The output height of the legend image + * width (float, optional): The output width of the legend image + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap + * + * Returns: + * HTTP response with jpeg encoded image data along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getLegendWithResponse(String cmapName, RequestOptions requestOptions) { + final String accept = "image/png"; + return service.getLegendSync(this.getEndpoint(), this.getServiceVersion().getVersion(), cmapName, accept, + requestOptions, Context.NONE); + } + + /** + * Get Interval Legend + * + * Generate values and color swatches mapping for a given interval classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
trim_startIntegerNoNumber of items to trim from the start of the + * cmap
trim_endIntegerNoNumber of items to trim from the end of the cmap
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *      (Required)[
+     *         BinaryData (Required)
+     *     ]
+     * ]
+     * }
+     * 
+ * + * @param classmapName classmap name. + * @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 interval Legend + * + * Generate values and color swatches mapping for a given interval classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap along with {@link Response} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getIntervalLegendWithResponseAsync(String classmapName, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getIntervalLegend(this.getEndpoint(), + this.getServiceVersion().getVersion(), classmapName, accept, requestOptions, context)); + } + + /** + * Get Interval Legend + * + * Generate values and color swatches mapping for a given interval classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
trim_startIntegerNoNumber of items to trim from the start of the + * cmap
trim_endIntegerNoNumber of items to trim from the end of the cmap
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *      (Required)[
+     *         BinaryData (Required)
+     *     ]
+     * ]
+     * }
+     * 
+ * + * @param classmapName classmap name. + * @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 interval Legend + * + * Generate values and color swatches mapping for a given interval classmap. + * + * Args: + * trim_start (int, optional): Number of items to trim from + * the start of the cmap + * trim_end (int, optional): Number of items to trim from the end of the cmap along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getIntervalLegendWithResponse(String classmapName, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getIntervalLegendSync(this.getEndpoint(), this.getServiceVersion().getVersion(), classmapName, + accept, requestOptions, Context.NONE); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/MosaicTilerClientImpl.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/MosaicTilerClientImpl.java new file mode 100644 index 000000000000..eeca35d8a5bf --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/MosaicTilerClientImpl.java @@ -0,0 +1,2402 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +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.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +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.serializer.JacksonAdapter; +import com.azure.core.util.serializer.SerializerAdapter; +import com.azure.planetarycomputer.PlanetaryComputerServiceVersion; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the MosaicTilerClient type. + */ +public final class MosaicTilerClientImpl { + /** + * The proxy service used to perform REST calls. + */ + private final MosaicTilerClientService service; + + /** + * Service host. + */ + private final String endpoint; + + /** + * Gets Service host. + * + * @return the endpoint value. + */ + public String getEndpoint() { + return this.endpoint; + } + + /** + * Service version. + */ + private final PlanetaryComputerServiceVersion serviceVersion; + + /** + * Gets Service version. + * + * @return the serviceVersion value. + */ + public PlanetaryComputerServiceVersion 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; + } + + /** + * Initializes an instance of MosaicTilerClient client. + * + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public MosaicTilerClientImpl(String endpoint, PlanetaryComputerServiceVersion serviceVersion) { + this(new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build(), + JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of MosaicTilerClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public MosaicTilerClientImpl(HttpPipeline httpPipeline, String endpoint, + PlanetaryComputerServiceVersion serviceVersion) { + this(httpPipeline, JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of MosaicTilerClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param serializerAdapter The serializer to serialize an object into a string. + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public MosaicTilerClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, String endpoint, + PlanetaryComputerServiceVersion serviceVersion) { + this.httpPipeline = httpPipeline; + this.serializerAdapter = serializerAdapter; + this.endpoint = endpoint; + this.serviceVersion = serviceVersion; + this.service = RestProxy.create(MosaicTilerClientService.class, this.httpPipeline, this.getSerializerAdapter()); + } + + /** + * The interface defining all the services for MosaicTilerClient to be used by the proxy service to perform REST + * calls. + */ + @Host("{endpoint}") + @ServiceInterface(name = "MosaicTilerClient") + public interface MosaicTilerClientService { + @Get("/data/mosaic/{searchId}/tiles/{z}/{x}/{y}@{scale}x.{format}") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getTile(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("searchId") String searchId, + @PathParam("z") double z, @PathParam("x") double x, @PathParam("y") double y, + @PathParam("scale") double scale, @PathParam("format") String format, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/data/mosaic/{searchId}/tiles/{z}/{x}/{y}@{scale}x.{format}") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getTileSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("searchId") String searchId, + @PathParam("z") double z, @PathParam("x") double x, @PathParam("y") double y, + @PathParam("scale") double scale, @PathParam("format") String format, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/data/mosaic/{searchId}/tiles/{tileMatrixSetId}/{z}/{x}/{y}@{scale}x.{format}") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getTileWithMatrixSet(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("searchId") String searchId, + @PathParam("tileMatrixSetId") String tileMatrixSetId, @PathParam("z") double z, @PathParam("x") double x, + @PathParam("y") double y, @PathParam("scale") double scale, @PathParam("format") String format, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/mosaic/{searchId}/tiles/{tileMatrixSetId}/{z}/{x}/{y}@{scale}x.{format}") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getTileWithMatrixSetSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("searchId") String searchId, + @PathParam("tileMatrixSetId") String tileMatrixSetId, @PathParam("z") double z, @PathParam("x") double x, + @PathParam("y") double y, @PathParam("scale") double scale, @PathParam("format") String format, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/mosaic/{searchId}/tilejson.json") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getTileJson(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("searchId") String searchId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/mosaic/{searchId}/tilejson.json") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getTileJsonSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("searchId") String searchId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/mosaic/{searchId}/{tileMatrixSetId}/tilejson.json") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getTileJsonWithMatrixSet(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("searchId") String searchId, + @PathParam("tileMatrixSetId") String tileMatrixSetId, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/data/mosaic/{searchId}/{tileMatrixSetId}/tilejson.json") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getTileJsonWithMatrixSetSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("searchId") String searchId, + @PathParam("tileMatrixSetId") String tileMatrixSetId, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/data/mosaic/{searchId}/WMTSCapabilities.xml") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getWmtsCapabilities(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("searchId") String searchId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/mosaic/{searchId}/WMTSCapabilities.xml") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getWmtsCapabilitiesSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("searchId") String searchId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/mosaic/{searchId}/{tileMatrixSetId}/WMTSCapabilities.xml") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getWmtsCapabilitiesWithMatrixSet(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("searchId") String searchId, + @PathParam("tileMatrixSetId") String tileMatrixSetId, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/data/mosaic/{searchId}/{tileMatrixSetId}/WMTSCapabilities.xml") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getWmtsCapabilitiesWithMatrixSetSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("searchId") String searchId, + @PathParam("tileMatrixSetId") String tileMatrixSetId, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Post("/data/mosaic/register") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> registerSearch(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Content-Type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData registerSearchRequest, + RequestOptions requestOptions, Context context); + + @Post("/data/mosaic/register") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response registerSearchSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Content-Type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData registerSearchRequest, + RequestOptions requestOptions, Context context); + + @Get("/data/mosaic/{searchId}/info") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getSearchInfo(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("searchId") String searchId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/mosaic/{searchId}/info") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getSearchInfoSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("searchId") String searchId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/mosaic/{searchId}/tiles/{z}/{x}/{y}/assets") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getAssetsForTile(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("searchId") String searchId, + @PathParam("z") double z, @PathParam("x") double x, @PathParam("y") double y, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/mosaic/{searchId}/tiles/{z}/{x}/{y}/assets") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getAssetsForTileSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("searchId") String searchId, + @PathParam("z") double z, @PathParam("x") double x, @PathParam("y") double y, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/mosaic/{searchId}/tiles/{tileMatrixSetId}/{z}/{x}/{y}/assets") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getAssetsForTileWithMatrixSet(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("searchId") String searchId, + @PathParam("tileMatrixSetId") String tileMatrixSetId, @PathParam("z") double z, @PathParam("x") double x, + @PathParam("y") double y, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/data/mosaic/{searchId}/tiles/{tileMatrixSetId}/{z}/{x}/{y}/assets") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getAssetsForTileWithMatrixSetSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("searchId") String searchId, + @PathParam("tileMatrixSetId") String tileMatrixSetId, @PathParam("z") double z, @PathParam("x") double x, + @PathParam("y") double y, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/data/mosaic/{searchId}/{lon},{lat}/assets") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getAssetsForPoint(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("searchId") String searchId, + @PathParam("lon") double lon, @PathParam("lat") double lat, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/data/mosaic/{searchId}/{lon},{lat}/assets") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getAssetsForPointSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("searchId") String searchId, + @PathParam("lon") double lon, @PathParam("lat") double lat, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + } + + /** + * Tile + * + * Create map tile. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: + * 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", "LINZAntarticaMapTilegrid", + * "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", "WGS1984Quad", + * "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
collectionStringNoSTAC Collection ID
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
pixel_selectionStringNoPixel selection method. Allowed values: "first", + * "highest", "lowest", "mean", "median", "stdev", "lastbandlow", "lastbandhight".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept 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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTileWithResponseAsync(String searchId, double z, double x, double y, + double scale, String format, String accept, RequestOptions requestOptions) { + return FluxUtil.withContext(context -> service.getTile(this.getEndpoint(), + this.getServiceVersion().getVersion(), searchId, z, x, y, scale, format, accept, requestOptions, context)); + } + + /** + * Tile + * + * Create map tile. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: + * 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", "LINZAntarticaMapTilegrid", + * "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", "WGS1984Quad", + * "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
collectionStringNoSTAC Collection ID
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
pixel_selectionStringNoPixel selection method. Allowed values: "first", + * "highest", "lowest", "mean", "median", "stdev", "lastbandlow", "lastbandhight".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept 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 body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTileWithResponse(String searchId, double z, double x, double y, double scale, + String format, String accept, RequestOptions requestOptions) { + return service.getTileSync(this.getEndpoint(), this.getServiceVersion().getVersion(), searchId, z, x, y, scale, + format, accept, requestOptions, Context.NONE); + } + + /** + * Tile Tilematrixsetid As Path + * + * Create map tile. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
collectionStringNoSTAC Collection ID
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
pixel_selectionStringNoPixel selection method. Allowed values: "first", + * "highest", "lowest", "mean", "median", "stdev", "lastbandlow", "lastbandhight".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept 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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTileWithMatrixSetWithResponseAsync(String searchId, String tileMatrixSetId, + double z, double x, double y, double scale, String format, String accept, RequestOptions requestOptions) { + return FluxUtil.withContext( + context -> service.getTileWithMatrixSet(this.getEndpoint(), this.getServiceVersion().getVersion(), searchId, + tileMatrixSetId, z, x, y, scale, format, accept, requestOptions, context)); + } + + /** + * Tile Tilematrixsetid As Path + * + * Create map tile. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
collectionStringNoSTAC Collection ID
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
pixel_selectionStringNoPixel selection method. Allowed values: "first", + * "highest", "lowest", "mean", "median", "stdev", "lastbandlow", "lastbandhight".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept 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 body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTileWithMatrixSetWithResponse(String searchId, String tileMatrixSetId, double z, + double x, double y, double scale, String format, String accept, RequestOptions requestOptions) { + return service.getTileWithMatrixSetSync(this.getEndpoint(), this.getServiceVersion().getVersion(), searchId, + tileMatrixSetId, z, x, y, scale, format, accept, requestOptions, Context.NONE); + } + + /** + * Tilejson + * + * Return TileJSON document for a searchId. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", + * "LINZAntarticaMapTilegrid", "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", + * "WGS1984Quad", "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
tile_formatStringNoDefault will be automatically defined if the output image + * needs a mask (png) or + * not (jpeg). Allowed values: "png", "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferDoubleNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
collectionStringNoSTAC Collection ID
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
pixel_selectionStringNoPixel selection method. Allowed values: "first", + * "highest", "lowest", "mean", "median", "stdev", "lastbandlow", "lastbandhight".
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     tilejson: String (Optional)
+     *     name: String (Optional)
+     *     description: String (Optional)
+     *     version: String (Optional)
+     *     attribution: String (Optional)
+     *     template: String (Optional)
+     *     legend: String (Optional)
+     *     scheme: String(xyz/tms) (Optional)
+     *     tiles (Required): [
+     *         String (Required)
+     *     ]
+     *     grids (Optional): [
+     *         String (Optional)
+     *     ]
+     *     data (Optional): [
+     *         String (Optional)
+     *     ]
+     *     minzoom: Integer (Optional)
+     *     maxzoom: Integer (Optional)
+     *     bounds (Optional): [
+     *         double (Optional)
+     *     ]
+     *     center (Optional): [
+     *         double (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @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 tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTileJsonWithResponseAsync(String searchId, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getTileJson(this.getEndpoint(), + this.getServiceVersion().getVersion(), searchId, accept, requestOptions, context)); + } + + /** + * Tilejson + * + * Return TileJSON document for a searchId. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", + * "LINZAntarticaMapTilegrid", "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", + * "WGS1984Quad", "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
tile_formatStringNoDefault will be automatically defined if the output image + * needs a mask (png) or + * not (jpeg). Allowed values: "png", "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferDoubleNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
collectionStringNoSTAC Collection ID
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
pixel_selectionStringNoPixel selection method. Allowed values: "first", + * "highest", "lowest", "mean", "median", "stdev", "lastbandlow", "lastbandhight".
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     tilejson: String (Optional)
+     *     name: String (Optional)
+     *     description: String (Optional)
+     *     version: String (Optional)
+     *     attribution: String (Optional)
+     *     template: String (Optional)
+     *     legend: String (Optional)
+     *     scheme: String(xyz/tms) (Optional)
+     *     tiles (Required): [
+     *         String (Required)
+     *     ]
+     *     grids (Optional): [
+     *         String (Optional)
+     *     ]
+     *     data (Optional): [
+     *         String (Optional)
+     *     ]
+     *     minzoom: Integer (Optional)
+     *     maxzoom: Integer (Optional)
+     *     bounds (Optional): [
+     *         double (Optional)
+     *     ]
+     *     center (Optional): [
+     *         double (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @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 tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTileJsonWithResponse(String searchId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getTileJsonSync(this.getEndpoint(), this.getServiceVersion().getVersion(), searchId, accept, + requestOptions, Context.NONE); + } + + /** + * Tilejson Tilematrixsetid As Path + * + * Return TileJSON document for a searchId. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
tile_formatStringNoDefault will be automatically defined if the output image + * needs a mask (png) or + * not (jpeg). Allowed values: "png", "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
collectionStringNoSTAC Collection ID
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
pixel_selectionStringNoPixel selection method. Allowed values: "first", + * "highest", "lowest", "mean", "median", "stdev", "lastbandlow", "lastbandhight".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     tilejson: String (Optional)
+     *     name: String (Optional)
+     *     description: String (Optional)
+     *     version: String (Optional)
+     *     attribution: String (Optional)
+     *     template: String (Optional)
+     *     legend: String (Optional)
+     *     scheme: String(xyz/tms) (Optional)
+     *     tiles (Required): [
+     *         String (Required)
+     *     ]
+     *     grids (Optional): [
+     *         String (Optional)
+     *     ]
+     *     data (Optional): [
+     *         String (Optional)
+     *     ]
+     *     minzoom: Integer (Optional)
+     *     maxzoom: Integer (Optional)
+     *     bounds (Optional): [
+     *         double (Optional)
+     *     ]
+     *     center (Optional): [
+     *         double (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @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 tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTileJsonWithMatrixSetWithResponseAsync(String searchId, String tileMatrixSetId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getTileJsonWithMatrixSet(this.getEndpoint(), + this.getServiceVersion().getVersion(), searchId, tileMatrixSetId, accept, requestOptions, context)); + } + + /** + * Tilejson Tilematrixsetid As Path + * + * Return TileJSON document for a searchId. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
tile_formatStringNoDefault will be automatically defined if the output image + * needs a mask (png) or + * not (jpeg). Allowed values: "png", "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
collectionStringNoSTAC Collection ID
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
pixel_selectionStringNoPixel selection method. Allowed values: "first", + * "highest", "lowest", "mean", "median", "stdev", "lastbandlow", "lastbandhight".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     tilejson: String (Optional)
+     *     name: String (Optional)
+     *     description: String (Optional)
+     *     version: String (Optional)
+     *     attribution: String (Optional)
+     *     template: String (Optional)
+     *     legend: String (Optional)
+     *     scheme: String(xyz/tms) (Optional)
+     *     tiles (Required): [
+     *         String (Required)
+     *     ]
+     *     grids (Optional): [
+     *         String (Optional)
+     *     ]
+     *     data (Optional): [
+     *         String (Optional)
+     *     ]
+     *     minzoom: Integer (Optional)
+     *     maxzoom: Integer (Optional)
+     *     bounds (Optional): [
+     *         double (Optional)
+     *     ]
+     *     center (Optional): [
+     *         double (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @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 tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTileJsonWithMatrixSetWithResponse(String searchId, String tileMatrixSetId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getTileJsonWithMatrixSetSync(this.getEndpoint(), this.getServiceVersion().getVersion(), searchId, + tileMatrixSetId, accept, requestOptions, Context.NONE); + } + + /** + * Wmts + * + * OGC WMTS endpoint. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: + * 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", "LINZAntarticaMapTilegrid", + * "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", "WGS1984Quad", + * "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
tile_formatStringNoOutput image type. Default is png. Allowed values: "png", + * "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * String
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @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 a sequence of textual characters along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getWmtsCapabilitiesWithResponseAsync(String searchId, + RequestOptions requestOptions) { + final String accept = "application/xml"; + return FluxUtil.withContext(context -> service.getWmtsCapabilities(this.getEndpoint(), + this.getServiceVersion().getVersion(), searchId, accept, requestOptions, context)); + } + + /** + * Wmts + * + * OGC WMTS endpoint. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: + * 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", "LINZAntarticaMapTilegrid", + * "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", "WGS1984Quad", + * "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
tile_formatStringNoOutput image type. Default is png. Allowed values: "png", + * "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * String
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @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 a sequence of textual characters along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWmtsCapabilitiesWithResponse(String searchId, RequestOptions requestOptions) { + final String accept = "application/xml"; + return service.getWmtsCapabilitiesSync(this.getEndpoint(), this.getServiceVersion().getVersion(), searchId, + accept, requestOptions, Context.NONE); + } + + /** + * Wmts Tilematrixsetid As Path + * + * OGC WMTS endpoint. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tile_formatStringNoOutput image type. Default is png. Allowed values: "png", + * "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * String
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @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 a sequence of textual characters along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getWmtsCapabilitiesWithMatrixSetWithResponseAsync(String searchId, + String tileMatrixSetId, RequestOptions requestOptions) { + final String accept = "application/xml"; + return FluxUtil.withContext(context -> service.getWmtsCapabilitiesWithMatrixSet(this.getEndpoint(), + this.getServiceVersion().getVersion(), searchId, tileMatrixSetId, accept, requestOptions, context)); + } + + /** + * Wmts Tilematrixsetid As Path + * + * OGC WMTS endpoint. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tile_formatStringNoOutput image type. Default is png. Allowed values: "png", + * "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * String
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @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 a sequence of textual characters along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWmtsCapabilitiesWithMatrixSetWithResponse(String searchId, String tileMatrixSetId, + RequestOptions requestOptions) { + final String accept = "application/xml"; + return service.getWmtsCapabilitiesWithMatrixSetSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + searchId, tileMatrixSetId, accept, requestOptions, Context.NONE); + } + + /** + * Register Search + * + * Register a Search query. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     collections (Optional): [
+     *         String (Optional)
+     *     ]
+     *     ids (Optional): [
+     *         String (Optional)
+     *     ]
+     *     bbox: Double (Optional)
+     *     intersects (Optional): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     query (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     filter: String (Optional)
+     *     datetime: String (Optional)
+     *     sortby (Optional): [
+     *          (Optional){
+     *             field: String (Required)
+     *             direction: String(asc/desc) (Required)
+     *         }
+     *     ]
+     *     filter-lang: String(cql-json/cql2-json/cql2-text) (Optional)
+     *     metadata (Optional): {
+     *         type: String(mosaic/search) (Optional)
+     *         bounds: String (Optional)
+     *         minzoom: Integer (Optional)
+     *         maxzoom: Integer (Optional)
+     *         name: String (Optional)
+     *         assets (Optional): [
+     *             String (Optional)
+     *         ]
+     *         defaults (Optional): {
+     *             String: String (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     searchId: String (Required)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param registerSearchRequest The registerSearchRequest 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 response from a successful mosaic registration with search ID and related links along with + * {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> registerSearchWithResponseAsync(BinaryData registerSearchRequest, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.registerSearch(this.getEndpoint(), this.getServiceVersion().getVersion(), + contentType, accept, registerSearchRequest, requestOptions, context)); + } + + /** + * Register Search + * + * Register a Search query. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     collections (Optional): [
+     *         String (Optional)
+     *     ]
+     *     ids (Optional): [
+     *         String (Optional)
+     *     ]
+     *     bbox: Double (Optional)
+     *     intersects (Optional): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     query (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     filter: String (Optional)
+     *     datetime: String (Optional)
+     *     sortby (Optional): [
+     *          (Optional){
+     *             field: String (Required)
+     *             direction: String(asc/desc) (Required)
+     *         }
+     *     ]
+     *     filter-lang: String(cql-json/cql2-json/cql2-text) (Optional)
+     *     metadata (Optional): {
+     *         type: String(mosaic/search) (Optional)
+     *         bounds: String (Optional)
+     *         minzoom: Integer (Optional)
+     *         maxzoom: Integer (Optional)
+     *         name: String (Optional)
+     *         assets (Optional): [
+     *             String (Optional)
+     *         ]
+     *         defaults (Optional): {
+     *             String: String (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     searchId: String (Required)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param registerSearchRequest The registerSearchRequest 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 response from a successful mosaic registration with search ID and related links along with + * {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response registerSearchWithResponse(BinaryData registerSearchRequest, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.registerSearchSync(this.getEndpoint(), this.getServiceVersion().getVersion(), contentType, + accept, registerSearchRequest, requestOptions, Context.NONE); + } + + /** + * Info Search + * + * Get Search query metadata. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     search (Required): {
+     *         hash: String (Required)
+     *         search (Required): {
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *         _where: String (Required)
+     *         orderby: String (Required)
+     *         lastused: OffsetDateTime (Required)
+     *         usecount: int (Required)
+     *         metadata (Required): {
+     *             type: String(mosaic/search) (Optional)
+     *             bounds: String (Optional)
+     *             minzoom: Integer (Optional)
+     *             maxzoom: Integer (Optional)
+     *             name: String (Optional)
+     *             assets (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             defaults (Optional): {
+     *                 String: String (Required)
+     *             }
+     *         }
+     *     }
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @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 information about a registered STAC search query along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getSearchInfoWithResponseAsync(String searchId, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getSearchInfo(this.getEndpoint(), + this.getServiceVersion().getVersion(), searchId, accept, requestOptions, context)); + } + + /** + * Info Search + * + * Get Search query metadata. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     search (Required): {
+     *         hash: String (Required)
+     *         search (Required): {
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *         _where: String (Required)
+     *         orderby: String (Required)
+     *         lastused: OffsetDateTime (Required)
+     *         usecount: int (Required)
+     *         metadata (Required): {
+     *             type: String(mosaic/search) (Optional)
+     *             bounds: String (Optional)
+     *             minzoom: Integer (Optional)
+     *             maxzoom: Integer (Optional)
+     *             name: String (Optional)
+     *             assets (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             defaults (Optional): {
+     *                 String: String (Required)
+     *             }
+     *         }
+     *     }
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @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 information about a registered STAC search query along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getSearchInfoWithResponse(String searchId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getSearchInfoSync(this.getEndpoint(), this.getServiceVersion().getVersion(), searchId, accept, + requestOptions, Context.NONE); + } + + /** + * Assets For Tile + * + * Return a list of assets which overlap a given tile. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: + * 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", "LINZAntarticaMapTilegrid", + * "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", "WGS1984Quad", + * "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *     BinaryData (Required)
+     * ]
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAssetsForTileWithResponseAsync(String searchId, double z, double x, double y, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getAssetsForTile(this.getEndpoint(), + this.getServiceVersion().getVersion(), searchId, z, x, y, accept, requestOptions, context)); + } + + /** + * Assets For Tile + * + * Return a list of assets which overlap a given tile. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: + * 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", "LINZAntarticaMapTilegrid", + * "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", "WGS1984Quad", + * "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *     BinaryData (Required)
+     * ]
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @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 body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAssetsForTileWithResponse(String searchId, double z, double x, double y, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getAssetsForTileSync(this.getEndpoint(), this.getServiceVersion().getVersion(), searchId, z, x, + y, accept, requestOptions, Context.NONE); + } + + /** + * Assets For Tile Tilematrixsetid As Path + * + * Return a list of assets which overlap a given tile. + *

Query Parameters

+ * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *     BinaryData (Required)
+     * ]
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAssetsForTileWithMatrixSetWithResponseAsync(String searchId, + String tileMatrixSetId, double z, double x, double y, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.getAssetsForTileWithMatrixSet(this.getEndpoint(), this.getServiceVersion().getVersion(), + searchId, tileMatrixSetId, z, x, y, accept, requestOptions, context)); + } + + /** + * Assets For Tile Tilematrixsetid As Path + * + * Return a list of assets which overlap a given tile. + *

Query Parameters

+ * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *     BinaryData (Required)
+     * ]
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @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 body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAssetsForTileWithMatrixSetWithResponse(String searchId, String tileMatrixSetId, + double z, double x, double y, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getAssetsForTileWithMatrixSetSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + searchId, tileMatrixSetId, z, x, y, accept, requestOptions, Context.NONE); + } + + /** + * Assets For Point + * + * Return a list of assets for a given point. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *     BinaryData (Required)
+     * ]
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param lon Longitude. + * @param lat Latitude. + * @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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAssetsForPointWithResponseAsync(String searchId, double lon, double lat, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getAssetsForPoint(this.getEndpoint(), + this.getServiceVersion().getVersion(), searchId, lon, lat, accept, requestOptions, context)); + } + + /** + * Assets For Point + * + * Return a list of assets for a given point. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
scan_limitIntegerNoReturn as soon as we scan N items (defaults to 10000 in + * PgSTAC).
items_limitIntegerNoReturn as soon as we have N items per geometry (defaults + * to 100 in PgSTAC).
time_limitIntegerNoReturn after N seconds to avoid long requests (defaults to + * 5 in PgSTAC).
exitwhenfullBooleanNoReturn as soon as the geometry is fully covered (defaults + * to True in PgSTAC).
skipcoveredBooleanNoSkip any items that would show up completely under the + * previous items (defaults + * to True in PgSTAC).
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *     BinaryData (Required)
+     * ]
+     * }
+     * 
+ * + * @param searchId Search Id (pgSTAC Search Hash). + * @param lon Longitude. + * @param lat Latitude. + * @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 body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAssetsForPointWithResponse(String searchId, double lon, double lat, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getAssetsForPointSync(this.getEndpoint(), this.getServiceVersion().getVersion(), searchId, lon, + lat, accept, requestOptions, Context.NONE); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/MultipartFormDataHelper.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/MultipartFormDataHelper.java new file mode 100644 index 000000000000..73dd5e56cc7b --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/MultipartFormDataHelper.java @@ -0,0 +1,209 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.implementation; + +import com.azure.core.http.HttpHeaderName; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.util.BinaryData; +import com.azure.core.util.CoreUtils; +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.io.SequenceInputStream; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; +import java.util.List; +import java.util.UUID; + +// DO NOT modify this helper class + +public final class MultipartFormDataHelper { + /** + * Line separator for the multipart HTTP request. + */ + private static final String CRLF = "\r\n"; + + private static final String APPLICATION_OCTET_STREAM = "application/octet-stream"; + + /** + * Value to be used as part of the divider for the multipart requests. + */ + private final String boundary; + + /** + * The actual part separator in the request. This is obtained by prepending "--" to the "boundary". + */ + private final String partSeparator; + + /** + * The marker for the ending of a multipart request. This is obtained by post-pending "--" to the "partSeparator". + */ + private final String endMarker; + + /** + * Charset used for encoding the multipart HTTP request. + */ + private final Charset encoderCharset = StandardCharsets.UTF_8; + + private InputStream requestDataStream = new ByteArrayInputStream(new byte[0]); + private long requestLength = 0; + + private RequestOptions requestOptions; + private BinaryData requestBody; + + /** + * Default constructor used in the code. The boundary is a random value. + * + * @param requestOptions the RequestOptions to update + */ + public MultipartFormDataHelper(RequestOptions requestOptions) { + this(requestOptions, UUID.randomUUID().toString().substring(0, 16)); + } + + private MultipartFormDataHelper(RequestOptions requestOptions, String boundary) { + this.requestOptions = requestOptions; + this.boundary = boundary; + this.partSeparator = "--" + boundary; + this.endMarker = this.partSeparator + "--"; + } + + /** + * Gets the multipart HTTP request body. + * + * @return the BinaryData of the multipart HTTP request body + */ + public BinaryData getRequestBody() { + return requestBody; + } + + // text/plain + /** + * Formats a text/plain field for a multipart HTTP request. + * + * @param fieldName the field name + * @param value the value of the text/plain field + * @return the MultipartFormDataHelper instance + */ + public MultipartFormDataHelper serializeTextField(String fieldName, String value) { + if (value != null) { + String serialized = partSeparator + CRLF + "Content-Disposition: form-data; name=\"" + escapeName(fieldName) + + "\"" + CRLF + CRLF + value + CRLF; + byte[] data = serialized.getBytes(encoderCharset); + appendBytes(data); + } + return this; + } + + // application/json + /** + * Formats a application/json field for a multipart HTTP request. + * + * @param fieldName the field name + * @param jsonObject the object of the application/json field + * @return the MultipartFormDataHelper instance + */ + public MultipartFormDataHelper serializeJsonField(String fieldName, Object jsonObject) { + if (jsonObject != null) { + String serialized + = partSeparator + CRLF + "Content-Disposition: form-data; name=\"" + escapeName(fieldName) + "\"" + CRLF + + "Content-Type: application/json" + CRLF + CRLF + BinaryData.fromObject(jsonObject) + CRLF; + byte[] data = serialized.getBytes(encoderCharset); + appendBytes(data); + } + return this; + } + + /** + * Formats a file field for a multipart HTTP request. + * + * @param fieldName the field name + * @param file the BinaryData of the file + * @param contentType the content-type of the file + * @param filename the filename + * @return the MultipartFormDataHelper instance + */ + public MultipartFormDataHelper serializeFileField(String fieldName, BinaryData file, String contentType, + String filename) { + if (file != null) { + if (CoreUtils.isNullOrEmpty(contentType)) { + contentType = APPLICATION_OCTET_STREAM; + } + writeFileField(fieldName, file, contentType, filename); + } + return this; + } + + /** + * Formats a file field (potentially multiple files) for a multipart HTTP request. + * + * @param fieldName the field name + * @param files the List of BinaryData of the files + * @param contentTypes the List of content-type of the files + * @param filenames the List of filenames + * @return the MultipartFormDataHelper instance + */ + public MultipartFormDataHelper serializeFileFields(String fieldName, List files, + List contentTypes, List filenames) { + if (files != null) { + for (int i = 0; i < files.size(); ++i) { + BinaryData file = files.get(i); + String contentType = contentTypes.get(i); + if (CoreUtils.isNullOrEmpty(contentType)) { + contentType = APPLICATION_OCTET_STREAM; + } + String filename = filenames.get(i); + writeFileField(fieldName, file, contentType, filename); + } + } + return this; + } + + /** + * Ends the serialization of the multipart HTTP request. + * + * @return the MultipartFormDataHelper instance + */ + public MultipartFormDataHelper end() { + byte[] data = endMarker.getBytes(encoderCharset); + appendBytes(data); + + requestBody = BinaryData.fromStream(requestDataStream, requestLength); + + requestOptions.setHeader(HttpHeaderName.CONTENT_TYPE, "multipart/form-data; boundary=" + this.boundary) + .setHeader(HttpHeaderName.CONTENT_LENGTH, String.valueOf(requestLength)); + + return this; + } + + private void writeFileField(String fieldName, BinaryData file, String contentType, String filename) { + String contentDispositionFilename = ""; + if (!CoreUtils.isNullOrEmpty(filename)) { + contentDispositionFilename = "; filename=\"" + escapeName(filename) + "\""; + } + + // Multipart preamble + String fileFieldPreamble + = partSeparator + CRLF + "Content-Disposition: form-data; name=\"" + escapeName(fieldName) + "\"" + + contentDispositionFilename + CRLF + "Content-Type: " + contentType + CRLF + CRLF; + byte[] data = fileFieldPreamble.getBytes(encoderCharset); + appendBytes(data); + + // Writing the file into the request as a byte stream + requestLength += file.getLength(); + requestDataStream = new SequenceInputStream(requestDataStream, file.toStream()); + + // CRLF + data = CRLF.getBytes(encoderCharset); + appendBytes(data); + } + + private void appendBytes(byte[] bytes) { + requestLength += bytes.length; + requestDataStream = new SequenceInputStream(requestDataStream, new ByteArrayInputStream(bytes)); + } + + private static String escapeName(String name) { + return name.replace("\n", "%0A").replace("\r", "%0D").replace("\"", "%22"); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/SharedAccessSignatureClientImpl.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/SharedAccessSignatureClientImpl.java new file mode 100644 index 000000000000..8abb69e96619 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/SharedAccessSignatureClientImpl.java @@ -0,0 +1,445 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.implementation; + +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +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.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +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.serializer.JacksonAdapter; +import com.azure.core.util.serializer.SerializerAdapter; +import com.azure.planetarycomputer.PlanetaryComputerServiceVersion; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the SharedAccessSignatureClient type. + */ +public final class SharedAccessSignatureClientImpl { + /** + * The proxy service used to perform REST calls. + */ + private final SharedAccessSignatureClientService service; + + /** + * Service host. + */ + private final String endpoint; + + /** + * Gets Service host. + * + * @return the endpoint value. + */ + public String getEndpoint() { + return this.endpoint; + } + + /** + * Service version. + */ + private final PlanetaryComputerServiceVersion serviceVersion; + + /** + * Gets Service version. + * + * @return the serviceVersion value. + */ + public PlanetaryComputerServiceVersion 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; + } + + /** + * Initializes an instance of SharedAccessSignatureClient client. + * + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public SharedAccessSignatureClientImpl(String endpoint, PlanetaryComputerServiceVersion serviceVersion) { + this(new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build(), + JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of SharedAccessSignatureClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public SharedAccessSignatureClientImpl(HttpPipeline httpPipeline, String endpoint, + PlanetaryComputerServiceVersion serviceVersion) { + this(httpPipeline, JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of SharedAccessSignatureClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param serializerAdapter The serializer to serialize an object into a string. + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public SharedAccessSignatureClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, + String endpoint, PlanetaryComputerServiceVersion serviceVersion) { + this.httpPipeline = httpPipeline; + this.serializerAdapter = serializerAdapter; + this.endpoint = endpoint; + this.serviceVersion = serviceVersion; + this.service = RestProxy.create(SharedAccessSignatureClientService.class, this.httpPipeline, + this.getSerializerAdapter()); + } + + /** + * The interface defining all the services for SharedAccessSignatureClient to be used by the proxy service to + * perform REST calls. + */ + @Host("{endpoint}") + @ServiceInterface(name = "SharedAccessSignatureClient") + public interface SharedAccessSignatureClientService { + @Get("/sas/token/{collectionId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getToken(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/sas/token/{collectionId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getTokenSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Post("/sas/token/revoke") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> revokeToken(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Post("/sas/token/revoke") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response revokeTokenSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/sas/sign") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getSign(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @QueryParam("href") String href, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/sas/sign") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getSignSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @QueryParam("href") String href, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + } + + /** + * generate a SAS Token for the given Azure Blob storage account and container. + * + * Generate a [SAS + * Token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#how-a-shared-access-signature-works) + * for the given storage account and container. The storage account and container + * must be associated with a Planetary Computer dataset indexed by the STAC API. + *

Query Parameters

+ * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
durationLongNoDuration + * + * The duration, in minutes, that the SAS token will be valid. Only valid for approved users.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:expiry: OffsetDateTime (Required)
+     *     token: String (Required)
+     * }
+     * }
+     * 
+ * + * @param collectionId Collection Id + * + * The name of the Collection that the SAS token will be issued for. + * @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 sasToken along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTokenWithResponseAsync(String collectionId, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getToken(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, accept, requestOptions, context)); + } + + /** + * generate a SAS Token for the given Azure Blob storage account and container. + * + * Generate a [SAS + * Token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#how-a-shared-access-signature-works) + * for the given storage account and container. The storage account and container + * must be associated with a Planetary Computer dataset indexed by the STAC API. + *

Query Parameters

+ * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
durationLongNoDuration + * + * The duration, in minutes, that the SAS token will be valid. Only valid for approved users.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:expiry: OffsetDateTime (Required)
+     *     token: String (Required)
+     * }
+     * }
+     * 
+ * + * @param collectionId Collection Id + * + * The name of the Collection that the SAS token will be issued for. + * @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 sasToken along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTokenWithResponse(String collectionId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getTokenSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, accept, + requestOptions, Context.NONE); + } + + /** + * revoke a SAS Token for the given Azure Blob storage account + * + * Revoke a [SAS + * Token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#how-a-shared-access-signature-works) + * for managed storage account of this GeoCatalog. + *

Query Parameters

+ * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
durationLongNoDuration + * + * The duration, in minutes, that the SAS token will be valid. Only valid for approved users.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + * + * @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> revokeTokenWithResponseAsync(RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.revokeToken(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * revoke a SAS Token for the given Azure Blob storage account + * + * Revoke a [SAS + * Token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#how-a-shared-access-signature-works) + * for managed storage account of this GeoCatalog. + *

Query Parameters

+ * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
durationLongNoDuration + * + * The duration, in minutes, that the SAS token will be valid. Only valid for approved users.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + * + * @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 revokeTokenWithResponse(RequestOptions requestOptions) { + final String accept = "application/json"; + return service.revokeTokenSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, + requestOptions, Context.NONE); + } + + /** + * sign an HREF in the format of a URL and returns a SingedLink + * + * Signs a HREF (a link URL) by appending a [SAS + * Token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#how-a-shared-access-signature-works). + * If the HREF is not a Azure Blob Storage HREF, then pass back the HREF unsigned. + *

Query Parameters

+ * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
durationLongNoDuration + * + * The duration, in minutes, that the SAS token will be valid. Only valid for approved users.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:expiry: OffsetDateTime (Optional)
+     *     href: String (Required)
+     * }
+     * }
+     * 
+ * + * @param href Href + * + * HREF (URL) to sign. + * @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 unsignedLink along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getSignWithResponseAsync(String href, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getSign(this.getEndpoint(), + this.getServiceVersion().getVersion(), href, accept, requestOptions, context)); + } + + /** + * sign an HREF in the format of a URL and returns a SingedLink + * + * Signs a HREF (a link URL) by appending a [SAS + * Token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview#how-a-shared-access-signature-works). + * If the HREF is not a Azure Blob Storage HREF, then pass back the HREF unsigned. + *

Query Parameters

+ * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
durationLongNoDuration + * + * The duration, in minutes, that the SAS token will be valid. Only valid for approved users.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:expiry: OffsetDateTime (Optional)
+     *     href: String (Required)
+     * }
+     * }
+     * 
+ * + * @param href Href + * + * HREF (URL) to sign. + * @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 unsignedLink along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getSignWithResponse(String href, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getSignSync(this.getEndpoint(), this.getServiceVersion().getVersion(), href, accept, + requestOptions, Context.NONE); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/StacApiClientImpl.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/StacApiClientImpl.java new file mode 100644 index 000000000000..f6bcda3cb127 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/StacApiClientImpl.java @@ -0,0 +1,7579 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.Delete; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.Patch; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.Post; +import com.azure.core.annotation.Put; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.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.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +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.PollingStrategyOptions; +import com.azure.core.util.polling.SyncDefaultPollingStrategy; +import com.azure.core.util.polling.SyncPoller; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.core.util.serializer.SerializerAdapter; +import com.azure.core.util.serializer.TypeReference; +import com.azure.planetarycomputer.PlanetaryComputerServiceVersion; +import com.azure.planetarycomputer.models.Operation; +import java.time.Duration; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the StacApiClient type. + */ +public final class StacApiClientImpl { + /** + * The proxy service used to perform REST calls. + */ + private final StacApiClientService service; + + /** + * Service host. + */ + private final String endpoint; + + /** + * Gets Service host. + * + * @return the endpoint value. + */ + public String getEndpoint() { + return this.endpoint; + } + + /** + * Service version. + */ + private final PlanetaryComputerServiceVersion serviceVersion; + + /** + * Gets Service version. + * + * @return the serviceVersion value. + */ + public PlanetaryComputerServiceVersion 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; + } + + /** + * Initializes an instance of StacApiClient client. + * + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public StacApiClientImpl(String endpoint, PlanetaryComputerServiceVersion serviceVersion) { + this(new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build(), + JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of StacApiClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public StacApiClientImpl(HttpPipeline httpPipeline, String endpoint, + PlanetaryComputerServiceVersion serviceVersion) { + this(httpPipeline, JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of StacApiClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param serializerAdapter The serializer to serialize an object into a string. + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public StacApiClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, String endpoint, + PlanetaryComputerServiceVersion serviceVersion) { + this.httpPipeline = httpPipeline; + this.serializerAdapter = serializerAdapter; + this.endpoint = endpoint; + this.serviceVersion = serviceVersion; + this.service = RestProxy.create(StacApiClientService.class, this.httpPipeline, this.getSerializerAdapter()); + } + + /** + * The interface defining all the services for StacApiClient to be used by the proxy service to perform REST calls. + */ + @Host("{endpoint}") + @ServiceInterface(name = "StacApiClient") + public interface StacApiClientService { + @Get("/stac") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getStacLandingPage(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/stac") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getStacLandingPageSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/collections") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getAllCollections(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/collections") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getAllCollectionsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Post("/collections") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createCollection(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Content-Type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Post("/collections") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createCollectionSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Content-Type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Get("/collections/{collectionId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getCollection(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/collections/{collectionId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getCollectionSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Put("/collections/{collectionId}") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createOrReplaceCollection(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Put("/collections/{collectionId}") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createOrReplaceCollectionSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Delete("/collections/{collectionId}") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> deleteCollection(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Delete("/collections/{collectionId}") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response deleteCollectionSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/{collectionId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getItemsAsFeatures(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/{collectionId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getItemsAsFeaturesSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Post("/{collectionId}") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createItem(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Post("/{collectionId}") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createItemSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Get("/{collectionId}/{itemId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getItem(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/{collectionId}/{itemId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getItemSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Put("/{collectionId}/{itemId}") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createOrReplaceItem(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Content-Type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Put("/{collectionId}/{itemId}") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createOrReplaceItemSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Content-Type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Patch("/{collectionId}/{itemId}") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> updateItem(@HostParam("endpoint") String endpoint, + @HeaderParam("content-type") String contentType, @QueryParam("api-version") String apiVersion, + @PathParam("collectionId") String collectionId, @PathParam("itemId") String itemId, + @HeaderParam("Accept") String accept, @BodyParam("application/merge-patch+json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Patch("/{collectionId}/{itemId}") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response updateItemSync(@HostParam("endpoint") String endpoint, + @HeaderParam("content-type") String contentType, @QueryParam("api-version") String apiVersion, + @PathParam("collectionId") String collectionId, @PathParam("itemId") String itemId, + @HeaderParam("Accept") String accept, @BodyParam("application/merge-patch+json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Delete("/{collectionId}/{itemId}") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> deleteItem(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Delete("/{collectionId}/{itemId}") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response deleteItemSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/stac/queryables") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getAllQueryables(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/stac/queryables") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getAllQueryablesSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/stac/collections/{collectionId}/queryables") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getAllQueryablesByCollection(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/stac/collections/{collectionId}/queryables") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getAllQueryablesByCollectionSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Post("/stac/collections/{collectionId}/queryables") + @ExpectedResponses({ 201, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createQueryables(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Post("/stac/collections/{collectionId}/queryables") + @ExpectedResponses({ 201, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createQueryablesSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Get("/stac/conformance") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getConformanceClass(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/stac/conformance") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getConformanceClassSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/stac/search") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getSearchOperations(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/stac/search") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getSearchOperationsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Post("/stac/search") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createSearchOperations(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Content-Type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Post("/stac/search") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createSearchOperationsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Content-Type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + } + + /** + * Landing Page + * + * Endpoint. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     title: String (Optional)
+     *     stac_version: String (Optional)
+     *     conformsTo (Required): [
+     *         String (Required)
+     *     ]
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     type: String (Optional)
+     * }
+     * }
+     * 
+ * + * @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 https://github.com/radiantearth/stac-api-spec/blob/master/api-spec.md#ogc-api---features-endpoints + * + * Represents the STAC API landing page with links to available resources along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getStacLandingPageWithResponseAsync(RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getStacLandingPage(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Landing Page + * + * Endpoint. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     title: String (Optional)
+     *     stac_version: String (Optional)
+     *     conformsTo (Required): [
+     *         String (Required)
+     *     ]
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     type: String (Optional)
+     * }
+     * }
+     * 
+ * + * @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 https://github.com/radiantearth/stac-api-spec/blob/master/api-spec.md#ogc-api---features-endpoints + * + * Represents the STAC API landing page with links to available resources along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getStacLandingPageWithResponse(RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getStacLandingPageSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, + requestOptions, Context.NONE); + } + + /** + * Get Collections + * + * Endpoint. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
signStringNoWhether to sign asset URLs in the response. Allowed values: + * "true", "false".
durationIntegerNoURL signature duration in seconds.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     collections (Required): [
+     *          (Required){
+     *             msft:_created: String (Optional)
+     *             msft:_updated: String (Optional)
+     *             msft:short_description: String (Optional)
+     *             stac_extensions (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             id: String (Required)
+     *             description: String (Required)
+     *             stac_version: String (Optional)
+     *             links (Required): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             title: String (Optional)
+     *             type: String (Optional)
+     *             assets (Optional): {
+     *                 String (Required): {
+     *                     platform: String (Optional)
+     *                     instruments (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     constellation: String (Optional)
+     *                     mission: String (Optional)
+     *                     providers (Optional): [
+     *                          (Optional){
+     *                             name: String (Optional, Required on create)
+     *                             description: String (Optional)
+     *                             roles (Optional): [
+     *                                 String (Optional)
+     *                             ]
+     *                             url: String (Optional)
+     *                         }
+     *                     ]
+     *                     gsd: Double (Optional)
+     *                     created: OffsetDateTime (Optional)
+     *                     updated: OffsetDateTime (Optional)
+     *                     title: String (Optional)
+     *                     description: String (Optional)
+     *                     href: String (Optional, Required on create)
+     *                     type: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                      (Optional): {
+     *                         String: BinaryData (Required)
+     *                     }
+     *                 }
+     *             }
+     *             license: String (Required)
+     *             extent (Required): {
+     *                 spatial (Required): {
+     *                     bbox (Optional): [
+     *                          (Optional)[
+     *                             double (Optional)
+     *                         ]
+     *                     ]
+     *                 }
+     *                 temporal (Required): {
+     *                     interval (Required): [
+     *                          (Required)[
+     *                             String (Required)
+     *                         ]
+     *                     ]
+     *                 }
+     *             }
+     *             keywords (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             summaries (Optional): {
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @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 collections + * + * Endpoint along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAllCollectionsWithResponseAsync(RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getAllCollections(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Get Collections + * + * Endpoint. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
signStringNoWhether to sign asset URLs in the response. Allowed values: + * "true", "false".
durationIntegerNoURL signature duration in seconds.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     collections (Required): [
+     *          (Required){
+     *             msft:_created: String (Optional)
+     *             msft:_updated: String (Optional)
+     *             msft:short_description: String (Optional)
+     *             stac_extensions (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             id: String (Required)
+     *             description: String (Required)
+     *             stac_version: String (Optional)
+     *             links (Required): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             title: String (Optional)
+     *             type: String (Optional)
+     *             assets (Optional): {
+     *                 String (Required): {
+     *                     platform: String (Optional)
+     *                     instruments (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     constellation: String (Optional)
+     *                     mission: String (Optional)
+     *                     providers (Optional): [
+     *                          (Optional){
+     *                             name: String (Optional, Required on create)
+     *                             description: String (Optional)
+     *                             roles (Optional): [
+     *                                 String (Optional)
+     *                             ]
+     *                             url: String (Optional)
+     *                         }
+     *                     ]
+     *                     gsd: Double (Optional)
+     *                     created: OffsetDateTime (Optional)
+     *                     updated: OffsetDateTime (Optional)
+     *                     title: String (Optional)
+     *                     description: String (Optional)
+     *                     href: String (Optional, Required on create)
+     *                     type: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                      (Optional): {
+     *                         String: BinaryData (Required)
+     *                     }
+     *                 }
+     *             }
+     *             license: String (Required)
+     *             extent (Required): {
+     *                 spatial (Required): {
+     *                     bbox (Optional): [
+     *                          (Optional)[
+     *                             double (Optional)
+     *                         ]
+     *                     ]
+     *                 }
+     *                 temporal (Required): {
+     *                     interval (Required): [
+     *                          (Required)[
+     *                             String (Required)
+     *                         ]
+     *                     ]
+     *                 }
+     *             }
+     *             keywords (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             summaries (Optional): {
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @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 collections + * + * Endpoint along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAllCollectionsWithResponse(RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getAllCollectionsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, + requestOptions, Context.NONE); + } + + /** + * Create Collection + * + * Create a new collection in the GeoCatalog instance. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param body Request collection body. + * @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 microsoft Planetary Computer Pro geo-catalog operation along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createCollectionWithResponseAsync(BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.createCollection(this.getEndpoint(), + this.getServiceVersion().getVersion(), contentType, accept, body, requestOptions, context)); + } + + /** + * Create Collection + * + * Create a new collection in the GeoCatalog instance. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param body Request collection body. + * @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 microsoft Planetary Computer Pro geo-catalog operation along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Response createCollectionWithResponse(BinaryData body, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.createCollectionSync(this.getEndpoint(), this.getServiceVersion().getVersion(), contentType, + accept, body, requestOptions, Context.NONE); + } + + /** + * Create Collection + * + * Create a new collection in the GeoCatalog instance. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param body Request collection body. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginCreateCollectionWithModelAsync(BinaryData body, + RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.createCollectionWithResponseAsync(body, requestOptions), + new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(Operation.class), TypeReference.createInstance(Void.class)); + } + + /** + * Create Collection + * + * Create a new collection in the GeoCatalog instance. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param body Request collection body. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginCreateCollectionWithModel(BinaryData body, RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.createCollectionWithResponse(body, requestOptions), + new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(Operation.class), TypeReference.createInstance(Void.class)); + } + + /** + * Create Collection + * + * Create a new collection in the GeoCatalog instance. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param body Request collection body. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginCreateCollectionAsync(BinaryData body, + RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.createCollectionWithResponseAsync(body, requestOptions), + new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); + } + + /** + * Create Collection + * + * Create a new collection in the GeoCatalog instance. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param body Request collection body. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginCreateCollection(BinaryData body, RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.createCollectionWithResponse(body, requestOptions), + new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); + } + + /** + * Get Collection + * + * Get a collection in the GeoCatalog instance. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
signStringNoWhether to sign asset URLs in the response. Allowed values: + * "true", "false".
durationIntegerNoURL signature duration in seconds.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the collection. + * @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 collection + * + * Get a collection in the GeoCatalog instance along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getCollectionWithResponseAsync(String collectionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getCollection(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, accept, requestOptions, context)); + } + + /** + * Get Collection + * + * Get a collection in the GeoCatalog instance. + *

Query Parameters

+ * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
signStringNoWhether to sign asset URLs in the response. Allowed values: + * "true", "false".
durationIntegerNoURL signature duration in seconds.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the collection. + * @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 collection + * + * Get a collection in the GeoCatalog instance along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getCollectionWithResponse(String collectionId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getCollectionSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + accept, requestOptions, Context.NONE); + } + + /** + * Create or update Collection + * + * Create or replace a collection in the GeoCatalog instance. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param body Request collection body. + * @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 microsoft Planetary Computer Pro geo-catalog operation along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createOrReplaceCollectionWithResponseAsync(String collectionId, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.createOrReplaceCollection(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, contentType, accept, body, requestOptions, context)); + } + + /** + * Create or update Collection + * + * Create or replace a collection in the GeoCatalog instance. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param body Request collection body. + * @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 microsoft Planetary Computer Pro geo-catalog operation along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Response createOrReplaceCollectionWithResponse(String collectionId, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.createOrReplaceCollectionSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, contentType, accept, body, requestOptions, Context.NONE); + } + + /** + * Create or update Collection + * + * Create or replace a collection in the GeoCatalog instance. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param body Request collection body. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginCreateOrReplaceCollectionWithModelAsync(String collectionId, + BinaryData body, RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.createOrReplaceCollectionWithResponseAsync(collectionId, body, requestOptions), + new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(Operation.class), TypeReference.createInstance(Void.class)); + } + + /** + * Create or update Collection + * + * Create or replace a collection in the GeoCatalog instance. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param body Request collection body. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginCreateOrReplaceCollectionWithModel(String collectionId, BinaryData body, + RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.createOrReplaceCollectionWithResponse(collectionId, body, requestOptions), + new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(Operation.class), TypeReference.createInstance(Void.class)); + } + + /** + * Create or update Collection + * + * Create or replace a collection in the GeoCatalog instance. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param body Request collection body. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginCreateOrReplaceCollectionAsync(String collectionId, BinaryData body, + RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.createOrReplaceCollectionWithResponseAsync(collectionId, body, requestOptions), + new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); + } + + /** + * Create or update Collection + * + * Create or replace a collection in the GeoCatalog instance. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param body Request collection body. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginCreateOrReplaceCollection(String collectionId, BinaryData body, + RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.createOrReplaceCollectionWithResponse(collectionId, body, requestOptions), + new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); + } + + /** + * Delete Collection + * + * Delete a collection in the GeoCatalog instance. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection 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 microsoft Planetary Computer Pro geo-catalog operation along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> deleteCollectionWithResponseAsync(String collectionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.deleteCollection(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, accept, requestOptions, context)); + } + + /** + * Delete Collection + * + * Delete a collection in the GeoCatalog instance. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection 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 microsoft Planetary Computer Pro geo-catalog operation along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Response deleteCollectionWithResponse(String collectionId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteCollectionSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + accept, requestOptions, Context.NONE); + } + + /** + * Delete Collection + * + * Delete a collection in the GeoCatalog instance. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection 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 PollerFlux} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginDeleteCollectionWithModelAsync(String collectionId, + RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.deleteCollectionWithResponseAsync(collectionId, requestOptions), + new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(Operation.class), TypeReference.createInstance(Void.class)); + } + + /** + * Delete Collection + * + * Delete a collection in the GeoCatalog instance. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection 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 SyncPoller} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginDeleteCollectionWithModel(String collectionId, + RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.deleteCollectionWithResponse(collectionId, requestOptions), + new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(Operation.class), TypeReference.createInstance(Void.class)); + } + + /** + * Delete Collection + * + * Delete a collection in the GeoCatalog instance. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection 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 PollerFlux} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginDeleteCollectionAsync(String collectionId, RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.deleteCollectionWithResponseAsync(collectionId, requestOptions), + new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(Void.class)); + } + + /** + * Delete Collection + * + * Delete a collection in the GeoCatalog instance. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection 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 SyncPoller} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginDeleteCollection(String collectionId, RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.deleteCollectionWithResponse(collectionId, requestOptions), + new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(Void.class)); + } + + /** + * Fetch features of the feature collection with id `collectionId`. + * + * Every feature in a dataset belongs to a collection. A dataset may + * consist of multiple feature collections. A feature collection is often a + * collection of features of a similar type, based on a common schema."). + *

Query Parameters

+ * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitLongNoThe optional limit parameter recommends the number of items that + * should be present in the response document. + * + * If the limit parameter value is greater than advertised limit maximum, the server must return the + * maximum possible number of items, rather than responding with an error. + * + * Only items are counted that are on the first level of the collection in the response document. + * Nested objects contained within the explicitly requested items must not be counted. + * + * Minimum = 1. Maximum = 10000. Default = 10.
bboxList<String>NoOnly features that have a geometry that intersects the + * bounding box are selected. + * The bounding box is provided as four or six numbers, depending on whether the + * coordinate reference system includes a vertical axis (height or depth): + * + * - Lower left corner, coordinate axis 1 + * - Lower left corner, coordinate axis 2 + * - Minimum value, coordinate axis 3 (optional) + * - Upper right corner, coordinate axis 1 + * - Upper right corner, coordinate axis 2 + * - Maximum value, coordinate axis 3 (optional) + * + * The coordinate reference system of the values is WGS 84 longitude/latitude + * (http://www.opengis.net/def/crs/OGC/1.3/CRS84). + * + * For WGS 84 longitude/latitude the values are in most cases the sequence of + * minimum longitude, minimum latitude, maximum longitude and maximum latitude. + * However, in cases where the box spans the antimeridian the first value + * (west-most box edge) is larger than the third value (east-most box edge). + * + * If the vertical axis is included, the third and the sixth number are + * the bottom and the top of the 3-dimensional bounding box. + * + * If a feature has multiple spatial geometry properties, it is the decision of the + * server whether only a single spatial geometry property is used to determine + * the extent or all relevant geometries. Call {@link RequestOptions#addQueryParam} to add string to + * array.
datetimeStringNoEither a date-time or an interval, open or closed. Date and + * time expressions + * adhere to RFC 3339. Open intervals are expressed using double-dots. + * + * Examples: + * + * - A date-time: "2018-02-12T23:20:50Z" + * - A closed interval: "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z" + * - Open intervals: "2018-02-12T00:00:00Z/.." or "../2018-03-18T12:31:12Z" + * + * Only features that have a temporal property that intersects the value of + * `datetime` are selected. + * + * If a feature has multiple temporal properties, it is the decision of the + * server whether only a single temporal property is used to determine + * the extent or all relevant temporal properties.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     features (Optional, Required on create): [
+     *          (Optional, Required on create){
+     *             type: String(Feature/FeatureCollection) (Required)
+     *             stac_version: String (Optional)
+     *             links (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             msft:_created: String (Optional)
+     *             msft:_updated: String (Optional)
+     *             msft:short_description: String (Optional)
+     *             stac_extensions (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             geometry (Optional, Required on create): {
+     *                 type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *                 bbox (Optional): [
+     *                     double (Optional)
+     *                 ]
+     *             }
+     *             bbox (Optional, Required on create): [
+     *                 double (Optional, Required on create)
+     *             ]
+     *             id: String (Required)
+     *             collection: String (Optional)
+     *             properties (Optional, Required on create): {
+     *                 platform: String (Optional)
+     *                 instruments (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 constellation: String (Optional)
+     *                 mission: String (Optional)
+     *                 providers (Optional): [
+     *                      (Optional){
+     *                         name: String (Optional, Required on create)
+     *                         description: String (Optional)
+     *                         roles (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         url: String (Optional)
+     *                     }
+     *                 ]
+     *                 gsd: Double (Optional)
+     *                 created: OffsetDateTime (Optional)
+     *                 updated: OffsetDateTime (Optional)
+     *                 title: String (Optional)
+     *                 description: String (Optional)
+     *                 datetime: String (Optional, Required on create)
+     *                 start_datetime: OffsetDateTime (Optional)
+     *                 end_datetime: OffsetDateTime (Optional)
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *             assets (Optional, Required on create): {
+     *                 String (Required): {
+     *                     platform: String (Optional)
+     *                     instruments (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     constellation: String (Optional)
+     *                     mission: String (Optional)
+     *                     providers (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     gsd: Double (Optional)
+     *                     created: OffsetDateTime (Optional)
+     *                     updated: OffsetDateTime (Optional)
+     *                     title: String (Optional)
+     *                     description: String (Optional)
+     *                     href: String (Optional, Required on create)
+     *                     type: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                      (Optional): {
+     *                         String: BinaryData (Required)
+     *                     }
+     *                 }
+     *             }
+     *             _msft:ts: String (Optional)
+     *             _msft:etag: String (Optional)
+     *         }
+     *     ]
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     *     context (Optional): {
+     *         returned: int (Optional, Required on create)
+     *         limit: Integer (Optional)
+     *         matched: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection 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 https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.md + * + * Represents a collection of STAC Items as a GeoJSON FeatureCollection along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getItemsAsFeaturesWithResponseAsync(String collectionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getItemsAsFeatures(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, accept, requestOptions, context)); + } + + /** + * Fetch features of the feature collection with id `collectionId`. + * + * Every feature in a dataset belongs to a collection. A dataset may + * consist of multiple feature collections. A feature collection is often a + * collection of features of a similar type, based on a common schema."). + *

Query Parameters

+ * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitLongNoThe optional limit parameter recommends the number of items that + * should be present in the response document. + * + * If the limit parameter value is greater than advertised limit maximum, the server must return the + * maximum possible number of items, rather than responding with an error. + * + * Only items are counted that are on the first level of the collection in the response document. + * Nested objects contained within the explicitly requested items must not be counted. + * + * Minimum = 1. Maximum = 10000. Default = 10.
bboxList<String>NoOnly features that have a geometry that intersects the + * bounding box are selected. + * The bounding box is provided as four or six numbers, depending on whether the + * coordinate reference system includes a vertical axis (height or depth): + * + * - Lower left corner, coordinate axis 1 + * - Lower left corner, coordinate axis 2 + * - Minimum value, coordinate axis 3 (optional) + * - Upper right corner, coordinate axis 1 + * - Upper right corner, coordinate axis 2 + * - Maximum value, coordinate axis 3 (optional) + * + * The coordinate reference system of the values is WGS 84 longitude/latitude + * (http://www.opengis.net/def/crs/OGC/1.3/CRS84). + * + * For WGS 84 longitude/latitude the values are in most cases the sequence of + * minimum longitude, minimum latitude, maximum longitude and maximum latitude. + * However, in cases where the box spans the antimeridian the first value + * (west-most box edge) is larger than the third value (east-most box edge). + * + * If the vertical axis is included, the third and the sixth number are + * the bottom and the top of the 3-dimensional bounding box. + * + * If a feature has multiple spatial geometry properties, it is the decision of the + * server whether only a single spatial geometry property is used to determine + * the extent or all relevant geometries. Call {@link RequestOptions#addQueryParam} to add string to + * array.
datetimeStringNoEither a date-time or an interval, open or closed. Date and + * time expressions + * adhere to RFC 3339. Open intervals are expressed using double-dots. + * + * Examples: + * + * - A date-time: "2018-02-12T23:20:50Z" + * - A closed interval: "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z" + * - Open intervals: "2018-02-12T00:00:00Z/.." or "../2018-03-18T12:31:12Z" + * + * Only features that have a temporal property that intersects the value of + * `datetime` are selected. + * + * If a feature has multiple temporal properties, it is the decision of the + * server whether only a single temporal property is used to determine + * the extent or all relevant temporal properties.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     features (Optional, Required on create): [
+     *          (Optional, Required on create){
+     *             type: String(Feature/FeatureCollection) (Required)
+     *             stac_version: String (Optional)
+     *             links (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             msft:_created: String (Optional)
+     *             msft:_updated: String (Optional)
+     *             msft:short_description: String (Optional)
+     *             stac_extensions (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             geometry (Optional, Required on create): {
+     *                 type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *                 bbox (Optional): [
+     *                     double (Optional)
+     *                 ]
+     *             }
+     *             bbox (Optional, Required on create): [
+     *                 double (Optional, Required on create)
+     *             ]
+     *             id: String (Required)
+     *             collection: String (Optional)
+     *             properties (Optional, Required on create): {
+     *                 platform: String (Optional)
+     *                 instruments (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 constellation: String (Optional)
+     *                 mission: String (Optional)
+     *                 providers (Optional): [
+     *                      (Optional){
+     *                         name: String (Optional, Required on create)
+     *                         description: String (Optional)
+     *                         roles (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         url: String (Optional)
+     *                     }
+     *                 ]
+     *                 gsd: Double (Optional)
+     *                 created: OffsetDateTime (Optional)
+     *                 updated: OffsetDateTime (Optional)
+     *                 title: String (Optional)
+     *                 description: String (Optional)
+     *                 datetime: String (Optional, Required on create)
+     *                 start_datetime: OffsetDateTime (Optional)
+     *                 end_datetime: OffsetDateTime (Optional)
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *             assets (Optional, Required on create): {
+     *                 String (Required): {
+     *                     platform: String (Optional)
+     *                     instruments (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     constellation: String (Optional)
+     *                     mission: String (Optional)
+     *                     providers (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     gsd: Double (Optional)
+     *                     created: OffsetDateTime (Optional)
+     *                     updated: OffsetDateTime (Optional)
+     *                     title: String (Optional)
+     *                     description: String (Optional)
+     *                     href: String (Optional, Required on create)
+     *                     type: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                      (Optional): {
+     *                         String: BinaryData (Required)
+     *                     }
+     *                 }
+     *             }
+     *             _msft:ts: String (Optional)
+     *             _msft:etag: String (Optional)
+     *         }
+     *     ]
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     *     context (Optional): {
+     *         returned: int (Optional, Required on create)
+     *         limit: Integer (Optional)
+     *         matched: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection 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 https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.md + * + * Represents a collection of STAC Items as a GeoJSON FeatureCollection along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getItemsAsFeaturesWithResponse(String collectionId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getItemsAsFeaturesSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + accept, requestOptions, Context.NONE); + } + + /** + * Create a new STAC item or a set of items in a collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param body STAC Item or ItemCollection + * + * Represents a STAC Item or ItemCollectionModel as defined by the STAC 1.0.0 standard. + * + * **Item**: A GeoJSON Feature that represents a single spatiotemporal asset. + * It includes metadata such as geometry, datetime, and links to related assets. + * Example: A satellite image with its metadata. + * + * **ItemCollectionModel**: A GeoJSON FeatureCollection that contains multiple Items. + * It is used to group multiple related Items together, such as a collection of satellite images. + * + * This union allows the request body to accept either a single Item or a collection of Items. + * @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 microsoft Planetary Computer Pro geo-catalog operation along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createItemWithResponseAsync(String collectionId, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.createItem(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, contentType, accept, body, requestOptions, context)); + } + + /** + * Create a new STAC item or a set of items in a collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param body STAC Item or ItemCollection + * + * Represents a STAC Item or ItemCollectionModel as defined by the STAC 1.0.0 standard. + * + * **Item**: A GeoJSON Feature that represents a single spatiotemporal asset. + * It includes metadata such as geometry, datetime, and links to related assets. + * Example: A satellite image with its metadata. + * + * **ItemCollectionModel**: A GeoJSON FeatureCollection that contains multiple Items. + * It is used to group multiple related Items together, such as a collection of satellite images. + * + * This union allows the request body to accept either a single Item or a collection of Items. + * @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 microsoft Planetary Computer Pro geo-catalog operation along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Response createItemWithResponse(String collectionId, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.createItemSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + contentType, accept, body, requestOptions, Context.NONE); + } + + /** + * Create a new STAC item or a set of items in a collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param body STAC Item or ItemCollection + * + * Represents a STAC Item or ItemCollectionModel as defined by the STAC 1.0.0 standard. + * + * **Item**: A GeoJSON Feature that represents a single spatiotemporal asset. + * It includes metadata such as geometry, datetime, and links to related assets. + * Example: A satellite image with its metadata. + * + * **ItemCollectionModel**: A GeoJSON FeatureCollection that contains multiple Items. + * It is used to group multiple related Items together, such as a collection of satellite images. + * + * This union allows the request body to accept either a single Item or a collection of Items. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginCreateItemWithModelAsync(String collectionId, BinaryData body, + RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.createItemWithResponseAsync(collectionId, body, requestOptions), + new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(Operation.class), TypeReference.createInstance(Void.class)); + } + + /** + * Create a new STAC item or a set of items in a collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param body STAC Item or ItemCollection + * + * Represents a STAC Item or ItemCollectionModel as defined by the STAC 1.0.0 standard. + * + * **Item**: A GeoJSON Feature that represents a single spatiotemporal asset. + * It includes metadata such as geometry, datetime, and links to related assets. + * Example: A satellite image with its metadata. + * + * **ItemCollectionModel**: A GeoJSON FeatureCollection that contains multiple Items. + * It is used to group multiple related Items together, such as a collection of satellite images. + * + * This union allows the request body to accept either a single Item or a collection of Items. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginCreateItemWithModel(String collectionId, BinaryData body, + RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.createItemWithResponse(collectionId, body, requestOptions), + new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(Operation.class), TypeReference.createInstance(Void.class)); + } + + /** + * Create a new STAC item or a set of items in a collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param body STAC Item or ItemCollection + * + * Represents a STAC Item or ItemCollectionModel as defined by the STAC 1.0.0 standard. + * + * **Item**: A GeoJSON Feature that represents a single spatiotemporal asset. + * It includes metadata such as geometry, datetime, and links to related assets. + * Example: A satellite image with its metadata. + * + * **ItemCollectionModel**: A GeoJSON FeatureCollection that contains multiple Items. + * It is used to group multiple related Items together, such as a collection of satellite images. + * + * This union allows the request body to accept either a single Item or a collection of Items. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginCreateItemAsync(String collectionId, BinaryData body, + RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.createItemWithResponseAsync(collectionId, body, requestOptions), + new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); + } + + /** + * Create a new STAC item or a set of items in a collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param body STAC Item or ItemCollection + * + * Represents a STAC Item or ItemCollectionModel as defined by the STAC 1.0.0 standard. + * + * **Item**: A GeoJSON Feature that represents a single spatiotemporal asset. + * It includes metadata such as geometry, datetime, and links to related assets. + * Example: A satellite image with its metadata. + * + * **ItemCollectionModel**: A GeoJSON FeatureCollection that contains multiple Items. + * It is used to group multiple related Items together, such as a collection of satellite images. + * + * This union allows the request body to accept either a single Item or a collection of Items. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginCreateItem(String collectionId, BinaryData body, + RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.createItemWithResponse(collectionId, body, requestOptions), + new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); + } + + /** + * Fetch a single STAC Item. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     geometry (Optional, Required on create): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     bbox (Optional, Required on create): [
+     *         double (Optional, Required on create)
+     *     ]
+     *     id: String (Required)
+     *     collection: String (Optional)
+     *     properties (Optional, Required on create): {
+     *         platform: String (Optional)
+     *         instruments (Optional): [
+     *             String (Optional)
+     *         ]
+     *         constellation: String (Optional)
+     *         mission: String (Optional)
+     *         providers (Optional): [
+     *              (Optional){
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 roles (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         gsd: Double (Optional)
+     *         created: OffsetDateTime (Optional)
+     *         updated: OffsetDateTime (Optional)
+     *         title: String (Optional)
+     *         description: String (Optional)
+     *         datetime: String (Optional, Required on create)
+     *         start_datetime: OffsetDateTime (Optional)
+     *         end_datetime: OffsetDateTime (Optional)
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     assets (Optional, Required on create): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     _msft:ts: String (Optional)
+     *     _msft:etag: String (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item 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 represents a STAC Item, which is a GeoJSON Feature with additional metadata along with {@link Response} + * on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getItemWithResponseAsync(String collectionId, String itemId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getItem(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, itemId, accept, requestOptions, context)); + } + + /** + * Fetch a single STAC Item. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     geometry (Optional, Required on create): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     bbox (Optional, Required on create): [
+     *         double (Optional, Required on create)
+     *     ]
+     *     id: String (Required)
+     *     collection: String (Optional)
+     *     properties (Optional, Required on create): {
+     *         platform: String (Optional)
+     *         instruments (Optional): [
+     *             String (Optional)
+     *         ]
+     *         constellation: String (Optional)
+     *         mission: String (Optional)
+     *         providers (Optional): [
+     *              (Optional){
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 roles (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         gsd: Double (Optional)
+     *         created: OffsetDateTime (Optional)
+     *         updated: OffsetDateTime (Optional)
+     *         title: String (Optional)
+     *         description: String (Optional)
+     *         datetime: String (Optional, Required on create)
+     *         start_datetime: OffsetDateTime (Optional)
+     *         end_datetime: OffsetDateTime (Optional)
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     assets (Optional, Required on create): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     _msft:ts: String (Optional)
+     *     _msft:etag: String (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item 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 represents a STAC Item, which is a GeoJSON Feature with additional metadata along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getItemWithResponse(String collectionId, String itemId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getItemSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, itemId, + accept, requestOptions, Context.NONE); + } + + /** + * Create or replace a STAC item in a collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     geometry (Optional, Required on create): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     bbox (Optional, Required on create): [
+     *         double (Optional, Required on create)
+     *     ]
+     *     id: String (Required)
+     *     collection: String (Optional)
+     *     properties (Optional, Required on create): {
+     *         platform: String (Optional)
+     *         instruments (Optional): [
+     *             String (Optional)
+     *         ]
+     *         constellation: String (Optional)
+     *         mission: String (Optional)
+     *         providers (Optional): [
+     *              (Optional){
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 roles (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         gsd: Double (Optional)
+     *         created: OffsetDateTime (Optional)
+     *         updated: OffsetDateTime (Optional)
+     *         title: String (Optional)
+     *         description: String (Optional)
+     *         datetime: String (Optional, Required on create)
+     *         start_datetime: OffsetDateTime (Optional)
+     *         end_datetime: OffsetDateTime (Optional)
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     assets (Optional, Required on create): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     _msft:ts: String (Optional)
+     *     _msft:etag: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item id. + * @param body STAC Item. + * @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 microsoft Planetary Computer Pro geo-catalog operation along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createOrReplaceItemWithResponseAsync(String collectionId, String itemId, + BinaryData body, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.createOrReplaceItem(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, itemId, contentType, accept, body, requestOptions, context)); + } + + /** + * Create or replace a STAC item in a collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     geometry (Optional, Required on create): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     bbox (Optional, Required on create): [
+     *         double (Optional, Required on create)
+     *     ]
+     *     id: String (Required)
+     *     collection: String (Optional)
+     *     properties (Optional, Required on create): {
+     *         platform: String (Optional)
+     *         instruments (Optional): [
+     *             String (Optional)
+     *         ]
+     *         constellation: String (Optional)
+     *         mission: String (Optional)
+     *         providers (Optional): [
+     *              (Optional){
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 roles (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         gsd: Double (Optional)
+     *         created: OffsetDateTime (Optional)
+     *         updated: OffsetDateTime (Optional)
+     *         title: String (Optional)
+     *         description: String (Optional)
+     *         datetime: String (Optional, Required on create)
+     *         start_datetime: OffsetDateTime (Optional)
+     *         end_datetime: OffsetDateTime (Optional)
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     assets (Optional, Required on create): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     _msft:ts: String (Optional)
+     *     _msft:etag: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item id. + * @param body STAC Item. + * @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 microsoft Planetary Computer Pro geo-catalog operation along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Response createOrReplaceItemWithResponse(String collectionId, String itemId, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.createOrReplaceItemSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + itemId, contentType, accept, body, requestOptions, Context.NONE); + } + + /** + * Create or replace a STAC item in a collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     geometry (Optional, Required on create): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     bbox (Optional, Required on create): [
+     *         double (Optional, Required on create)
+     *     ]
+     *     id: String (Required)
+     *     collection: String (Optional)
+     *     properties (Optional, Required on create): {
+     *         platform: String (Optional)
+     *         instruments (Optional): [
+     *             String (Optional)
+     *         ]
+     *         constellation: String (Optional)
+     *         mission: String (Optional)
+     *         providers (Optional): [
+     *              (Optional){
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 roles (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         gsd: Double (Optional)
+     *         created: OffsetDateTime (Optional)
+     *         updated: OffsetDateTime (Optional)
+     *         title: String (Optional)
+     *         description: String (Optional)
+     *         datetime: String (Optional, Required on create)
+     *         start_datetime: OffsetDateTime (Optional)
+     *         end_datetime: OffsetDateTime (Optional)
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     assets (Optional, Required on create): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     _msft:ts: String (Optional)
+     *     _msft:etag: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item id. + * @param body STAC Item. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginCreateOrReplaceItemWithModelAsync(String collectionId, String itemId, + BinaryData body, RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.createOrReplaceItemWithResponseAsync(collectionId, itemId, body, requestOptions), + new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(Operation.class), TypeReference.createInstance(Void.class)); + } + + /** + * Create or replace a STAC item in a collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     geometry (Optional, Required on create): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     bbox (Optional, Required on create): [
+     *         double (Optional, Required on create)
+     *     ]
+     *     id: String (Required)
+     *     collection: String (Optional)
+     *     properties (Optional, Required on create): {
+     *         platform: String (Optional)
+     *         instruments (Optional): [
+     *             String (Optional)
+     *         ]
+     *         constellation: String (Optional)
+     *         mission: String (Optional)
+     *         providers (Optional): [
+     *              (Optional){
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 roles (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         gsd: Double (Optional)
+     *         created: OffsetDateTime (Optional)
+     *         updated: OffsetDateTime (Optional)
+     *         title: String (Optional)
+     *         description: String (Optional)
+     *         datetime: String (Optional, Required on create)
+     *         start_datetime: OffsetDateTime (Optional)
+     *         end_datetime: OffsetDateTime (Optional)
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     assets (Optional, Required on create): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     _msft:ts: String (Optional)
+     *     _msft:etag: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item id. + * @param body STAC Item. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginCreateOrReplaceItemWithModel(String collectionId, String itemId, + BinaryData body, RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.createOrReplaceItemWithResponse(collectionId, itemId, body, requestOptions), + new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(Operation.class), TypeReference.createInstance(Void.class)); + } + + /** + * Create or replace a STAC item in a collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     geometry (Optional, Required on create): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     bbox (Optional, Required on create): [
+     *         double (Optional, Required on create)
+     *     ]
+     *     id: String (Required)
+     *     collection: String (Optional)
+     *     properties (Optional, Required on create): {
+     *         platform: String (Optional)
+     *         instruments (Optional): [
+     *             String (Optional)
+     *         ]
+     *         constellation: String (Optional)
+     *         mission: String (Optional)
+     *         providers (Optional): [
+     *              (Optional){
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 roles (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         gsd: Double (Optional)
+     *         created: OffsetDateTime (Optional)
+     *         updated: OffsetDateTime (Optional)
+     *         title: String (Optional)
+     *         description: String (Optional)
+     *         datetime: String (Optional, Required on create)
+     *         start_datetime: OffsetDateTime (Optional)
+     *         end_datetime: OffsetDateTime (Optional)
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     assets (Optional, Required on create): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     _msft:ts: String (Optional)
+     *     _msft:etag: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item id. + * @param body STAC Item. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginCreateOrReplaceItemAsync(String collectionId, String itemId, + BinaryData body, RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.createOrReplaceItemWithResponseAsync(collectionId, itemId, body, requestOptions), + new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); + } + + /** + * Create or replace a STAC item in a collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     geometry (Optional, Required on create): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     bbox (Optional, Required on create): [
+     *         double (Optional, Required on create)
+     *     ]
+     *     id: String (Required)
+     *     collection: String (Optional)
+     *     properties (Optional, Required on create): {
+     *         platform: String (Optional)
+     *         instruments (Optional): [
+     *             String (Optional)
+     *         ]
+     *         constellation: String (Optional)
+     *         mission: String (Optional)
+     *         providers (Optional): [
+     *              (Optional){
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 roles (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         gsd: Double (Optional)
+     *         created: OffsetDateTime (Optional)
+     *         updated: OffsetDateTime (Optional)
+     *         title: String (Optional)
+     *         description: String (Optional)
+     *         datetime: String (Optional, Required on create)
+     *         start_datetime: OffsetDateTime (Optional)
+     *         end_datetime: OffsetDateTime (Optional)
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     assets (Optional, Required on create): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     _msft:ts: String (Optional)
+     *     _msft:etag: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item id. + * @param body STAC Item. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginCreateOrReplaceItem(String collectionId, String itemId, + BinaryData body, RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.createOrReplaceItemWithResponse(collectionId, itemId, body, requestOptions), + new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); + } + + /** + * Update a STAC item in a collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     geometry (Optional, Required on create): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     bbox (Optional, Required on create): [
+     *         double (Optional, Required on create)
+     *     ]
+     *     id: String (Required)
+     *     collection: String (Optional)
+     *     properties (Optional, Required on create): {
+     *         platform: String (Optional)
+     *         instruments (Optional): [
+     *             String (Optional)
+     *         ]
+     *         constellation: String (Optional)
+     *         mission: String (Optional)
+     *         providers (Optional): [
+     *              (Optional){
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 roles (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         gsd: Double (Optional)
+     *         created: OffsetDateTime (Optional)
+     *         updated: OffsetDateTime (Optional)
+     *         title: String (Optional)
+     *         description: String (Optional)
+     *         datetime: String (Optional, Required on create)
+     *         start_datetime: OffsetDateTime (Optional)
+     *         end_datetime: OffsetDateTime (Optional)
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     assets (Optional, Required on create): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     _msft:ts: String (Optional)
+     *     _msft:etag: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item id. + * @param body STAC Item. + * @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 microsoft Planetary Computer Pro geo-catalog operation along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> updateItemWithResponseAsync(String collectionId, String itemId, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/merge-patch+json"; + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.updateItem(this.getEndpoint(), contentType, + this.getServiceVersion().getVersion(), collectionId, itemId, accept, body, requestOptions, context)); + } + + /** + * Update a STAC item in a collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     geometry (Optional, Required on create): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     bbox (Optional, Required on create): [
+     *         double (Optional, Required on create)
+     *     ]
+     *     id: String (Required)
+     *     collection: String (Optional)
+     *     properties (Optional, Required on create): {
+     *         platform: String (Optional)
+     *         instruments (Optional): [
+     *             String (Optional)
+     *         ]
+     *         constellation: String (Optional)
+     *         mission: String (Optional)
+     *         providers (Optional): [
+     *              (Optional){
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 roles (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         gsd: Double (Optional)
+     *         created: OffsetDateTime (Optional)
+     *         updated: OffsetDateTime (Optional)
+     *         title: String (Optional)
+     *         description: String (Optional)
+     *         datetime: String (Optional, Required on create)
+     *         start_datetime: OffsetDateTime (Optional)
+     *         end_datetime: OffsetDateTime (Optional)
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     assets (Optional, Required on create): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     _msft:ts: String (Optional)
+     *     _msft:etag: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item id. + * @param body STAC Item. + * @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 microsoft Planetary Computer Pro geo-catalog operation along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Response updateItemWithResponse(String collectionId, String itemId, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/merge-patch+json"; + final String accept = "application/json"; + return service.updateItemSync(this.getEndpoint(), contentType, this.getServiceVersion().getVersion(), + collectionId, itemId, accept, body, requestOptions, Context.NONE); + } + + /** + * Update a STAC item in a collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     geometry (Optional, Required on create): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     bbox (Optional, Required on create): [
+     *         double (Optional, Required on create)
+     *     ]
+     *     id: String (Required)
+     *     collection: String (Optional)
+     *     properties (Optional, Required on create): {
+     *         platform: String (Optional)
+     *         instruments (Optional): [
+     *             String (Optional)
+     *         ]
+     *         constellation: String (Optional)
+     *         mission: String (Optional)
+     *         providers (Optional): [
+     *              (Optional){
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 roles (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         gsd: Double (Optional)
+     *         created: OffsetDateTime (Optional)
+     *         updated: OffsetDateTime (Optional)
+     *         title: String (Optional)
+     *         description: String (Optional)
+     *         datetime: String (Optional, Required on create)
+     *         start_datetime: OffsetDateTime (Optional)
+     *         end_datetime: OffsetDateTime (Optional)
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     assets (Optional, Required on create): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     _msft:ts: String (Optional)
+     *     _msft:etag: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item id. + * @param body STAC Item. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginUpdateItemAsync(String collectionId, String itemId, BinaryData body, + RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.updateItemWithResponseAsync(collectionId, itemId, body, requestOptions), + new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); + } + + /** + * Update a STAC item in a collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     geometry (Optional, Required on create): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     bbox (Optional, Required on create): [
+     *         double (Optional, Required on create)
+     *     ]
+     *     id: String (Required)
+     *     collection: String (Optional)
+     *     properties (Optional, Required on create): {
+     *         platform: String (Optional)
+     *         instruments (Optional): [
+     *             String (Optional)
+     *         ]
+     *         constellation: String (Optional)
+     *         mission: String (Optional)
+     *         providers (Optional): [
+     *              (Optional){
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 roles (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         gsd: Double (Optional)
+     *         created: OffsetDateTime (Optional)
+     *         updated: OffsetDateTime (Optional)
+     *         title: String (Optional)
+     *         description: String (Optional)
+     *         datetime: String (Optional, Required on create)
+     *         start_datetime: OffsetDateTime (Optional)
+     *         end_datetime: OffsetDateTime (Optional)
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     assets (Optional, Required on create): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     _msft:ts: String (Optional)
+     *     _msft:etag: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item id. + * @param body STAC Item. + * @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 microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginUpdateItem(String collectionId, String itemId, BinaryData body, + RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.updateItemWithResponse(collectionId, itemId, body, requestOptions), + new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); + } + + /** + * Delete a STAC item from a collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item 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 microsoft Planetary Computer Pro geo-catalog operation along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> deleteItemWithResponseAsync(String collectionId, String itemId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.deleteItem(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, itemId, accept, requestOptions, context)); + } + + /** + * Delete a STAC item from a collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item 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 microsoft Planetary Computer Pro geo-catalog operation along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Response deleteItemWithResponse(String collectionId, String itemId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteItemSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, itemId, + accept, requestOptions, Context.NONE); + } + + /** + * Delete a STAC item from a collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item 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 PollerFlux} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginDeleteItemWithModelAsync(String collectionId, String itemId, + RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.deleteItemWithResponseAsync(collectionId, itemId, requestOptions), + new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(Operation.class), TypeReference.createInstance(Void.class)); + } + + /** + * Delete a STAC item from a collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item 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 SyncPoller} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginDeleteItemWithModel(String collectionId, String itemId, + RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.deleteItemWithResponse(collectionId, itemId, requestOptions), + new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(Operation.class), TypeReference.createInstance(Void.class)); + } + + /** + * Delete a STAC item from a collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item 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 PollerFlux} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginDeleteItemAsync(String collectionId, String itemId, + RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.deleteItemWithResponseAsync(collectionId, itemId, requestOptions), + new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(Void.class)); + } + + /** + * Delete a STAC item from a collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *     type: String (Required)
+     *     creationTime: OffsetDateTime (Required)
+     *     collectionId: String (Optional)
+     *     statusHistory (Required): [
+     *          (Required){
+     *             timestamp: OffsetDateTime (Required)
+     *             status: String(Pending/Running/Succeeded/Canceled/Canceling/Failed) (Required)
+     *             errorCode: String (Optional)
+     *             errorMessage: String (Optional)
+     *         }
+     *     ]
+     *     startTime: OffsetDateTime (Optional)
+     *     finishTime: OffsetDateTime (Optional)
+     *     additionalInformation (Optional): {
+     *         String: String (Required)
+     *     }
+     *     error (Optional): {
+     *         error (Required): (recursive schema, see error above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Catalog collection id. + * @param itemId STAC Item 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 SyncPoller} for polling of microsoft Planetary Computer Pro geo-catalog operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginDeleteItem(String collectionId, String itemId, + RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.deleteItemWithResponse(collectionId, itemId, requestOptions), + new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(Void.class)); + } + + /** + * Queryables + * + * Endpoint. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *      (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     * }
+     * }
+     * 
+ * + * @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 jSON Schema structure for STAC Queryables along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAllQueryablesWithResponseAsync(RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getAllQueryables(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Queryables + * + * Endpoint. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *      (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     * }
+     * }
+     * 
+ * + * @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 jSON Schema structure for STAC Queryables along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAllQueryablesWithResponse(RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getAllQueryablesSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, + requestOptions, Context.NONE); + } + + /** + * Collection Queryables + * + * Endpoint. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *      (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Collection 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 jSON Schema structure for STAC Queryables along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAllQueryablesByCollectionWithResponseAsync(String collectionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getAllQueryablesByCollection(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, accept, requestOptions, context)); + } + + /** + * Collection Queryables + * + * Endpoint. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *      (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Collection 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 jSON Schema structure for STAC Queryables along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAllQueryablesByCollectionWithResponse(String collectionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getAllQueryablesByCollectionSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, accept, requestOptions, Context.NONE); + } + + /** + * Set Collection Queryables + * + * Set queryables for a collection given a list of queryable definitions. + *

Request Body Schema

+ * + *
+     * {@code
+     * [
+     *      (Required){
+     *         name: String (Required)
+     *         definition (Required): {
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *         create_index: Boolean (Optional)
+     *         data_type: String(string/number/boolean/timestamp/date) (Optional)
+     *     }
+     * ]
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *      (Required){
+     *         name: String (Required)
+     *         definition (Required): {
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *         create_index: Boolean (Optional)
+     *         data_type: String(string/number/boolean/timestamp/date) (Optional)
+     *     }
+     * ]
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param body Request queryable definition body. + * @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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createQueryablesWithResponseAsync(String collectionId, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.createQueryables(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, contentType, accept, body, requestOptions, context)); + } + + /** + * Set Collection Queryables + * + * Set queryables for a collection given a list of queryable definitions. + *

Request Body Schema

+ * + *
+     * {@code
+     * [
+     *      (Required){
+     *         name: String (Required)
+     *         definition (Required): {
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *         create_index: Boolean (Optional)
+     *         data_type: String(string/number/boolean/timestamp/date) (Optional)
+     *     }
+     * ]
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *      (Required){
+     *         name: String (Required)
+     *         definition (Required): {
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *         create_index: Boolean (Optional)
+     *         data_type: String(string/number/boolean/timestamp/date) (Optional)
+     *     }
+     * ]
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param body Request queryable definition body. + * @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 body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createQueryablesWithResponse(String collectionId, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.createQueryablesSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + contentType, accept, body, requestOptions, Context.NONE); + } + + /** + * Conformance Classes + * + * Endpoint. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     conformsTo (Required): [
+     *         String (Required)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @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 https://github.com/radiantearth/stac-api-spec/blob/master/api-spec.md#ogc-api---features-endpoints + * + * Represents the OGC API conformance declaration along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getConformanceClassWithResponseAsync(RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getConformanceClass(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Conformance Classes + * + * Endpoint. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     conformsTo (Required): [
+     *         String (Required)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @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 https://github.com/radiantearth/stac-api-spec/blob/master/api-spec.md#ogc-api---features-endpoints + * + * Represents the OGC API conformance declaration along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getConformanceClassWithResponse(RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getConformanceClassSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, + requestOptions, Context.NONE); + } + + /** + * Search + * + * Endpoint. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
collectionsList<String>NoList of Collection IDs to include in the + * search. Only items in these collections will be searched. In the form of "," separated string.
idsList<String>NoArray of Item IDs to return specific items. In the form + * of "," separated string.
bboxList<Double>NoBounding box for spatial filtering in format [west, + * south, east, north]. In the form of "," separated string.
intersectsStringNoGeoJSON geometry for spatial filtering.
datetimeStringNoTemporal filter in RFC 3339 format, can be a single time or + * range.
limitIntegerNoMaximum number of results to return.
signStringNoWhether to sign asset URLs in the response. Allowed values: + * "true", "false".
durationIntegerNoURL signature duration in seconds.
queryStringNoProperty-based filtering expressed as a JSON object.
sortbyStringNoSort order for items. Format is property name prefixed with "+" + * for ascending or "-" for descending.
fieldsStringNoDetermines which fields to include in the response. Format is + * comma-separated field names with "-" prefix to exclude fields.
filterStringNoCQL filter expression for advanced filtering of items.
tokenStringNoPagination token for fetching the next set of results.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     features (Optional, Required on create): [
+     *          (Optional, Required on create){
+     *             type: String(Feature/FeatureCollection) (Required)
+     *             stac_version: String (Optional)
+     *             links (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             msft:_created: String (Optional)
+     *             msft:_updated: String (Optional)
+     *             msft:short_description: String (Optional)
+     *             stac_extensions (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             geometry (Optional, Required on create): {
+     *                 type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *                 bbox (Optional): [
+     *                     double (Optional)
+     *                 ]
+     *             }
+     *             bbox (Optional, Required on create): [
+     *                 double (Optional, Required on create)
+     *             ]
+     *             id: String (Required)
+     *             collection: String (Optional)
+     *             properties (Optional, Required on create): {
+     *                 platform: String (Optional)
+     *                 instruments (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 constellation: String (Optional)
+     *                 mission: String (Optional)
+     *                 providers (Optional): [
+     *                      (Optional){
+     *                         name: String (Optional, Required on create)
+     *                         description: String (Optional)
+     *                         roles (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         url: String (Optional)
+     *                     }
+     *                 ]
+     *                 gsd: Double (Optional)
+     *                 created: OffsetDateTime (Optional)
+     *                 updated: OffsetDateTime (Optional)
+     *                 title: String (Optional)
+     *                 description: String (Optional)
+     *                 datetime: String (Optional, Required on create)
+     *                 start_datetime: OffsetDateTime (Optional)
+     *                 end_datetime: OffsetDateTime (Optional)
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *             assets (Optional, Required on create): {
+     *                 String (Required): {
+     *                     platform: String (Optional)
+     *                     instruments (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     constellation: String (Optional)
+     *                     mission: String (Optional)
+     *                     providers (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     gsd: Double (Optional)
+     *                     created: OffsetDateTime (Optional)
+     *                     updated: OffsetDateTime (Optional)
+     *                     title: String (Optional)
+     *                     description: String (Optional)
+     *                     href: String (Optional, Required on create)
+     *                     type: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                      (Optional): {
+     *                         String: BinaryData (Required)
+     *                     }
+     *                 }
+     *             }
+     *             _msft:ts: String (Optional)
+     *             _msft:etag: String (Optional)
+     *         }
+     *     ]
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     *     context (Optional): {
+     *         returned: int (Optional, Required on create)
+     *         limit: Integer (Optional)
+     *         matched: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + * @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 https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.md + * + * Represents a collection of STAC Items as a GeoJSON FeatureCollection along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getSearchOperationsWithResponseAsync(RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getSearchOperations(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Search + * + * Endpoint. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
collectionsList<String>NoList of Collection IDs to include in the + * search. Only items in these collections will be searched. In the form of "," separated string.
idsList<String>NoArray of Item IDs to return specific items. In the form + * of "," separated string.
bboxList<Double>NoBounding box for spatial filtering in format [west, + * south, east, north]. In the form of "," separated string.
intersectsStringNoGeoJSON geometry for spatial filtering.
datetimeStringNoTemporal filter in RFC 3339 format, can be a single time or + * range.
limitIntegerNoMaximum number of results to return.
signStringNoWhether to sign asset URLs in the response. Allowed values: + * "true", "false".
durationIntegerNoURL signature duration in seconds.
queryStringNoProperty-based filtering expressed as a JSON object.
sortbyStringNoSort order for items. Format is property name prefixed with "+" + * for ascending or "-" for descending.
fieldsStringNoDetermines which fields to include in the response. Format is + * comma-separated field names with "-" prefix to exclude fields.
filterStringNoCQL filter expression for advanced filtering of items.
tokenStringNoPagination token for fetching the next set of results.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     features (Optional, Required on create): [
+     *          (Optional, Required on create){
+     *             type: String(Feature/FeatureCollection) (Required)
+     *             stac_version: String (Optional)
+     *             links (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             msft:_created: String (Optional)
+     *             msft:_updated: String (Optional)
+     *             msft:short_description: String (Optional)
+     *             stac_extensions (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             geometry (Optional, Required on create): {
+     *                 type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *                 bbox (Optional): [
+     *                     double (Optional)
+     *                 ]
+     *             }
+     *             bbox (Optional, Required on create): [
+     *                 double (Optional, Required on create)
+     *             ]
+     *             id: String (Required)
+     *             collection: String (Optional)
+     *             properties (Optional, Required on create): {
+     *                 platform: String (Optional)
+     *                 instruments (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 constellation: String (Optional)
+     *                 mission: String (Optional)
+     *                 providers (Optional): [
+     *                      (Optional){
+     *                         name: String (Optional, Required on create)
+     *                         description: String (Optional)
+     *                         roles (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         url: String (Optional)
+     *                     }
+     *                 ]
+     *                 gsd: Double (Optional)
+     *                 created: OffsetDateTime (Optional)
+     *                 updated: OffsetDateTime (Optional)
+     *                 title: String (Optional)
+     *                 description: String (Optional)
+     *                 datetime: String (Optional, Required on create)
+     *                 start_datetime: OffsetDateTime (Optional)
+     *                 end_datetime: OffsetDateTime (Optional)
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *             assets (Optional, Required on create): {
+     *                 String (Required): {
+     *                     platform: String (Optional)
+     *                     instruments (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     constellation: String (Optional)
+     *                     mission: String (Optional)
+     *                     providers (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     gsd: Double (Optional)
+     *                     created: OffsetDateTime (Optional)
+     *                     updated: OffsetDateTime (Optional)
+     *                     title: String (Optional)
+     *                     description: String (Optional)
+     *                     href: String (Optional, Required on create)
+     *                     type: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                      (Optional): {
+     *                         String: BinaryData (Required)
+     *                     }
+     *                 }
+     *             }
+     *             _msft:ts: String (Optional)
+     *             _msft:etag: String (Optional)
+     *         }
+     *     ]
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     *     context (Optional): {
+     *         returned: int (Optional, Required on create)
+     *         limit: Integer (Optional)
+     *         matched: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + * @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 https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.md + * + * Represents a collection of STAC Items as a GeoJSON FeatureCollection along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getSearchOperationsWithResponse(RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getSearchOperationsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, + requestOptions, Context.NONE); + } + + /** + * Search + * + * Endpoint. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     collections (Optional): [
+     *         String (Optional)
+     *     ]
+     *     ids (Optional): [
+     *         String (Optional)
+     *     ]
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     *     intersects (Optional): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     datetime: String (Optional)
+     *     limit: Integer (Optional)
+     *     conf (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     *     sign: String(true/false) (Optional)
+     *     duration: Integer (Optional)
+     *     query (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     sortby (Optional): [
+     *          (Optional){
+     *             field: String (Required)
+     *             direction: String(asc/desc) (Required)
+     *         }
+     *     ]
+     *     fields (Optional): [
+     *          (Optional){
+     *             include (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             exclude (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     filter: String (Optional)
+     *     filter-crs: String (Optional)
+     *     filter-lang: String(cql-json/cql2-json/cql2-text) (Optional)
+     *     token: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     features (Optional, Required on create): [
+     *          (Optional, Required on create){
+     *             type: String(Feature/FeatureCollection) (Required)
+     *             stac_version: String (Optional)
+     *             links (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             msft:_created: String (Optional)
+     *             msft:_updated: String (Optional)
+     *             msft:short_description: String (Optional)
+     *             stac_extensions (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             geometry (Optional, Required on create): {
+     *                 type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *                 bbox (Optional): [
+     *                     double (Optional)
+     *                 ]
+     *             }
+     *             bbox (Optional, Required on create): [
+     *                 double (Optional, Required on create)
+     *             ]
+     *             id: String (Required)
+     *             collection: String (Optional)
+     *             properties (Optional, Required on create): {
+     *                 platform: String (Optional)
+     *                 instruments (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 constellation: String (Optional)
+     *                 mission: String (Optional)
+     *                 providers (Optional): [
+     *                      (Optional){
+     *                         name: String (Optional, Required on create)
+     *                         description: String (Optional)
+     *                         roles (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         url: String (Optional)
+     *                     }
+     *                 ]
+     *                 gsd: Double (Optional)
+     *                 created: OffsetDateTime (Optional)
+     *                 updated: OffsetDateTime (Optional)
+     *                 title: String (Optional)
+     *                 description: String (Optional)
+     *                 datetime: String (Optional, Required on create)
+     *                 start_datetime: OffsetDateTime (Optional)
+     *                 end_datetime: OffsetDateTime (Optional)
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *             assets (Optional, Required on create): {
+     *                 String (Required): {
+     *                     platform: String (Optional)
+     *                     instruments (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     constellation: String (Optional)
+     *                     mission: String (Optional)
+     *                     providers (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     gsd: Double (Optional)
+     *                     created: OffsetDateTime (Optional)
+     *                     updated: OffsetDateTime (Optional)
+     *                     title: String (Optional)
+     *                     description: String (Optional)
+     *                     href: String (Optional, Required on create)
+     *                     type: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                      (Optional): {
+     *                         String: BinaryData (Required)
+     *                     }
+     *                 }
+     *             }
+     *             _msft:ts: String (Optional)
+     *             _msft:etag: String (Optional)
+     *         }
+     *     ]
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     *     context (Optional): {
+     *         returned: int (Optional, Required on create)
+     *         limit: Integer (Optional)
+     *         matched: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param body Request body. + * @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 https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.md + * + * Represents a collection of STAC Items as a GeoJSON FeatureCollection along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createSearchOperationsWithResponseAsync(BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.createSearchOperations(this.getEndpoint(), + this.getServiceVersion().getVersion(), contentType, accept, body, requestOptions, context)); + } + + /** + * Search + * + * Endpoint. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     collections (Optional): [
+     *         String (Optional)
+     *     ]
+     *     ids (Optional): [
+     *         String (Optional)
+     *     ]
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     *     intersects (Optional): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     datetime: String (Optional)
+     *     limit: Integer (Optional)
+     *     conf (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     *     sign: String(true/false) (Optional)
+     *     duration: Integer (Optional)
+     *     query (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     sortby (Optional): [
+     *          (Optional){
+     *             field: String (Required)
+     *             direction: String(asc/desc) (Required)
+     *         }
+     *     ]
+     *     fields (Optional): [
+     *          (Optional){
+     *             include (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             exclude (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     filter: String (Optional)
+     *     filter-crs: String (Optional)
+     *     filter-lang: String(cql-json/cql2-json/cql2-text) (Optional)
+     *     token: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     features (Optional, Required on create): [
+     *          (Optional, Required on create){
+     *             type: String(Feature/FeatureCollection) (Required)
+     *             stac_version: String (Optional)
+     *             links (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             msft:_created: String (Optional)
+     *             msft:_updated: String (Optional)
+     *             msft:short_description: String (Optional)
+     *             stac_extensions (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             geometry (Optional, Required on create): {
+     *                 type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *                 bbox (Optional): [
+     *                     double (Optional)
+     *                 ]
+     *             }
+     *             bbox (Optional, Required on create): [
+     *                 double (Optional, Required on create)
+     *             ]
+     *             id: String (Required)
+     *             collection: String (Optional)
+     *             properties (Optional, Required on create): {
+     *                 platform: String (Optional)
+     *                 instruments (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 constellation: String (Optional)
+     *                 mission: String (Optional)
+     *                 providers (Optional): [
+     *                      (Optional){
+     *                         name: String (Optional, Required on create)
+     *                         description: String (Optional)
+     *                         roles (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         url: String (Optional)
+     *                     }
+     *                 ]
+     *                 gsd: Double (Optional)
+     *                 created: OffsetDateTime (Optional)
+     *                 updated: OffsetDateTime (Optional)
+     *                 title: String (Optional)
+     *                 description: String (Optional)
+     *                 datetime: String (Optional, Required on create)
+     *                 start_datetime: OffsetDateTime (Optional)
+     *                 end_datetime: OffsetDateTime (Optional)
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *             assets (Optional, Required on create): {
+     *                 String (Required): {
+     *                     platform: String (Optional)
+     *                     instruments (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     constellation: String (Optional)
+     *                     mission: String (Optional)
+     *                     providers (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     gsd: Double (Optional)
+     *                     created: OffsetDateTime (Optional)
+     *                     updated: OffsetDateTime (Optional)
+     *                     title: String (Optional)
+     *                     description: String (Optional)
+     *                     href: String (Optional, Required on create)
+     *                     type: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                      (Optional): {
+     *                         String: BinaryData (Required)
+     *                     }
+     *                 }
+     *             }
+     *             _msft:ts: String (Optional)
+     *             _msft:etag: String (Optional)
+     *         }
+     *     ]
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     *     context (Optional): {
+     *         returned: int (Optional, Required on create)
+     *         limit: Integer (Optional)
+     *         matched: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param body Request body. + * @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 https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.md + * + * Represents a collection of STAC Items as a GeoJSON FeatureCollection along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createSearchOperationsWithResponse(BinaryData body, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.createSearchOperationsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + contentType, accept, body, requestOptions, Context.NONE); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/StacCollectionConfigurationClientImpl.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/StacCollectionConfigurationClientImpl.java new file mode 100644 index 000000000000..634b8486025c --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/StacCollectionConfigurationClientImpl.java @@ -0,0 +1,3217 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.Delete; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.Post; +import com.azure.core.annotation.Put; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.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.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +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.serializer.JacksonAdapter; +import com.azure.core.util.serializer.SerializerAdapter; +import com.azure.planetarycomputer.PlanetaryComputerServiceVersion; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the StacCollectionConfigurationClient type. + */ +public final class StacCollectionConfigurationClientImpl { + /** + * The proxy service used to perform REST calls. + */ + private final StacCollectionConfigurationClientService service; + + /** + * Service host. + */ + private final String endpoint; + + /** + * Gets Service host. + * + * @return the endpoint value. + */ + public String getEndpoint() { + return this.endpoint; + } + + /** + * Service version. + */ + private final PlanetaryComputerServiceVersion serviceVersion; + + /** + * Gets Service version. + * + * @return the serviceVersion value. + */ + public PlanetaryComputerServiceVersion 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; + } + + /** + * Initializes an instance of StacCollectionConfigurationClient client. + * + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public StacCollectionConfigurationClientImpl(String endpoint, PlanetaryComputerServiceVersion serviceVersion) { + this(new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build(), + JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of StacCollectionConfigurationClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public StacCollectionConfigurationClientImpl(HttpPipeline httpPipeline, String endpoint, + PlanetaryComputerServiceVersion serviceVersion) { + this(httpPipeline, JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of StacCollectionConfigurationClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param serializerAdapter The serializer to serialize an object into a string. + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public StacCollectionConfigurationClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, + String endpoint, PlanetaryComputerServiceVersion serviceVersion) { + this.httpPipeline = httpPipeline; + this.serializerAdapter = serializerAdapter; + this.endpoint = endpoint; + this.serviceVersion = serviceVersion; + this.service = RestProxy.create(StacCollectionConfigurationClientService.class, this.httpPipeline, + this.getSerializerAdapter()); + } + + /** + * The interface defining all the services for StacCollectionConfigurationClient to be used by the proxy service to + * perform REST calls. + */ + @Host("{endpoint}") + @ServiceInterface(name = "StacCollectionConfigurationClient") + public interface StacCollectionConfigurationClientService { + // @Multipart not supported by RestProxy + @Post("/stac/collections/{collectionId}/assets") + @ExpectedResponses({ 200, 201 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createCollectionAsset(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("content-type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("multipart/form-data") BinaryData body, RequestOptions requestOptions, Context context); + + // @Multipart not supported by RestProxy + @Post("/stac/collections/{collectionId}/assets") + @ExpectedResponses({ 200, 201 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createCollectionAssetSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("content-type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("multipart/form-data") BinaryData body, RequestOptions requestOptions, Context context); + + // @Multipart not supported by RestProxy + @Put("/stac/collections/{collectionId}/assets/{assetId}") + @ExpectedResponses({ 200, 201 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createOrReplaceCollectionAsset(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("assetId") String assetId, @HeaderParam("content-type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("multipart/form-data") BinaryData body, + RequestOptions requestOptions, Context context); + + // @Multipart not supported by RestProxy + @Put("/stac/collections/{collectionId}/assets/{assetId}") + @ExpectedResponses({ 200, 201 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createOrReplaceCollectionAssetSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("assetId") String assetId, @HeaderParam("content-type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("multipart/form-data") BinaryData body, + RequestOptions requestOptions, Context context); + + @Delete("/stac/collections/{collectionId}/assets/{assetId}") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> deleteCollectionAsset(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("assetId") String assetId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Delete("/stac/collections/{collectionId}/assets/{assetId}") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response deleteCollectionAssetSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("assetId") String assetId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/stac/collections/{collectionId}/configurations") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getCollectionConfig(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/stac/collections/{collectionId}/configurations") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getCollectionConfigSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/stac/collections/{collectionId}/configurations/mosaics") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getAllMosaics(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/stac/collections/{collectionId}/configurations/mosaics") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getAllMosaicsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Post("/stac/collections/{collectionId}/configurations/mosaics") + @ExpectedResponses({ 200, 201 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> addMosaic(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Post("/stac/collections/{collectionId}/configurations/mosaics") + @ExpectedResponses({ 200, 201 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response addMosaicSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Get("/stac/collections/{collectionId}/configurations/mosaics/{mosaicId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getMosaic(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("mosaicId") String mosaicId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/stac/collections/{collectionId}/configurations/mosaics/{mosaicId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getMosaicSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("mosaicId") String mosaicId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Put("/stac/collections/{collectionId}/configurations/mosaics/{mosaicId}") + @ExpectedResponses({ 200, 201 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createOrReplaceMosaic(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("mosaicId") String mosaicId, @HeaderParam("Content-Type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Put("/stac/collections/{collectionId}/configurations/mosaics/{mosaicId}") + @ExpectedResponses({ 200, 201 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createOrReplaceMosaicSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("mosaicId") String mosaicId, @HeaderParam("Content-Type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Delete("/stac/collections/{collectionId}/configurations/mosaics/{mosaicId}") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> deleteMosaic(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("mosaicId") String mosaicId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Delete("/stac/collections/{collectionId}/configurations/mosaics/{mosaicId}") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response deleteMosaicSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("mosaicId") String mosaicId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/stac/collections/{collectionId}/configurations/partition-type") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getPartitionType(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/stac/collections/{collectionId}/configurations/partition-type") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getPartitionTypeSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Put("/stac/collections/{collectionId}/configurations/partition-type") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> replacePartitionType(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Put("/stac/collections/{collectionId}/configurations/partition-type") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response replacePartitionTypeSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Get("/stac/collections/{collectionId}/configurations/render-options") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getAllRenderOptions(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/stac/collections/{collectionId}/configurations/render-options") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getAllRenderOptionsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Post("/stac/collections/{collectionId}/configurations/render-options") + @ExpectedResponses({ 200, 201 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createRenderOption(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Post("/stac/collections/{collectionId}/configurations/render-options") + @ExpectedResponses({ 200, 201 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createRenderOptionSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Get("/stac/collections/{collectionId}/configurations/render-options/{renderOptionId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getRenderOption(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("renderOptionId") String renderOptionId, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/stac/collections/{collectionId}/configurations/render-options/{renderOptionId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getRenderOptionSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("renderOptionId") String renderOptionId, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Put("/stac/collections/{collectionId}/configurations/render-options/{renderOptionId}") + @ExpectedResponses({ 200, 201 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createOrReplaceRenderOption(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("renderOptionId") String renderOptionId, @HeaderParam("Content-Type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Put("/stac/collections/{collectionId}/configurations/render-options/{renderOptionId}") + @ExpectedResponses({ 200, 201 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createOrReplaceRenderOptionSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("renderOptionId") String renderOptionId, @HeaderParam("Content-Type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Delete("/stac/collections/{collectionId}/configurations/render-options/{renderOptionId}") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> deleteRenderOption(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("renderOptionId") String renderOptionId, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Delete("/stac/collections/{collectionId}/configurations/render-options/{renderOptionId}") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response deleteRenderOptionSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("renderOptionId") String renderOptionId, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/stac/collections/{collectionId}/configurations/tile-settings") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getTileSettings(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/stac/collections/{collectionId}/configurations/tile-settings") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getTileSettingsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Put("/stac/collections/{collectionId}/configurations/tile-settings") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> replaceTileSettings(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Put("/stac/collections/{collectionId}/configurations/tile-settings") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response replaceTileSettingsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Put("/stac/collections/{collectionId}/queryables/{queryableName}") + @ExpectedResponses({ 200, 201 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createOrReplaceQueryable(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("queryableName") String queryableName, @HeaderParam("Content-Type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Put("/stac/collections/{collectionId}/queryables/{queryableName}") + @ExpectedResponses({ 200, 201 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createOrReplaceQueryableSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("queryableName") String queryableName, @HeaderParam("Content-Type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Delete("/stac/collections/{collectionId}/queryables/{queryableName}") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> deleteQueryable(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("queryableName") String queryableName, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Delete("/stac/collections/{collectionId}/queryables/{queryableName}") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response deleteQueryableSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("queryableName") String queryableName, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/stac/collections/{collectionId}/thumbnail") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getCollectionThumbnail(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/stac/collections/{collectionId}/thumbnail") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getCollectionThumbnailSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + } + + /** + * Create Collection Asset + * + * Create a new asset in the Collection metadata and write the associated + * file to managed storage. + * + * Args: + * request: The incoming request. + * asset: The Asset object to write, without a valid href to the asset. + * file: The file to write. + * collection_id: The ID of the collection to write the asset to. + * content_type: The content type of the request. + * + * Returns: + * A Response object containing the newly created asset. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection ID. + * @param body Multi-part form data. + * @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 https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md + * + * Represents a STAC collection along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createCollectionAssetWithResponseAsync(String collectionId, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "multipart/form-data"; + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.createCollectionAsset(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, contentType, accept, body, requestOptions, context)); + } + + /** + * Create Collection Asset + * + * Create a new asset in the Collection metadata and write the associated + * file to managed storage. + * + * Args: + * request: The incoming request. + * asset: The Asset object to write, without a valid href to the asset. + * file: The file to write. + * collection_id: The ID of the collection to write the asset to. + * content_type: The content type of the request. + * + * Returns: + * A Response object containing the newly created asset. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection ID. + * @param body Multi-part form data. + * @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 https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md + * + * Represents a STAC collection along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createCollectionAssetWithResponse(String collectionId, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "multipart/form-data"; + final String accept = "application/json"; + return service.createCollectionAssetSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, contentType, accept, body, requestOptions, Context.NONE); + } + + /** + * Update Collection Asset + * + * Update an existing asset in a given collection. + * + * Args: + * request: The incoming request. + * asset: The Asset object to update. + * file: The file to update (optional). + * collection_id: The ID of the collection to update the asset in. + * asset_id: The ID of the asset to update. + * content_type: The content type of the request. + * + * Returns: + * A Response object containing the updated asset. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection ID. + * @param assetId STAC Asset ID. + * @param body Multi-part form data. + * @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 https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md + * + * Represents a STAC collection along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createOrReplaceCollectionAssetWithResponseAsync(String collectionId, + String assetId, BinaryData body, RequestOptions requestOptions) { + final String contentType = "multipart/form-data"; + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.createOrReplaceCollectionAsset(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, assetId, contentType, accept, body, requestOptions, context)); + } + + /** + * Update Collection Asset + * + * Update an existing asset in a given collection. + * + * Args: + * request: The incoming request. + * asset: The Asset object to update. + * file: The file to update (optional). + * collection_id: The ID of the collection to update the asset in. + * asset_id: The ID of the asset to update. + * content_type: The content type of the request. + * + * Returns: + * A Response object containing the updated asset. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Required)
+     *     description: String (Required)
+     *     stac_version: String (Optional)
+     *     links (Required): [
+     *          (Required){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     title: String (Optional)
+     *     type: String (Optional)
+     *     assets (Optional): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional, Required on create)
+     *                     description: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     license: String (Required)
+     *     extent (Required): {
+     *         spatial (Required): {
+     *             bbox (Optional): [
+     *                  (Optional)[
+     *                     double (Optional)
+     *                 ]
+     *             ]
+     *         }
+     *         temporal (Required): {
+     *             interval (Required): [
+     *                  (Required)[
+     *                     String (Required)
+     *                 ]
+     *             ]
+     *         }
+     *     }
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     providers (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     summaries (Optional): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection ID. + * @param assetId STAC Asset ID. + * @param body Multi-part form data. + * @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 https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md + * + * Represents a STAC collection along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createOrReplaceCollectionAssetWithResponse(String collectionId, String assetId, + BinaryData body, RequestOptions requestOptions) { + final String contentType = "multipart/form-data"; + final String accept = "application/json"; + return service.createOrReplaceCollectionAssetSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, assetId, contentType, accept, body, requestOptions, Context.NONE); + } + + /** + * Delete Collection Asset + * + * Delete an asset from a given collection. + * + * Args: + * request: The incoming request. + * collection_id: The ID of the collection to delete the asset from. + * asset_id: The ID of the asset to delete. + * + * Returns: + * A Response object indicating the success of the deletion. + * + * @param collectionId STAC Collection ID. + * @param assetId STAC Asset 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> deleteCollectionAssetWithResponseAsync(String collectionId, String assetId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.deleteCollectionAsset(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, assetId, accept, requestOptions, context)); + } + + /** + * Delete Collection Asset + * + * Delete an asset from a given collection. + * + * Args: + * request: The incoming request. + * collection_id: The ID of the collection to delete the asset from. + * asset_id: The ID of the asset to delete. + * + * Returns: + * A Response object indicating the success of the deletion. + * + * @param collectionId STAC Collection ID. + * @param assetId STAC Asset 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 deleteCollectionAssetWithResponse(String collectionId, String assetId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteCollectionAssetSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, assetId, accept, requestOptions, Context.NONE); + } + + /** + * Get Config + * + * Get the complete user configuration for a given collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     tileSettings (Required): {
+     *         minZoom: int (Required)
+     *         maxItemsPerTile: int (Required)
+     *         defaultLocation (Optional): {
+     *             zoom: int (Required)
+     *             coordinates (Required): [
+     *                 double (Required)
+     *             ]
+     *         }
+     *     }
+     *     mosaicInfo (Required): {
+     *         mosaics (Required): [
+     *              (Required){
+     *                 id: String (Required)
+     *                 name: String (Required)
+     *                 description: String (Optional)
+     *                 cql (Required): [
+     *                      (Required){
+     *                          (Optional): {
+     *                             String: BinaryData (Required)
+     *                         }
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         renderOptions (Required): [
+     *              (Required){
+     *                 id: String (Required)
+     *                 name: String (Required)
+     *                 description: String (Optional)
+     *                 type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *                 options: String (Optional)
+     *                 vectorOptions (Optional): {
+     *                     tilejsonKey: String (Required)
+     *                     sourceLayer: String (Required)
+     *                     fillColor: String (Optional)
+     *                     strokeColor: String (Optional)
+     *                     strokeWidth: Integer (Optional)
+     *                     filter (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                 }
+     *                 minZoom: Integer (Optional)
+     *                 legend (Optional): {
+     *                     type: String(continuous/classmap/interval/none) (Optional)
+     *                     labels (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     trimStart: Integer (Optional)
+     *                     trimEnd: Integer (Optional)
+     *                     scaleFactor: Double (Optional)
+     *                 }
+     *                 conditions (Optional): [
+     *                      (Optional){
+     *                         property: String (Required)
+     *                         value: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         defaultLocation (Optional): (recursive schema, see defaultLocation above)
+     *         defaultCustomQuery (Optional): (recursive schema, see defaultCustomQuery above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @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 config + * + * Get the complete user configuration for a given collection along with {@link Response} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getCollectionConfigWithResponseAsync(String collectionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getCollectionConfig(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, accept, requestOptions, context)); + } + + /** + * Get Config + * + * Get the complete user configuration for a given collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     tileSettings (Required): {
+     *         minZoom: int (Required)
+     *         maxItemsPerTile: int (Required)
+     *         defaultLocation (Optional): {
+     *             zoom: int (Required)
+     *             coordinates (Required): [
+     *                 double (Required)
+     *             ]
+     *         }
+     *     }
+     *     mosaicInfo (Required): {
+     *         mosaics (Required): [
+     *              (Required){
+     *                 id: String (Required)
+     *                 name: String (Required)
+     *                 description: String (Optional)
+     *                 cql (Required): [
+     *                      (Required){
+     *                          (Optional): {
+     *                             String: BinaryData (Required)
+     *                         }
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         renderOptions (Required): [
+     *              (Required){
+     *                 id: String (Required)
+     *                 name: String (Required)
+     *                 description: String (Optional)
+     *                 type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *                 options: String (Optional)
+     *                 vectorOptions (Optional): {
+     *                     tilejsonKey: String (Required)
+     *                     sourceLayer: String (Required)
+     *                     fillColor: String (Optional)
+     *                     strokeColor: String (Optional)
+     *                     strokeWidth: Integer (Optional)
+     *                     filter (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                 }
+     *                 minZoom: Integer (Optional)
+     *                 legend (Optional): {
+     *                     type: String(continuous/classmap/interval/none) (Optional)
+     *                     labels (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     trimStart: Integer (Optional)
+     *                     trimEnd: Integer (Optional)
+     *                     scaleFactor: Double (Optional)
+     *                 }
+     *                 conditions (Optional): [
+     *                      (Optional){
+     *                         property: String (Required)
+     *                         value: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         defaultLocation (Optional): (recursive schema, see defaultLocation above)
+     *         defaultCustomQuery (Optional): (recursive schema, see defaultCustomQuery above)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @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 config + * + * Get the complete user configuration for a given collection along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getCollectionConfigWithResponse(String collectionId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getCollectionConfigSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + accept, requestOptions, Context.NONE); + } + + /** + * Get Collection Mosaics + * + * Get the mosaic definitions for a given collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *      (Required){
+     *         id: String (Required)
+     *         name: String (Required)
+     *         description: String (Optional)
+     *         cql (Required): [
+     *              (Required){
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @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 collection Mosaics + * + * Get the mosaic definitions for a given collection along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAllMosaicsWithResponseAsync(String collectionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getAllMosaics(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, accept, requestOptions, context)); + } + + /** + * Get Collection Mosaics + * + * Get the mosaic definitions for a given collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *      (Required){
+     *         id: String (Required)
+     *         name: String (Required)
+     *         description: String (Optional)
+     *         cql (Required): [
+     *              (Required){
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @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 collection Mosaics + * + * Get the mosaic definitions for a given collection along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAllMosaicsWithResponse(String collectionId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getAllMosaicsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + accept, requestOptions, Context.NONE); + } + + /** + * Add Collection Mosaic + * + * Add a mosaic definition to a given collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     cql (Required): [
+     *          (Required){
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     cql (Required): [
+     *          (Required){
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param body Mosaic definition to be created or updated. + * @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 defines a named mosaic with filtering criteria along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> addMosaicWithResponseAsync(String collectionId, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.addMosaic(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, contentType, accept, body, requestOptions, context)); + } + + /** + * Add Collection Mosaic + * + * Add a mosaic definition to a given collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     cql (Required): [
+     *          (Required){
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     cql (Required): [
+     *          (Required){
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param body Mosaic definition to be created or updated. + * @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 defines a named mosaic with filtering criteria along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response addMosaicWithResponse(String collectionId, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.addMosaicSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + contentType, accept, body, requestOptions, Context.NONE); + } + + /** + * Get Collection Mosaic + * + * Get a mosaic definition from a given collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     cql (Required): [
+     *          (Required){
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param mosaicId Unique identifier for the mosaic configuration. + * @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 collection Mosaic + * + * Get a mosaic definition from a given collection along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getMosaicWithResponseAsync(String collectionId, String mosaicId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getMosaic(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, mosaicId, accept, requestOptions, context)); + } + + /** + * Get Collection Mosaic + * + * Get a mosaic definition from a given collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     cql (Required): [
+     *          (Required){
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param mosaicId Unique identifier for the mosaic configuration. + * @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 collection Mosaic + * + * Get a mosaic definition from a given collection along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getMosaicWithResponse(String collectionId, String mosaicId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getMosaicSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, mosaicId, + accept, requestOptions, Context.NONE); + } + + /** + * Update Collection Mosaic + * + * Update a mosaic definition from a given collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     cql (Required): [
+     *          (Required){
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     cql (Required): [
+     *          (Required){
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param mosaicId Unique identifier for the mosaic configuration. + * @param body Mosaic definition to be created or updated. + * @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 defines a named mosaic with filtering criteria along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createOrReplaceMosaicWithResponseAsync(String collectionId, String mosaicId, + BinaryData body, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.createOrReplaceMosaic(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, mosaicId, contentType, accept, body, requestOptions, context)); + } + + /** + * Update Collection Mosaic + * + * Update a mosaic definition from a given collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     cql (Required): [
+     *          (Required){
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     cql (Required): [
+     *          (Required){
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param mosaicId Unique identifier for the mosaic configuration. + * @param body Mosaic definition to be created or updated. + * @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 defines a named mosaic with filtering criteria along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createOrReplaceMosaicWithResponse(String collectionId, String mosaicId, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.createOrReplaceMosaicSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, mosaicId, contentType, accept, body, requestOptions, Context.NONE); + } + + /** + * Delete Collection Mosaic + * + * Delete a mosaic definition from a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param mosaicId Unique identifier for the mosaic configuration. + * @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> deleteMosaicWithResponseAsync(String collectionId, String mosaicId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.deleteMosaic(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, mosaicId, accept, requestOptions, context)); + } + + /** + * Delete Collection Mosaic + * + * Delete a mosaic definition from a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param mosaicId Unique identifier for the mosaic configuration. + * @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 deleteMosaicWithResponse(String collectionId, String mosaicId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteMosaicSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + mosaicId, accept, requestOptions, Context.NONE); + } + + /** + * Get Partitiontype + * + * Get the partitiontype for a GeoCatalog Collection. + * + * Args: + * collection_id: the collection id to get the partitiontype for. + * + * Returns: + * The partitiontype for the collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     scheme: String(year/month/none) (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @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 partitiontype + * + * Get the partitiontype for a GeoCatalog Collection. + * + * Args: + * collection_id: the collection id to get the partitiontype for. + * + * Returns: + * The partitiontype for the collection along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getPartitionTypeWithResponseAsync(String collectionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getPartitionType(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, accept, requestOptions, context)); + } + + /** + * Get Partitiontype + * + * Get the partitiontype for a GeoCatalog Collection. + * + * Args: + * collection_id: the collection id to get the partitiontype for. + * + * Returns: + * The partitiontype for the collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     scheme: String(year/month/none) (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @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 partitiontype + * + * Get the partitiontype for a GeoCatalog Collection. + * + * Args: + * collection_id: the collection id to get the partitiontype for. + * + * Returns: + * The partitiontype for the collection along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getPartitionTypeWithResponse(String collectionId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getPartitionTypeSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + accept, requestOptions, Context.NONE); + } + + /** + * Create Partitiontype + * + * Updates partition type for a GeoCatalog Collection. This will + * determine the partitioning scheme for items within the database, + * and can only be set before any items are loaded. + * + * Ideal partitioning schemes result in partitions of roughly 100k items each. + * + * The default partitioning scheme is "none" which does not partition items. + * + * Args: + * collection_id: the collection id to add the partitiontype to. + * partitiontype: the partitiontype to add. + * + * Returns: + * None. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     scheme: String(year/month/none) (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     scheme: String(year/month/none) (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param body Partition type configuration determining how items are partitioned in storage. + * @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 defines how data is partitioned for efficient storage and retrieval along with {@link Response} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> replacePartitionTypeWithResponseAsync(String collectionId, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.replacePartitionType(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, contentType, accept, body, requestOptions, context)); + } + + /** + * Create Partitiontype + * + * Updates partition type for a GeoCatalog Collection. This will + * determine the partitioning scheme for items within the database, + * and can only be set before any items are loaded. + * + * Ideal partitioning schemes result in partitions of roughly 100k items each. + * + * The default partitioning scheme is "none" which does not partition items. + * + * Args: + * collection_id: the collection id to add the partitiontype to. + * partitiontype: the partitiontype to add. + * + * Returns: + * None. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     scheme: String(year/month/none) (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     scheme: String(year/month/none) (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param body Partition type configuration determining how items are partitioned in storage. + * @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 defines how data is partitioned for efficient storage and retrieval along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response replacePartitionTypeWithResponse(String collectionId, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.replacePartitionTypeSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + contentType, accept, body, requestOptions, Context.NONE); + } + + /** + * Get Collection Render Options + * + * Get all render options for a given collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *      (Required){
+     *         id: String (Required)
+     *         name: String (Required)
+     *         description: String (Optional)
+     *         type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *         options: String (Optional)
+     *         vectorOptions (Optional): {
+     *             tilejsonKey: String (Required)
+     *             sourceLayer: String (Required)
+     *             fillColor: String (Optional)
+     *             strokeColor: String (Optional)
+     *             strokeWidth: Integer (Optional)
+     *             filter (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *         minZoom: Integer (Optional)
+     *         legend (Optional): {
+     *             type: String(continuous/classmap/interval/none) (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             trimStart: Integer (Optional)
+     *             trimEnd: Integer (Optional)
+     *             scaleFactor: Double (Optional)
+     *         }
+     *         conditions (Optional): [
+     *              (Optional){
+     *                 property: String (Required)
+     *                 value: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @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 collection Render Options + * + * Get all render options for a given collection along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAllRenderOptionsWithResponseAsync(String collectionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getAllRenderOptions(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, accept, requestOptions, context)); + } + + /** + * Get Collection Render Options + * + * Get all render options for a given collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *      (Required){
+     *         id: String (Required)
+     *         name: String (Required)
+     *         description: String (Optional)
+     *         type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *         options: String (Optional)
+     *         vectorOptions (Optional): {
+     *             tilejsonKey: String (Required)
+     *             sourceLayer: String (Required)
+     *             fillColor: String (Optional)
+     *             strokeColor: String (Optional)
+     *             strokeWidth: Integer (Optional)
+     *             filter (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *         minZoom: Integer (Optional)
+     *         legend (Optional): {
+     *             type: String(continuous/classmap/interval/none) (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             trimStart: Integer (Optional)
+     *             trimEnd: Integer (Optional)
+     *             scaleFactor: Double (Optional)
+     *         }
+     *         conditions (Optional): [
+     *              (Optional){
+     *                 property: String (Required)
+     *                 value: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @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 collection Render Options + * + * Get all render options for a given collection along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAllRenderOptionsWithResponse(String collectionId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getAllRenderOptionsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + accept, requestOptions, Context.NONE); + } + + /** + * Add Collection Render Option + * + * Add a render option for a given collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *     options: String (Optional)
+     *     vectorOptions (Optional): {
+     *         tilejsonKey: String (Required)
+     *         sourceLayer: String (Required)
+     *         fillColor: String (Optional)
+     *         strokeColor: String (Optional)
+     *         strokeWidth: Integer (Optional)
+     *         filter (Optional): [
+     *             String (Optional)
+     *         ]
+     *     }
+     *     minZoom: Integer (Optional)
+     *     legend (Optional): {
+     *         type: String(continuous/classmap/interval/none) (Optional)
+     *         labels (Optional): [
+     *             String (Optional)
+     *         ]
+     *         trimStart: Integer (Optional)
+     *         trimEnd: Integer (Optional)
+     *         scaleFactor: Double (Optional)
+     *     }
+     *     conditions (Optional): [
+     *          (Optional){
+     *             property: String (Required)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *     options: String (Optional)
+     *     vectorOptions (Optional): {
+     *         tilejsonKey: String (Required)
+     *         sourceLayer: String (Required)
+     *         fillColor: String (Optional)
+     *         strokeColor: String (Optional)
+     *         strokeWidth: Integer (Optional)
+     *         filter (Optional): [
+     *             String (Optional)
+     *         ]
+     *     }
+     *     minZoom: Integer (Optional)
+     *     legend (Optional): {
+     *         type: String(continuous/classmap/interval/none) (Optional)
+     *         labels (Optional): [
+     *             String (Optional)
+     *         ]
+     *         trimStart: Integer (Optional)
+     *         trimEnd: Integer (Optional)
+     *         scaleFactor: Double (Optional)
+     *     }
+     *     conditions (Optional): [
+     *          (Optional){
+     *             property: String (Required)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param body Render option configuration to be created or updated. + * @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 defines visualization parameters for rendering data on a map along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createRenderOptionWithResponseAsync(String collectionId, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.createRenderOption(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, contentType, accept, body, requestOptions, context)); + } + + /** + * Add Collection Render Option + * + * Add a render option for a given collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *     options: String (Optional)
+     *     vectorOptions (Optional): {
+     *         tilejsonKey: String (Required)
+     *         sourceLayer: String (Required)
+     *         fillColor: String (Optional)
+     *         strokeColor: String (Optional)
+     *         strokeWidth: Integer (Optional)
+     *         filter (Optional): [
+     *             String (Optional)
+     *         ]
+     *     }
+     *     minZoom: Integer (Optional)
+     *     legend (Optional): {
+     *         type: String(continuous/classmap/interval/none) (Optional)
+     *         labels (Optional): [
+     *             String (Optional)
+     *         ]
+     *         trimStart: Integer (Optional)
+     *         trimEnd: Integer (Optional)
+     *         scaleFactor: Double (Optional)
+     *     }
+     *     conditions (Optional): [
+     *          (Optional){
+     *             property: String (Required)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *     options: String (Optional)
+     *     vectorOptions (Optional): {
+     *         tilejsonKey: String (Required)
+     *         sourceLayer: String (Required)
+     *         fillColor: String (Optional)
+     *         strokeColor: String (Optional)
+     *         strokeWidth: Integer (Optional)
+     *         filter (Optional): [
+     *             String (Optional)
+     *         ]
+     *     }
+     *     minZoom: Integer (Optional)
+     *     legend (Optional): {
+     *         type: String(continuous/classmap/interval/none) (Optional)
+     *         labels (Optional): [
+     *             String (Optional)
+     *         ]
+     *         trimStart: Integer (Optional)
+     *         trimEnd: Integer (Optional)
+     *         scaleFactor: Double (Optional)
+     *     }
+     *     conditions (Optional): [
+     *          (Optional){
+     *             property: String (Required)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param body Render option configuration to be created or updated. + * @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 defines visualization parameters for rendering data on a map along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createRenderOptionWithResponse(String collectionId, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.createRenderOptionSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + contentType, accept, body, requestOptions, Context.NONE); + } + + /** + * Get Collection Render Option + * + * Get a render option for a given collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *      (Required){
+     *         id: String (Required)
+     *         name: String (Required)
+     *         description: String (Optional)
+     *         type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *         options: String (Optional)
+     *         vectorOptions (Optional): {
+     *             tilejsonKey: String (Required)
+     *             sourceLayer: String (Required)
+     *             fillColor: String (Optional)
+     *             strokeColor: String (Optional)
+     *             strokeWidth: Integer (Optional)
+     *             filter (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *         minZoom: Integer (Optional)
+     *         legend (Optional): {
+     *             type: String(continuous/classmap/interval/none) (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             trimStart: Integer (Optional)
+     *             trimEnd: Integer (Optional)
+     *             scaleFactor: Double (Optional)
+     *         }
+     *         conditions (Optional): [
+     *              (Optional){
+     *                 property: String (Required)
+     *                 value: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param renderOptionId Unique identifier for the render option. + * @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 collection Render Option + * + * Get a render option for a given collection along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getRenderOptionWithResponseAsync(String collectionId, String renderOptionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getRenderOption(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, renderOptionId, accept, requestOptions, context)); + } + + /** + * Get Collection Render Option + * + * Get a render option for a given collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *      (Required){
+     *         id: String (Required)
+     *         name: String (Required)
+     *         description: String (Optional)
+     *         type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *         options: String (Optional)
+     *         vectorOptions (Optional): {
+     *             tilejsonKey: String (Required)
+     *             sourceLayer: String (Required)
+     *             fillColor: String (Optional)
+     *             strokeColor: String (Optional)
+     *             strokeWidth: Integer (Optional)
+     *             filter (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *         minZoom: Integer (Optional)
+     *         legend (Optional): {
+     *             type: String(continuous/classmap/interval/none) (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             trimStart: Integer (Optional)
+     *             trimEnd: Integer (Optional)
+     *             scaleFactor: Double (Optional)
+     *         }
+     *         conditions (Optional): [
+     *              (Optional){
+     *                 property: String (Required)
+     *                 value: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param renderOptionId Unique identifier for the render option. + * @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 collection Render Option + * + * Get a render option for a given collection along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getRenderOptionWithResponse(String collectionId, String renderOptionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getRenderOptionSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + renderOptionId, accept, requestOptions, Context.NONE); + } + + /** + * Update Collection Render Option + * + * Update a render option for a given collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *     options: String (Optional)
+     *     vectorOptions (Optional): {
+     *         tilejsonKey: String (Required)
+     *         sourceLayer: String (Required)
+     *         fillColor: String (Optional)
+     *         strokeColor: String (Optional)
+     *         strokeWidth: Integer (Optional)
+     *         filter (Optional): [
+     *             String (Optional)
+     *         ]
+     *     }
+     *     minZoom: Integer (Optional)
+     *     legend (Optional): {
+     *         type: String(continuous/classmap/interval/none) (Optional)
+     *         labels (Optional): [
+     *             String (Optional)
+     *         ]
+     *         trimStart: Integer (Optional)
+     *         trimEnd: Integer (Optional)
+     *         scaleFactor: Double (Optional)
+     *     }
+     *     conditions (Optional): [
+     *          (Optional){
+     *             property: String (Required)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *     options: String (Optional)
+     *     vectorOptions (Optional): {
+     *         tilejsonKey: String (Required)
+     *         sourceLayer: String (Required)
+     *         fillColor: String (Optional)
+     *         strokeColor: String (Optional)
+     *         strokeWidth: Integer (Optional)
+     *         filter (Optional): [
+     *             String (Optional)
+     *         ]
+     *     }
+     *     minZoom: Integer (Optional)
+     *     legend (Optional): {
+     *         type: String(continuous/classmap/interval/none) (Optional)
+     *         labels (Optional): [
+     *             String (Optional)
+     *         ]
+     *         trimStart: Integer (Optional)
+     *         trimEnd: Integer (Optional)
+     *         scaleFactor: Double (Optional)
+     *     }
+     *     conditions (Optional): [
+     *          (Optional){
+     *             property: String (Required)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param renderOptionId Unique identifier for the render option. + * @param body Render option configuration to be created or updated. + * @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 defines visualization parameters for rendering data on a map along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createOrReplaceRenderOptionWithResponseAsync(String collectionId, + String renderOptionId, BinaryData body, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.createOrReplaceRenderOption(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, renderOptionId, contentType, accept, body, requestOptions, context)); + } + + /** + * Update Collection Render Option + * + * Update a render option for a given collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *     options: String (Optional)
+     *     vectorOptions (Optional): {
+     *         tilejsonKey: String (Required)
+     *         sourceLayer: String (Required)
+     *         fillColor: String (Optional)
+     *         strokeColor: String (Optional)
+     *         strokeWidth: Integer (Optional)
+     *         filter (Optional): [
+     *             String (Optional)
+     *         ]
+     *     }
+     *     minZoom: Integer (Optional)
+     *     legend (Optional): {
+     *         type: String(continuous/classmap/interval/none) (Optional)
+     *         labels (Optional): [
+     *             String (Optional)
+     *         ]
+     *         trimStart: Integer (Optional)
+     *         trimEnd: Integer (Optional)
+     *         scaleFactor: Double (Optional)
+     *     }
+     *     conditions (Optional): [
+     *          (Optional){
+     *             property: String (Required)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Optional)
+     *     type: String(raster-tile/vt-polygon/vt-line) (Optional)
+     *     options: String (Optional)
+     *     vectorOptions (Optional): {
+     *         tilejsonKey: String (Required)
+     *         sourceLayer: String (Required)
+     *         fillColor: String (Optional)
+     *         strokeColor: String (Optional)
+     *         strokeWidth: Integer (Optional)
+     *         filter (Optional): [
+     *             String (Optional)
+     *         ]
+     *     }
+     *     minZoom: Integer (Optional)
+     *     legend (Optional): {
+     *         type: String(continuous/classmap/interval/none) (Optional)
+     *         labels (Optional): [
+     *             String (Optional)
+     *         ]
+     *         trimStart: Integer (Optional)
+     *         trimEnd: Integer (Optional)
+     *         scaleFactor: Double (Optional)
+     *     }
+     *     conditions (Optional): [
+     *          (Optional){
+     *             property: String (Required)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param renderOptionId Unique identifier for the render option. + * @param body Render option configuration to be created or updated. + * @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 defines visualization parameters for rendering data on a map along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createOrReplaceRenderOptionWithResponse(String collectionId, String renderOptionId, + BinaryData body, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.createOrReplaceRenderOptionSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, renderOptionId, contentType, accept, body, requestOptions, Context.NONE); + } + + /** + * Delete Collection Render Option + * + * Delete a render option for a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param renderOptionId Unique identifier for the render option. + * @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> deleteRenderOptionWithResponseAsync(String collectionId, String renderOptionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.deleteRenderOption(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, renderOptionId, accept, requestOptions, context)); + } + + /** + * Delete Collection Render Option + * + * Delete a render option for a given collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param renderOptionId Unique identifier for the render option. + * @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 deleteRenderOptionWithResponse(String collectionId, String renderOptionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteRenderOptionSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + renderOptionId, accept, requestOptions, Context.NONE); + } + + /** + * Get Collection Tile Settings + * + * Get the tile settings for a given collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     minZoom: int (Required)
+     *     maxItemsPerTile: int (Required)
+     *     defaultLocation (Optional): {
+     *         zoom: int (Required)
+     *         coordinates (Required): [
+     *             double (Required)
+     *         ]
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @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 collection Tile Settings + * + * Get the tile settings for a given collection along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTileSettingsWithResponseAsync(String collectionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getTileSettings(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, accept, requestOptions, context)); + } + + /** + * Get Collection Tile Settings + * + * Get the tile settings for a given collection. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     minZoom: int (Required)
+     *     maxItemsPerTile: int (Required)
+     *     defaultLocation (Optional): {
+     *         zoom: int (Required)
+     *         coordinates (Required): [
+     *             double (Required)
+     *         ]
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @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 collection Tile Settings + * + * Get the tile settings for a given collection along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTileSettingsWithResponse(String collectionId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getTileSettingsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + accept, requestOptions, Context.NONE); + } + + /** + * Update Collection Tile Settings + * + * Update the tile settings for a given collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     minZoom: int (Required)
+     *     maxItemsPerTile: int (Required)
+     *     defaultLocation (Optional): {
+     *         zoom: int (Required)
+     *         coordinates (Required): [
+     *             double (Required)
+     *         ]
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     minZoom: int (Required)
+     *     maxItemsPerTile: int (Required)
+     *     defaultLocation (Optional): {
+     *         zoom: int (Required)
+     *         coordinates (Required): [
+     *             double (Required)
+     *         ]
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param body Tile settings configuration to be updated. + * @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 configuration for map tile visualization along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> replaceTileSettingsWithResponseAsync(String collectionId, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.replaceTileSettings(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, contentType, accept, body, requestOptions, context)); + } + + /** + * Update Collection Tile Settings + * + * Update the tile settings for a given collection. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     minZoom: int (Required)
+     *     maxItemsPerTile: int (Required)
+     *     defaultLocation (Optional): {
+     *         zoom: int (Required)
+     *         coordinates (Required): [
+     *             double (Required)
+     *         ]
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     minZoom: int (Required)
+     *     maxItemsPerTile: int (Required)
+     *     defaultLocation (Optional): {
+     *         zoom: int (Required)
+     *         coordinates (Required): [
+     *             double (Required)
+     *         ]
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param body Tile settings configuration to be updated. + * @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 configuration for map tile visualization along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response replaceTileSettingsWithResponse(String collectionId, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.replaceTileSettingsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + contentType, accept, body, requestOptions, Context.NONE); + } + + /** + * Update Collection Queryables + * + * Updates a queryable given a queryable definition and + * corresponding collection id. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     name: String (Required)
+     *     definition (Required): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     create_index: Boolean (Optional)
+     *     data_type: String(string/number/boolean/timestamp/date) (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     name: String (Required)
+     *     definition (Required): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     create_index: Boolean (Optional)
+     *     data_type: String(string/number/boolean/timestamp/date) (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param queryableName Name of the queryable property to operate on. + * @param body Request queryable definition body. + * @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 definition of a queryable field for STAC API filtering along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createOrReplaceQueryableWithResponseAsync(String collectionId, + String queryableName, BinaryData body, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.createOrReplaceQueryable(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, queryableName, contentType, accept, body, requestOptions, context)); + } + + /** + * Update Collection Queryables + * + * Updates a queryable given a queryable definition and + * corresponding collection id. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     name: String (Required)
+     *     definition (Required): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     create_index: Boolean (Optional)
+     *     data_type: String(string/number/boolean/timestamp/date) (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     name: String (Required)
+     *     definition (Required): {
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     create_index: Boolean (Optional)
+     *     data_type: String(string/number/boolean/timestamp/date) (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId Unique identifier for the STAC collection. + * @param queryableName Name of the queryable property to operate on. + * @param body Request queryable definition body. + * @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 definition of a queryable field for STAC API filtering along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createOrReplaceQueryableWithResponse(String collectionId, String queryableName, + BinaryData body, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.createOrReplaceQueryableSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, queryableName, contentType, accept, body, requestOptions, Context.NONE); + } + + /** + * Delete Queryables + * + * Delete queryables by name for specified collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param queryableName Name of the queryable property to operate on. + * @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> deleteQueryableWithResponseAsync(String collectionId, String queryableName, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.deleteQueryable(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, queryableName, accept, requestOptions, context)); + } + + /** + * Delete Queryables + * + * Delete queryables by name for specified collection. + * + * @param collectionId Unique identifier for the STAC collection. + * @param queryableName Name of the queryable property to operate on. + * @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 deleteQueryableWithResponse(String collectionId, String queryableName, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteQueryableSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + queryableName, accept, requestOptions, Context.NONE); + } + + /** + * Get Collection Thumbnail + * + * Get thumbnail for given collection. + * + * Args: + * request: The incoming request. + * collection_id: The ID of the collection to retrieve assets for. + * + * Returns: + * thumbnail image. + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection ID. + * @param accept The accept 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 collection Thumbnail + * + * Get thumbnail for given collection. + * + * Args: + * request: The incoming request. + * collection_id: The ID of the collection to retrieve assets for. + * + * Returns: + * thumbnail image along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getCollectionThumbnailWithResponseAsync(String collectionId, String accept, + RequestOptions requestOptions) { + return FluxUtil.withContext(context -> service.getCollectionThumbnail(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, accept, requestOptions, context)); + } + + /** + * Get Collection Thumbnail + * + * Get thumbnail for given collection. + * + * Args: + * request: The incoming request. + * collection_id: The ID of the collection to retrieve assets for. + * + * Returns: + * thumbnail image. + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection ID. + * @param accept The accept 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 collection Thumbnail + * + * Get thumbnail for given collection. + * + * Args: + * request: The incoming request. + * collection_id: The ID of the collection to retrieve assets for. + * + * Returns: + * thumbnail image along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getCollectionThumbnailWithResponse(String collectionId, String accept, + RequestOptions requestOptions) { + return service.getCollectionThumbnailSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, accept, requestOptions, Context.NONE); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/StacItemTilerClientImpl.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/StacItemTilerClientImpl.java new file mode 100644 index 000000000000..9ba8adc89117 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/StacItemTilerClientImpl.java @@ -0,0 +1,4731 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +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.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +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.serializer.JacksonAdapter; +import com.azure.core.util.serializer.SerializerAdapter; +import com.azure.planetarycomputer.PlanetaryComputerServiceVersion; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the StacItemTilerClient type. + */ +public final class StacItemTilerClientImpl { + /** + * The proxy service used to perform REST calls. + */ + private final StacItemTilerClientService service; + + /** + * Service host. + */ + private final String endpoint; + + /** + * Gets Service host. + * + * @return the endpoint value. + */ + public String getEndpoint() { + return this.endpoint; + } + + /** + * Service version. + */ + private final PlanetaryComputerServiceVersion serviceVersion; + + /** + * Gets Service version. + * + * @return the serviceVersion value. + */ + public PlanetaryComputerServiceVersion 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; + } + + /** + * Initializes an instance of StacItemTilerClient client. + * + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public StacItemTilerClientImpl(String endpoint, PlanetaryComputerServiceVersion serviceVersion) { + this(new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build(), + JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of StacItemTilerClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public StacItemTilerClientImpl(HttpPipeline httpPipeline, String endpoint, + PlanetaryComputerServiceVersion serviceVersion) { + this(httpPipeline, JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of StacItemTilerClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param serializerAdapter The serializer to serialize an object into a string. + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public StacItemTilerClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, String endpoint, + PlanetaryComputerServiceVersion serviceVersion) { + this.httpPipeline = httpPipeline; + this.serializerAdapter = serializerAdapter; + this.endpoint = endpoint; + this.serviceVersion = serviceVersion; + this.service + = RestProxy.create(StacItemTilerClientService.class, this.httpPipeline, this.getSerializerAdapter()); + } + + /** + * The interface defining all the services for StacItemTilerClient to be used by the proxy service to perform REST + * calls. + */ + @Host("{endpoint}") + @ServiceInterface(name = "StacItemTilerClient") + public interface StacItemTilerClientService { + @Get("/data/collections/{collectionId}/items/{itemId}/bounds") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getBounds(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/bounds") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getBoundsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/info") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getInfo(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/info") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getInfoSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/info.geojson") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getInfoGeoJson(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/info.geojson") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getInfoGeoJsonSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/assets") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getAvailableAssets(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/assets") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getAvailableAssetsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/asset_statistics") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getAssetStatistics(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/asset_statistics") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getAssetStatisticsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/statistics") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getStatistics(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/statistics") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getStatisticsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Post("/data/collections/{collectionId}/items/{itemId}/statistics") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getGeoJsonStatistics(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Content-Type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Post("/data/collections/{collectionId}/items/{itemId}/statistics") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getGeoJsonStatisticsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Content-Type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/tiles/{z}/{x}/{y}@{scale}x.{format}") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getTile(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @PathParam("z") double z, @PathParam("x") double x, + @PathParam("y") double y, @PathParam("scale") double scale, @PathParam("format") String format, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/tiles/{z}/{x}/{y}@{scale}x.{format}") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getTileSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @PathParam("z") double z, @PathParam("x") double x, + @PathParam("y") double y, @PathParam("scale") double scale, @PathParam("format") String format, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/tiles/{tileMatrixSetId}/{z}/{x}/{y}@{scale}x.{format}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getTileWithMatrixSet(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @PathParam("tileMatrixSetId") String tileMatrixSetId, + @PathParam("z") double z, @PathParam("x") double x, @PathParam("y") double y, + @PathParam("scale") double scale, @PathParam("format") String format, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/tiles/{tileMatrixSetId}/{z}/{x}/{y}@{scale}x.{format}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getTileWithMatrixSetSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @PathParam("tileMatrixSetId") String tileMatrixSetId, + @PathParam("z") double z, @PathParam("x") double x, @PathParam("y") double y, + @PathParam("scale") double scale, @PathParam("format") String format, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/tilejson.json") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getTileJson(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/tilejson.json") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getTileJsonSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/{tileMatrixSetId}/tilejson.json") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getTileJsonWithMatrixSet(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @PathParam("tileMatrixSetId") String tileMatrixSetId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/{tileMatrixSetId}/tilejson.json") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getTileJsonWithMatrixSetSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @PathParam("tileMatrixSetId") String tileMatrixSetId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/WMTSCapabilities.xml") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getWmtsCapabilities(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/WMTSCapabilities.xml") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getWmtsCapabilitiesSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/{tileMatrixSetId}/WMTSCapabilities.xml") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getWmtsCapabilitiesWithMatrixSet(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @PathParam("tileMatrixSetId") String tileMatrixSetId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/{tileMatrixSetId}/WMTSCapabilities.xml") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getWmtsCapabilitiesWithMatrixSetSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @PathParam("tileMatrixSetId") String tileMatrixSetId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/point/{lon},{lat}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getPoint(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @PathParam("lon") double lon, @PathParam("lat") double lat, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/point/{lon},{lat}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getPointSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @PathParam("lon") double lon, @PathParam("lat") double lat, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/preview") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getPreview(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/preview") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getPreviewSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @HeaderParam("Accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/preview.{format}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getPreviewWithFormat(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @PathParam("format") String format, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/preview.{format}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getPreviewWithFormatSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @PathParam("format") String format, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/crop/{minx},{miny},{maxx},{maxy}.{format}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getPart(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @PathParam("minx") double minx, @PathParam("miny") double miny, + @PathParam("maxx") double maxx, @PathParam("maxy") double maxy, @PathParam("format") String format, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/crop/{minx},{miny},{maxx},{maxy}.{format}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getPartSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @PathParam("minx") double minx, @PathParam("miny") double miny, + @PathParam("maxx") double maxx, @PathParam("maxy") double maxy, @PathParam("format") String format, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/crop/{minx},{miny},{maxx},{maxy}/{width}x{height}.{format}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getPartWithDimensions(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @PathParam("minx") double minx, @PathParam("miny") double miny, + @PathParam("maxx") double maxx, @PathParam("maxy") double maxy, @PathParam("width") double width, + @PathParam("height") double height, @PathParam("format") String format, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/collections/{collectionId}/items/{itemId}/crop/{minx},{miny},{maxx},{maxy}/{width}x{height}.{format}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getPartWithDimensionsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @PathParam("minx") double minx, @PathParam("miny") double miny, + @PathParam("maxx") double maxx, @PathParam("maxy") double maxy, @PathParam("width") double width, + @PathParam("height") double height, @PathParam("format") String format, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Post("/data/collections/{collectionId}/items/{itemId}/crop.{format}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> cropGeoJson(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @PathParam("format") String format, + @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Post("/data/collections/{collectionId}/items/{itemId}/crop.{format}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response cropGeoJsonSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @PathParam("format") String format, + @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Post("/data/collections/{collectionId}/items/{itemId}/crop/{width}x{height}.{format}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> cropGeoJsonWithDimensions(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @PathParam("width") double width, @PathParam("height") double height, + @PathParam("format") String format, @HeaderParam("Content-Type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Post("/data/collections/{collectionId}/items/{itemId}/crop/{width}x{height}.{format}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response cropGeoJsonWithDimensionsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("collectionId") String collectionId, + @PathParam("itemId") String itemId, @PathParam("width") double width, @PathParam("height") double height, + @PathParam("format") String format, @HeaderParam("Content-Type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + } + + /** + * Bounds + * + * Return all Bounds. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     bounds (Required): [
+     *         double (Required)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 geographic extent of a dataset expressed as a bounding box along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getBoundsWithResponseAsync(String collectionId, String itemId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getBounds(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, itemId, accept, requestOptions, context)); + } + + /** + * Bounds + * + * Return all Bounds. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     bounds (Required): [
+     *         double (Required)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 geographic extent of a dataset expressed as a bounding box along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getBoundsWithResponse(String collectionId, String itemId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getBoundsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, itemId, + accept, requestOptions, Context.NONE); + } + + /** + * Info + * + * Return dataset's basic info. + *

Query Parameters

+ * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     data (Required): {
+     *         bounds (Required): [
+     *             double (Required)
+     *         ]
+     *         band_metadata (Optional): [
+     *              (Optional)[
+     *                 BinaryData (Optional)
+     *             ]
+     *         ]
+     *         band_descriptions (Optional): [
+     *              (Optional)[
+     *                 String (Optional)
+     *             ]
+     *         ]
+     *         dtype: String (Required)
+     *         nodata_type: String(Alpha/Mask/Internal/Nodata/None) (Optional)
+     *         colorinterp (Optional): [
+     *             String (Optional)
+     *         ]
+     *         driver: String (Optional)
+     *         count: Integer (Optional)
+     *         width: Integer (Optional)
+     *         height: Integer (Optional)
+     *         overviews (Optional): [
+     *             String (Optional)
+     *         ]
+     *         scales (Optional): [
+     *             long (Optional)
+     *         ]
+     *         offsets (Optional): [
+     *             long (Optional)
+     *         ]
+     *         colormap (Optional): {
+     *             String (Required): [
+     *                 String (Required)
+     *             ]
+     *         }
+     *         minzoom: Long (Optional)
+     *         maxzoom: Long (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 return dataset's basic info or the list of available assets along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getInfoWithResponseAsync(String collectionId, String itemId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getInfo(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, itemId, accept, requestOptions, context)); + } + + /** + * Info + * + * Return dataset's basic info. + *

Query Parameters

+ * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     data (Required): {
+     *         bounds (Required): [
+     *             double (Required)
+     *         ]
+     *         band_metadata (Optional): [
+     *              (Optional)[
+     *                 BinaryData (Optional)
+     *             ]
+     *         ]
+     *         band_descriptions (Optional): [
+     *              (Optional)[
+     *                 String (Optional)
+     *             ]
+     *         ]
+     *         dtype: String (Required)
+     *         nodata_type: String(Alpha/Mask/Internal/Nodata/None) (Optional)
+     *         colorinterp (Optional): [
+     *             String (Optional)
+     *         ]
+     *         driver: String (Optional)
+     *         count: Integer (Optional)
+     *         width: Integer (Optional)
+     *         height: Integer (Optional)
+     *         overviews (Optional): [
+     *             String (Optional)
+     *         ]
+     *         scales (Optional): [
+     *             long (Optional)
+     *         ]
+     *         offsets (Optional): [
+     *             long (Optional)
+     *         ]
+     *         colormap (Optional): {
+     *             String (Required): [
+     *                 String (Required)
+     *             ]
+     *         }
+     *         minzoom: Long (Optional)
+     *         maxzoom: Long (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 return dataset's basic info or the list of available assets along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getInfoWithResponse(String collectionId, String itemId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getInfoSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, itemId, + accept, requestOptions, Context.NONE); + } + + /** + * Info Geojson + * + * Return Info Geojson. + *

Query Parameters

+ * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature) (Required)
+     *     geometry (Required): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     properties (Required): {
+     *         String (Required): {
+     *             bounds (Required): [
+     *                 double (Required)
+     *             ]
+     *             band_metadata (Optional): [
+     *                  (Optional)[
+     *                     BinaryData (Optional)
+     *                 ]
+     *             ]
+     *             band_descriptions (Optional): [
+     *                  (Optional)[
+     *                     String (Optional)
+     *                 ]
+     *             ]
+     *             dtype: String (Required)
+     *             nodata_type: String(Alpha/Mask/Internal/Nodata/None) (Optional)
+     *             colorinterp (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             driver: String (Optional)
+     *             count: Integer (Optional)
+     *             width: Integer (Optional)
+     *             height: Integer (Optional)
+     *             overviews (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             scales (Optional): [
+     *                 long (Optional)
+     *             ]
+     *             offsets (Optional): [
+     *                 long (Optional)
+     *             ]
+     *             colormap (Optional): {
+     *                 String (Required): [
+     *                     String (Required)
+     *                 ]
+     *             }
+     *             minzoom: Long (Optional)
+     *             maxzoom: Long (Optional)
+     *         }
+     *     }
+     *     id: String (Optional)
+     *     bbox: Double (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 geoJSON Feature object containing rio-tiler model information along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getInfoGeoJsonWithResponseAsync(String collectionId, String itemId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getInfoGeoJson(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, itemId, accept, requestOptions, context)); + } + + /** + * Info Geojson + * + * Return Info Geojson. + *

Query Parameters

+ * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature) (Required)
+     *     geometry (Required): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     properties (Required): {
+     *         String (Required): {
+     *             bounds (Required): [
+     *                 double (Required)
+     *             ]
+     *             band_metadata (Optional): [
+     *                  (Optional)[
+     *                     BinaryData (Optional)
+     *                 ]
+     *             ]
+     *             band_descriptions (Optional): [
+     *                  (Optional)[
+     *                     String (Optional)
+     *                 ]
+     *             ]
+     *             dtype: String (Required)
+     *             nodata_type: String(Alpha/Mask/Internal/Nodata/None) (Optional)
+     *             colorinterp (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             driver: String (Optional)
+     *             count: Integer (Optional)
+     *             width: Integer (Optional)
+     *             height: Integer (Optional)
+     *             overviews (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             scales (Optional): [
+     *                 long (Optional)
+     *             ]
+     *             offsets (Optional): [
+     *                 long (Optional)
+     *             ]
+     *             colormap (Optional): {
+     *                 String (Required): [
+     *                     String (Required)
+     *                 ]
+     *             }
+     *             minzoom: Long (Optional)
+     *             maxzoom: Long (Optional)
+     *         }
+     *     }
+     *     id: String (Optional)
+     *     bbox: Double (Optional)
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 geoJSON Feature object containing rio-tiler model information along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getInfoGeoJsonWithResponse(String collectionId, String itemId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getInfoGeoJsonSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + itemId, accept, requestOptions, Context.NONE); + } + + /** + * Available Assets + * + * Return a list of supported assets. + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAvailableAssetsWithResponseAsync(String collectionId, String itemId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getAvailableAssets(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, itemId, accept, requestOptions, context)); + } + + /** + * Available Assets + * + * Return a list of supported assets. + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAvailableAssetsWithResponse(String collectionId, String itemId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getAvailableAssetsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + itemId, accept, requestOptions, Context.NONE); + } + + /** + * Asset Statistics + * + * Per Asset statistics. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoMaximum dimension in pixels for the source data used to + * calculate statistics
categoricalBooleanNoReturn statistics for categorical dataset.
cList<String>NoList of values for which to report counts. Call + * {@link RequestOptions#addQueryParam} to add string to array.
pList<Integer>NoList of percentile values (default to [2, 98]). Call + * {@link RequestOptions#addQueryParam} to add string to array.
histogram_binsStringNoDefines the number of equal-width bins in the given + * range (10, by default). + * + * If bins is a sequence (comma `,` delimited values), it defines a monotonically + * increasing array of bin edges, including the rightmost edge, allowing for + * non-uniform bin widths. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
histogram_rangeStringNoComma `,` delimited range of the bins. + * + * The lower and upper range of the bins. If not provided, range is simply + * (a.min(), a.max()). + * + * Values outside the range are ignored. The first element of the range must be + * less than or equal to the second. + * range affects the automatic bin computation as well. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     data (Required): {
+     *         String (Required): {
+     *             min: double (Required)
+     *             max: double (Required)
+     *             mean: double (Required)
+     *             count: double (Required)
+     *             sum: double (Required)
+     *             std: double (Required)
+     *             median: double (Required)
+     *             majority: double (Required)
+     *             minority: double (Required)
+     *             unique: double (Required)
+     *             histogram (Required): [
+     *                  (Required)[
+     *                     double (Required)
+     *                 ]
+     *             ]
+     *             valid_percent: double (Required)
+     *             masked_pixels: double (Required)
+     *             valid_pixels: double (Required)
+     *             percentile_2: double (Required)
+     *             percentile_98: double (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 return dataset's statistics along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAssetStatisticsWithResponseAsync(String collectionId, String itemId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getAssetStatistics(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, itemId, accept, requestOptions, context)); + } + + /** + * Asset Statistics + * + * Per Asset statistics. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoMaximum dimension in pixels for the source data used to + * calculate statistics
categoricalBooleanNoReturn statistics for categorical dataset.
cList<String>NoList of values for which to report counts. Call + * {@link RequestOptions#addQueryParam} to add string to array.
pList<Integer>NoList of percentile values (default to [2, 98]). Call + * {@link RequestOptions#addQueryParam} to add string to array.
histogram_binsStringNoDefines the number of equal-width bins in the given + * range (10, by default). + * + * If bins is a sequence (comma `,` delimited values), it defines a monotonically + * increasing array of bin edges, including the rightmost edge, allowing for + * non-uniform bin widths. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
histogram_rangeStringNoComma `,` delimited range of the bins. + * + * The lower and upper range of the bins. If not provided, range is simply + * (a.min(), a.max()). + * + * Values outside the range are ignored. The first element of the range must be + * less than or equal to the second. + * range affects the automatic bin computation as well. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     data (Required): {
+     *         String (Required): {
+     *             min: double (Required)
+     *             max: double (Required)
+     *             mean: double (Required)
+     *             count: double (Required)
+     *             sum: double (Required)
+     *             std: double (Required)
+     *             median: double (Required)
+     *             majority: double (Required)
+     *             minority: double (Required)
+     *             unique: double (Required)
+     *             histogram (Required): [
+     *                  (Required)[
+     *                     double (Required)
+     *                 ]
+     *             ]
+     *             valid_percent: double (Required)
+     *             masked_pixels: double (Required)
+     *             valid_pixels: double (Required)
+     *             percentile_2: double (Required)
+     *             percentile_98: double (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 return dataset's statistics along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAssetStatisticsWithResponse(String collectionId, String itemId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getAssetStatisticsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + itemId, accept, requestOptions, Context.NONE); + } + + /** + * Statistics + * + * Merged assets statistics. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoMaximum dimension in pixels for the source data used to + * calculate statistics
categoricalBooleanNoReturn statistics for categorical dataset.
cList<String>NoList of values for which to report counts. Call + * {@link RequestOptions#addQueryParam} to add string to array.
pList<Integer>NoList of percentile values (default to [2, 98]). Call + * {@link RequestOptions#addQueryParam} to add string to array.
histogram_binsStringNoDefines the number of equal-width bins in the given + * range (10, by default). + * + * If bins is a sequence (comma `,` delimited values), it defines a monotonically + * increasing array of bin edges, including the rightmost edge, allowing for + * non-uniform bin widths. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
histogram_rangeStringNoComma `,` delimited range of the bins. + * + * The lower and upper range of the bins. If not provided, range is simply + * (a.min(), a.max()). + * + * Values outside the range are ignored. The first element of the range must be + * less than or equal to the second. + * range affects the automatic bin computation as well. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *      (Optional): {
+     *         String (Required): {
+     *             min: double (Required)
+     *             max: double (Required)
+     *             mean: double (Required)
+     *             count: double (Required)
+     *             sum: double (Required)
+     *             std: double (Required)
+     *             median: double (Required)
+     *             majority: double (Required)
+     *             minority: double (Required)
+     *             unique: double (Required)
+     *             histogram (Required): [
+     *                  (Required)[
+     *                     double (Required)
+     *                 ]
+     *             ]
+     *             valid_percent: double (Required)
+     *             masked_pixels: double (Required)
+     *             valid_pixels: double (Required)
+     *             percentile_2: double (Required)
+     *             percentile_98: double (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 return dataset's statistics along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getStatisticsWithResponseAsync(String collectionId, String itemId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getStatistics(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, itemId, accept, requestOptions, context)); + } + + /** + * Statistics + * + * Merged assets statistics. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoMaximum dimension in pixels for the source data used to + * calculate statistics
categoricalBooleanNoReturn statistics for categorical dataset.
cList<String>NoList of values for which to report counts. Call + * {@link RequestOptions#addQueryParam} to add string to array.
pList<Integer>NoList of percentile values (default to [2, 98]). Call + * {@link RequestOptions#addQueryParam} to add string to array.
histogram_binsStringNoDefines the number of equal-width bins in the given + * range (10, by default). + * + * If bins is a sequence (comma `,` delimited values), it defines a monotonically + * increasing array of bin edges, including the rightmost edge, allowing for + * non-uniform bin widths. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
histogram_rangeStringNoComma `,` delimited range of the bins. + * + * The lower and upper range of the bins. If not provided, range is simply + * (a.min(), a.max()). + * + * Values outside the range are ignored. The first element of the range must be + * less than or equal to the second. + * range affects the automatic bin computation as well. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *      (Optional): {
+     *         String (Required): {
+     *             min: double (Required)
+     *             max: double (Required)
+     *             mean: double (Required)
+     *             count: double (Required)
+     *             sum: double (Required)
+     *             std: double (Required)
+     *             median: double (Required)
+     *             majority: double (Required)
+     *             minority: double (Required)
+     *             unique: double (Required)
+     *             histogram (Required): [
+     *                  (Required)[
+     *                     double (Required)
+     *                 ]
+     *             ]
+     *             valid_percent: double (Required)
+     *             masked_pixels: double (Required)
+     *             valid_pixels: double (Required)
+     *             percentile_2: double (Required)
+     *             percentile_98: double (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 return dataset's statistics along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getStatisticsWithResponse(String collectionId, String itemId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getStatisticsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + itemId, accept, requestOptions, Context.NONE); + } + + /** + * Geojson Statistics + * + * Get Statistics from a geojson feature or featureCollection. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoMaximum dimension in pixels for the source data used to + * calculate statistics
categoricalBooleanNoReturn statistics for categorical dataset.
cList<String>NoList of values for which to report counts. Call + * {@link RequestOptions#addQueryParam} to add string to array.
pList<Integer>NoList of percentile values (default to [2, 98]). Call + * {@link RequestOptions#addQueryParam} to add string to array.
histogram_binsStringNoDefines the number of equal-width bins in the given + * range (10, by default). + * + * If bins is a sequence (comma `,` delimited values), it defines a monotonically + * increasing array of bin edges, including the rightmost edge, allowing for + * non-uniform bin widths. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
histogram_rangeStringNoComma `,` delimited range of the bins. + * + * The lower and upper range of the bins. If not provided, range is simply + * (a.min(), a.max()). + * + * Values outside the range are ignored. The first element of the range must be + * less than or equal to the second. + * range affects the automatic bin computation as well. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     features (Optional, Required on create): [
+     *          (Optional, Required on create){
+     *             type: String(Feature/FeatureCollection) (Required)
+     *             stac_version: String (Optional)
+     *             links (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             msft:_created: String (Optional)
+     *             msft:_updated: String (Optional)
+     *             msft:short_description: String (Optional)
+     *             stac_extensions (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             geometry (Optional, Required on create): {
+     *                 type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *                 bbox (Optional): [
+     *                     double (Optional)
+     *                 ]
+     *             }
+     *             bbox (Optional, Required on create): [
+     *                 double (Optional, Required on create)
+     *             ]
+     *             id: String (Required)
+     *             collection: String (Optional)
+     *             properties (Optional, Required on create): {
+     *                 platform: String (Optional)
+     *                 instruments (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 constellation: String (Optional)
+     *                 mission: String (Optional)
+     *                 providers (Optional): [
+     *                      (Optional){
+     *                         name: String (Optional, Required on create)
+     *                         description: String (Optional)
+     *                         roles (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         url: String (Optional)
+     *                     }
+     *                 ]
+     *                 gsd: Double (Optional)
+     *                 created: OffsetDateTime (Optional)
+     *                 updated: OffsetDateTime (Optional)
+     *                 title: String (Optional)
+     *                 description: String (Optional)
+     *                 datetime: String (Optional, Required on create)
+     *                 start_datetime: OffsetDateTime (Optional)
+     *                 end_datetime: OffsetDateTime (Optional)
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *             assets (Optional, Required on create): {
+     *                 String (Required): {
+     *                     platform: String (Optional)
+     *                     instruments (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     constellation: String (Optional)
+     *                     mission: String (Optional)
+     *                     providers (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     gsd: Double (Optional)
+     *                     created: OffsetDateTime (Optional)
+     *                     updated: OffsetDateTime (Optional)
+     *                     title: String (Optional)
+     *                     description: String (Optional)
+     *                     href: String (Optional, Required on create)
+     *                     type: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                      (Optional): {
+     *                         String: BinaryData (Required)
+     *                     }
+     *                 }
+     *             }
+     *             _msft:ts: String (Optional)
+     *             _msft:etag: String (Optional)
+     *         }
+     *     ]
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     *     context (Optional): {
+     *         returned: int (Optional, Required on create)
+     *         limit: Integer (Optional)
+     *         matched: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(FeatureCollection) (Required)
+     *     features (Required): [
+     *          (Required){
+     *             geometry (Required): {
+     *                 type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *                 bbox (Optional): [
+     *                     double (Optional)
+     *                 ]
+     *             }
+     *             bbox (Required): [
+     *                 double (Required)
+     *             ]
+     *             id: String (Required)
+     *             type: String(Feature) (Required)
+     *             msft:_created: String (Optional)
+     *             msft:_updated: String (Optional)
+     *             msft:short_description: String (Optional)
+     *             stac_version: String (Optional)
+     *             collection: String (Optional)
+     *             properties (Required): {
+     *                 platform: String (Optional)
+     *                 instruments (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 constellation: String (Optional)
+     *                 mission: String (Optional)
+     *                 providers (Optional): [
+     *                      (Optional){
+     *                         name: String (Optional, Required on create)
+     *                         description: String (Optional)
+     *                         roles (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         url: String (Optional)
+     *                     }
+     *                 ]
+     *                 gsd: Double (Optional)
+     *                 created: OffsetDateTime (Optional)
+     *                 updated: OffsetDateTime (Optional)
+     *                 title: String (Optional)
+     *                 description: String (Optional)
+     *                 datetime: String (Optional, Required on create)
+     *                 start_datetime: OffsetDateTime (Optional)
+     *                 end_datetime: OffsetDateTime (Optional)
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *             _msft:ts: String (Optional)
+     *             _msft:etag: String (Optional)
+     *             stac_extensions (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     *     stac_version: String (Optional)
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     context (Optional): {
+     *         returned: int (Optional, Required on create)
+     *         limit: Integer (Optional)
+     *         matched: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param body Request GeoJson body. + * @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 https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.mdCollection of STAC + * items with statistical information along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getGeoJsonStatisticsWithResponseAsync(String collectionId, String itemId, + BinaryData body, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.getGeoJsonStatistics(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, itemId, contentType, accept, body, requestOptions, context)); + } + + /** + * Geojson Statistics + * + * Get Statistics from a geojson feature or featureCollection. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoMaximum dimension in pixels for the source data used to + * calculate statistics
categoricalBooleanNoReturn statistics for categorical dataset.
cList<String>NoList of values for which to report counts. Call + * {@link RequestOptions#addQueryParam} to add string to array.
pList<Integer>NoList of percentile values (default to [2, 98]). Call + * {@link RequestOptions#addQueryParam} to add string to array.
histogram_binsStringNoDefines the number of equal-width bins in the given + * range (10, by default). + * + * If bins is a sequence (comma `,` delimited values), it defines a monotonically + * increasing array of bin edges, including the rightmost edge, allowing for + * non-uniform bin widths. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
histogram_rangeStringNoComma `,` delimited range of the bins. + * + * The lower and upper range of the bins. If not provided, range is simply + * (a.min(), a.max()). + * + * Values outside the range are ignored. The first element of the range must be + * less than or equal to the second. + * range affects the automatic bin computation as well. + * + * link: https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     features (Optional, Required on create): [
+     *          (Optional, Required on create){
+     *             type: String(Feature/FeatureCollection) (Required)
+     *             stac_version: String (Optional)
+     *             links (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             msft:_created: String (Optional)
+     *             msft:_updated: String (Optional)
+     *             msft:short_description: String (Optional)
+     *             stac_extensions (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             geometry (Optional, Required on create): {
+     *                 type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *                 bbox (Optional): [
+     *                     double (Optional)
+     *                 ]
+     *             }
+     *             bbox (Optional, Required on create): [
+     *                 double (Optional, Required on create)
+     *             ]
+     *             id: String (Required)
+     *             collection: String (Optional)
+     *             properties (Optional, Required on create): {
+     *                 platform: String (Optional)
+     *                 instruments (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 constellation: String (Optional)
+     *                 mission: String (Optional)
+     *                 providers (Optional): [
+     *                      (Optional){
+     *                         name: String (Optional, Required on create)
+     *                         description: String (Optional)
+     *                         roles (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         url: String (Optional)
+     *                     }
+     *                 ]
+     *                 gsd: Double (Optional)
+     *                 created: OffsetDateTime (Optional)
+     *                 updated: OffsetDateTime (Optional)
+     *                 title: String (Optional)
+     *                 description: String (Optional)
+     *                 datetime: String (Optional, Required on create)
+     *                 start_datetime: OffsetDateTime (Optional)
+     *                 end_datetime: OffsetDateTime (Optional)
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *             assets (Optional, Required on create): {
+     *                 String (Required): {
+     *                     platform: String (Optional)
+     *                     instruments (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     constellation: String (Optional)
+     *                     mission: String (Optional)
+     *                     providers (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     gsd: Double (Optional)
+     *                     created: OffsetDateTime (Optional)
+     *                     updated: OffsetDateTime (Optional)
+     *                     title: String (Optional)
+     *                     description: String (Optional)
+     *                     href: String (Optional, Required on create)
+     *                     type: String (Optional)
+     *                     roles (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                      (Optional): {
+     *                         String: BinaryData (Required)
+     *                     }
+     *                 }
+     *             }
+     *             _msft:ts: String (Optional)
+     *             _msft:etag: String (Optional)
+     *         }
+     *     ]
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     *     context (Optional): {
+     *         returned: int (Optional, Required on create)
+     *         limit: Integer (Optional)
+     *         matched: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(FeatureCollection) (Required)
+     *     features (Required): [
+     *          (Required){
+     *             geometry (Required): {
+     *                 type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *                 bbox (Optional): [
+     *                     double (Optional)
+     *                 ]
+     *             }
+     *             bbox (Required): [
+     *                 double (Required)
+     *             ]
+     *             id: String (Required)
+     *             type: String(Feature) (Required)
+     *             msft:_created: String (Optional)
+     *             msft:_updated: String (Optional)
+     *             msft:short_description: String (Optional)
+     *             stac_version: String (Optional)
+     *             collection: String (Optional)
+     *             properties (Required): {
+     *                 platform: String (Optional)
+     *                 instruments (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 constellation: String (Optional)
+     *                 mission: String (Optional)
+     *                 providers (Optional): [
+     *                      (Optional){
+     *                         name: String (Optional, Required on create)
+     *                         description: String (Optional)
+     *                         roles (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         url: String (Optional)
+     *                     }
+     *                 ]
+     *                 gsd: Double (Optional)
+     *                 created: OffsetDateTime (Optional)
+     *                 updated: OffsetDateTime (Optional)
+     *                 title: String (Optional)
+     *                 description: String (Optional)
+     *                 datetime: String (Optional, Required on create)
+     *                 start_datetime: OffsetDateTime (Optional)
+     *                 end_datetime: OffsetDateTime (Optional)
+     *                  (Optional): {
+     *                     String: BinaryData (Required)
+     *                 }
+     *             }
+     *             _msft:ts: String (Optional)
+     *             _msft:etag: String (Optional)
+     *             stac_extensions (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     *     stac_version: String (Optional)
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     context (Optional): {
+     *         returned: int (Optional, Required on create)
+     *         limit: Integer (Optional)
+     *         matched: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param body Request GeoJson body. + * @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 https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.mdCollection of STAC + * items with statistical information along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getGeoJsonStatisticsWithResponse(String collectionId, String itemId, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.getGeoJsonStatisticsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + itemId, contentType, accept, body, requestOptions, Context.NONE); + } + + /** + * Tile + * + * Create map tile from a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: + * 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", "LINZAntarticaMapTilegrid", + * "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", "WGS1984Quad", + * "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
subdataset_nameStringNoThe name of a subdataset within the asset.
subdataset_bandsList<String>NoThe index of a subdataset band within the + * asset. In the form of "," separated string.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept 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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTileWithResponseAsync(String collectionId, String itemId, double z, double x, + double y, double scale, String format, String accept, RequestOptions requestOptions) { + return FluxUtil + .withContext(context -> service.getTile(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, itemId, z, x, y, scale, format, accept, requestOptions, context)); + } + + /** + * Tile + * + * Create map tile from a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: + * 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", "LINZAntarticaMapTilegrid", + * "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", "WGS1984Quad", + * "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
subdataset_nameStringNoThe name of a subdataset within the asset.
subdataset_bandsList<String>NoThe index of a subdataset band within the + * asset. In the form of "," separated string.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept 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 body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTileWithResponse(String collectionId, String itemId, double z, double x, double y, + double scale, String format, String accept, RequestOptions requestOptions) { + return service.getTileSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, itemId, z, + x, y, scale, format, accept, requestOptions, Context.NONE); + } + + /** + * Tile Tilematrixsetid As Path + * + * Create map tile from a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
subdataset_nameStringNoThe name of a subdataset within the asset.
subdataset_bandsList<String>NoThe index of a subdataset band within the + * asset. In the form of "," separated string.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept 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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTileWithMatrixSetWithResponseAsync(String collectionId, String itemId, + String tileMatrixSetId, double z, double x, double y, double scale, String format, String accept, + RequestOptions requestOptions) { + return FluxUtil.withContext( + context -> service.getTileWithMatrixSet(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, itemId, tileMatrixSetId, z, x, y, scale, format, accept, requestOptions, context)); + } + + /** + * Tile Tilematrixsetid As Path + * + * Create map tile from a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
subdataset_nameStringNoThe name of a subdataset within the asset.
subdataset_bandsList<String>NoThe index of a subdataset band within the + * asset. In the form of "," separated string.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @param z Identifier (Z) selecting one of the scales defined in the TileMatrixSet and + * representing the scaleDenominator the tile. + * @param x Column (X) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixHeight-1 for the selected TileMatrix. + * @param y Row (Y) index of the tile on the selected TileMatrix. It cannot exceed the + * MatrixWidth-1 for the selected TileMatrix. + * @param scale Numeric scale factor for the tile. Higher values produce larger tiles (default: "1"). + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept 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 body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTileWithMatrixSetWithResponse(String collectionId, String itemId, + String tileMatrixSetId, double z, double x, double y, double scale, String format, String accept, + RequestOptions requestOptions) { + return service.getTileWithMatrixSetSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + itemId, tileMatrixSetId, z, x, y, scale, format, accept, requestOptions, Context.NONE); + } + + /** + * Tilejson + * + * Return Tilejson. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: + * 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", "LINZAntarticaMapTilegrid", + * "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", "WGS1984Quad", + * "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
tile_formatStringNoDefault will be automatically defined if the output image + * needs a mask (png) or + * not (jpeg). Allowed values: "png", "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     tilejson: String (Optional)
+     *     name: String (Optional)
+     *     description: String (Optional)
+     *     version: String (Optional)
+     *     attribution: String (Optional)
+     *     template: String (Optional)
+     *     legend: String (Optional)
+     *     scheme: String(xyz/tms) (Optional)
+     *     tiles (Required): [
+     *         String (Required)
+     *     ]
+     *     grids (Optional): [
+     *         String (Optional)
+     *     ]
+     *     data (Optional): [
+     *         String (Optional)
+     *     ]
+     *     minzoom: Integer (Optional)
+     *     maxzoom: Integer (Optional)
+     *     bounds (Optional): [
+     *         double (Optional)
+     *     ]
+     *     center (Optional): [
+     *         double (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTileJsonWithResponseAsync(String collectionId, String itemId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getTileJson(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, itemId, accept, requestOptions, context)); + } + + /** + * Tilejson + * + * Return Tilejson. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: + * 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", "LINZAntarticaMapTilegrid", + * "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", "WGS1984Quad", + * "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
tile_formatStringNoDefault will be automatically defined if the output image + * needs a mask (png) or + * not (jpeg). Allowed values: "png", "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     tilejson: String (Optional)
+     *     name: String (Optional)
+     *     description: String (Optional)
+     *     version: String (Optional)
+     *     attribution: String (Optional)
+     *     template: String (Optional)
+     *     legend: String (Optional)
+     *     scheme: String(xyz/tms) (Optional)
+     *     tiles (Required): [
+     *         String (Required)
+     *     ]
+     *     grids (Optional): [
+     *         String (Optional)
+     *     ]
+     *     data (Optional): [
+     *         String (Optional)
+     *     ]
+     *     minzoom: Integer (Optional)
+     *     maxzoom: Integer (Optional)
+     *     bounds (Optional): [
+     *         double (Optional)
+     *     ]
+     *     center (Optional): [
+     *         double (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTileJsonWithResponse(String collectionId, String itemId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getTileJsonSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, itemId, + accept, requestOptions, Context.NONE); + } + + /** + * Tilejson Tilematrixsetid As Path + * + * Return the Tilejson Tilematrixsetid As a path. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tile_formatStringNoDefault will be automatically defined if the output image + * needs a mask (png) or + * not (jpeg). Allowed values: "png", "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     tilejson: String (Optional)
+     *     name: String (Optional)
+     *     description: String (Optional)
+     *     version: String (Optional)
+     *     attribution: String (Optional)
+     *     template: String (Optional)
+     *     legend: String (Optional)
+     *     scheme: String(xyz/tms) (Optional)
+     *     tiles (Required): [
+     *         String (Required)
+     *     ]
+     *     grids (Optional): [
+     *         String (Optional)
+     *     ]
+     *     data (Optional): [
+     *         String (Optional)
+     *     ]
+     *     minzoom: Integer (Optional)
+     *     maxzoom: Integer (Optional)
+     *     bounds (Optional): [
+     *         double (Optional)
+     *     ]
+     *     center (Optional): [
+     *         double (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @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 tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTileJsonWithMatrixSetWithResponseAsync(String collectionId, String itemId, + String tileMatrixSetId, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.getTileJsonWithMatrixSet(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, itemId, tileMatrixSetId, accept, requestOptions, context)); + } + + /** + * Tilejson Tilematrixsetid As Path + * + * Return the Tilejson Tilematrixsetid As a path. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tile_formatStringNoDefault will be automatically defined if the output image + * needs a mask (png) or + * not (jpeg). Allowed values: "png", "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     tilejson: String (Optional)
+     *     name: String (Optional)
+     *     description: String (Optional)
+     *     version: String (Optional)
+     *     attribution: String (Optional)
+     *     template: String (Optional)
+     *     legend: String (Optional)
+     *     scheme: String(xyz/tms) (Optional)
+     *     tiles (Required): [
+     *         String (Required)
+     *     ]
+     *     grids (Optional): [
+     *         String (Optional)
+     *     ]
+     *     data (Optional): [
+     *         String (Optional)
+     *     ]
+     *     minzoom: Integer (Optional)
+     *     maxzoom: Integer (Optional)
+     *     bounds (Optional): [
+     *         double (Optional)
+     *     ]
+     *     center (Optional): [
+     *         double (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @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 tileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set + * according to the TileJSON specification along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTileJsonWithMatrixSetWithResponse(String collectionId, String itemId, + String tileMatrixSetId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getTileJsonWithMatrixSetSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, itemId, tileMatrixSetId, accept, requestOptions, Context.NONE); + } + + /** + * Wmts + * + * OGC WMTS endpoint. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: + * 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", "LINZAntarticaMapTilegrid", + * "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", "WGS1984Quad", + * "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
tile_formatStringNoOutput image type. Default is png. Allowed values: "png", + * "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * String
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 a sequence of textual characters along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getWmtsCapabilitiesWithResponseAsync(String collectionId, String itemId, + RequestOptions requestOptions) { + final String accept = "application/xml"; + return FluxUtil.withContext(context -> service.getWmtsCapabilities(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, itemId, accept, requestOptions, context)); + } + + /** + * Wmts + * + * OGC WMTS endpoint. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tileMatrixSetIdStringNoIdentifier selecting one of the TileMatrixSetId + * supported (default: + * 'WebMercatorQuad'). Allowed values: "CanadianNAD83_LCC", "EuropeanETRS89_LAEAQuad", "LINZAntarticaMapTilegrid", + * "NZTM2000Quad", "UPSAntarcticWGS84Quad", "UPSArcticWGS84Quad", "UTM31WGS84Quad", "WGS1984Quad", + * "WebMercatorQuad", "WorldCRS84Quad", "WorldMercatorWGS84Quad".
tile_formatStringNoOutput image type. Default is png. Allowed values: "png", + * "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * String
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @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 a sequence of textual characters along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWmtsCapabilitiesWithResponse(String collectionId, String itemId, + RequestOptions requestOptions) { + final String accept = "application/xml"; + return service.getWmtsCapabilitiesSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + itemId, accept, requestOptions, Context.NONE); + } + + /** + * Wmts Tilematrixsetid As Path + * + * OGC WMTS endpoint. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tile_formatStringNoOutput image type. Default is png. Allowed values: "png", + * "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * String
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @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 a sequence of textual characters along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getWmtsCapabilitiesWithMatrixSetWithResponseAsync(String collectionId, + String itemId, String tileMatrixSetId, RequestOptions requestOptions) { + final String accept = "application/xml"; + return FluxUtil.withContext(context -> service.getWmtsCapabilitiesWithMatrixSet(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, itemId, tileMatrixSetId, accept, requestOptions, + context)); + } + + /** + * Wmts Tilematrixsetid As Path + * + * OGC WMTS endpoint. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
tile_formatStringNoOutput image type. Default is png. Allowed values: "png", + * "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
tile_scaleIntegerNoTile scale factor affecting output size. Values > 1 + * produce larger tiles (e.g., 1=256x256, 2=512x512).
minzoomIntegerNoOverwrite default minzoom.
maxzoomIntegerNoOverwrite default maxzoom.
bufferStringNoBuffer on each side of the given tile. It must be a multiple of + * `0.5`. Output + * **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, + * 1.0 = 258x258).
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * String
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @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 a sequence of textual characters along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWmtsCapabilitiesWithMatrixSetWithResponse(String collectionId, String itemId, + String tileMatrixSetId, RequestOptions requestOptions) { + final String accept = "application/xml"; + return service.getWmtsCapabilitiesWithMatrixSetSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, itemId, tileMatrixSetId, accept, requestOptions, Context.NONE); + } + + /** + * Point + * + * Get Point value for a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     coordinates (Required): [
+     *         double (Required)
+     *     ]
+     *     values (Required): [
+     *         double (Required)
+     *     ]
+     *     band_names (Required): [
+     *         String (Required)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param lon Longitude. + * @param lat Latitude. + * @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 point model. + * + * response model for `/point` endpointsResponse model for point query operations providing values at a specific + * location along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getPointWithResponseAsync(String collectionId, String itemId, double lon, + double lat, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getPoint(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, itemId, lon, lat, accept, requestOptions, context)); + } + + /** + * Point + * + * Get Point value for a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     coordinates (Required): [
+     *         double (Required)
+     *     ]
+     *     values (Required): [
+     *         double (Required)
+     *     ]
+     *     band_names (Required): [
+     *         String (Required)
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param lon Longitude. + * @param lat Latitude. + * @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 point model. + * + * response model for `/point` endpointsResponse model for point query operations providing values at a specific + * location along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getPointWithResponse(String collectionId, String itemId, double lon, double lat, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getPointSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, itemId, + lon, lat, accept, requestOptions, Context.NONE); + } + + /** + * Preview + * + * Create preview of a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
formatStringNoOutput format for the tile or image (e.g., png, jpeg, webp). + * Allowed values: "png", "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
dst-crsStringNoOutput Coordinate Reference System.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoImage output size limit if width and height limits are not + * set.
heightIntegerNoHeight in pixels for the output image
widthIntegerNoWidth in pixels for the output image
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param accept The accept 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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getPreviewWithResponseAsync(String collectionId, String itemId, String accept, + RequestOptions requestOptions) { + return FluxUtil.withContext(context -> service.getPreview(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, itemId, accept, requestOptions, context)); + } + + /** + * Preview + * + * Create preview of a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
formatStringNoOutput format for the tile or image (e.g., png, jpeg, webp). + * Allowed values: "png", "npy", "tif", "jpeg", "jpg", "jp2", "webp", "pngraw".
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
dst-crsStringNoOutput Coordinate Reference System.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoImage output size limit if width and height limits are not + * set.
heightIntegerNoHeight in pixels for the output image
widthIntegerNoWidth in pixels for the output image
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param accept The accept 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 body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getPreviewWithResponse(String collectionId, String itemId, String accept, + RequestOptions requestOptions) { + return service.getPreviewSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, itemId, + accept, requestOptions, Context.NONE); + } + + /** + * Preview + * + * Create preview of a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
dst-crsStringNoOutput Coordinate Reference System.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoImage output size limit if width and height limits are not + * set.
heightIntegerNoHeight in pixels for the output image
widthIntegerNoWidth in pixels for the output image
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept 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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getPreviewWithFormatWithResponseAsync(String collectionId, String itemId, + String format, String accept, RequestOptions requestOptions) { + return FluxUtil.withContext(context -> service.getPreviewWithFormat(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, itemId, format, accept, requestOptions, context)); + } + + /** + * Preview + * + * Create preview of a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
dst-crsStringNoOutput Coordinate Reference System.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoImage output size limit if width and height limits are not + * set.
heightIntegerNoHeight in pixels for the output image
widthIntegerNoWidth in pixels for the output image
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept 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 body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getPreviewWithFormatWithResponse(String collectionId, String itemId, String format, + String accept, RequestOptions requestOptions) { + return service.getPreviewWithFormatSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + itemId, format, accept, requestOptions, Context.NONE); + } + + /** + * Part + * + * Create image from part of a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
dst-crsStringNoOutput Coordinate Reference System.
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoImage output size limit if width and height limits are not + * set.
heightIntegerNoHeight in pixels for the output image
widthIntegerNoWidth in pixels for the output image
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param minx Bounding box min X. + * @param miny Bounding box min Y. + * @param maxx Bounding box max X. + * @param maxy Bounding box max Y. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept 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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getPartWithResponseAsync(String collectionId, String itemId, double minx, + double miny, double maxx, double maxy, String format, String accept, RequestOptions requestOptions) { + return FluxUtil + .withContext(context -> service.getPart(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, itemId, minx, miny, maxx, maxy, format, accept, requestOptions, context)); + } + + /** + * Part + * + * Create image from part of a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
dst-crsStringNoOutput Coordinate Reference System.
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoImage output size limit if width and height limits are not + * set.
heightIntegerNoHeight in pixels for the output image
widthIntegerNoWidth in pixels for the output image
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param minx Bounding box min X. + * @param miny Bounding box min Y. + * @param maxx Bounding box max X. + * @param maxy Bounding box max Y. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept 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 body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getPartWithResponse(String collectionId, String itemId, double minx, double miny, + double maxx, double maxy, String format, String accept, RequestOptions requestOptions) { + return service.getPartSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, itemId, + minx, miny, maxx, maxy, format, accept, requestOptions, Context.NONE); + } + + /** + * Part + * + * Create image from part of a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
dst-crsStringNoOutput Coordinate Reference System.
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoImage output size limit if width and height limits are not + * set.
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param minx Bounding box min X. + * @param miny Bounding box min Y. + * @param maxx Bounding box max X. + * @param maxy Bounding box max Y. + * @param width Width in pixels for the output image. + * @param height Height in pixels for the output image. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept 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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getPartWithDimensionsWithResponseAsync(String collectionId, String itemId, + double minx, double miny, double maxx, double maxy, double width, double height, String format, String accept, + RequestOptions requestOptions) { + return FluxUtil.withContext( + context -> service.getPartWithDimensions(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, itemId, minx, miny, maxx, maxy, width, height, format, accept, requestOptions, context)); + } + + /** + * Part + * + * Create image from part of a dataset. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
dst-crsStringNoOutput Coordinate Reference System.
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoImage output size limit if width and height limits are not + * set.
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param minx Bounding box min X. + * @param miny Bounding box min Y. + * @param maxx Bounding box max X. + * @param maxy Bounding box max Y. + * @param width Width in pixels for the output image. + * @param height Height in pixels for the output image. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept 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 body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getPartWithDimensionsWithResponse(String collectionId, String itemId, double minx, + double miny, double maxx, double maxy, double width, double height, String format, String accept, + RequestOptions requestOptions) { + return service.getPartWithDimensionsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, itemId, minx, miny, maxx, maxy, width, height, format, accept, requestOptions, Context.NONE); + } + + /** + * Geojson Crop + * + * Create image from a geojson feature. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoImage output size limit if width and height limits are not + * set.
heightIntegerNoHeight in pixels for the output image
widthIntegerNoWidth in pixels for the output image
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept parameter. + * @param body Request GeoJson body. + * @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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> cropGeoJsonWithResponseAsync(String collectionId, String itemId, String format, + String accept, BinaryData body, RequestOptions requestOptions) { + final String contentType = "application/json"; + return FluxUtil + .withContext(context -> service.cropGeoJson(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, itemId, format, contentType, accept, body, requestOptions, context)); + } + + /** + * Geojson Crop + * + * Create image from a geojson feature. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoImage output size limit if width and height limits are not + * set.
heightIntegerNoHeight in pixels for the output image
widthIntegerNoWidth in pixels for the output image
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *     bbox (Optional): [
+     *         double (Optional)
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param format Output format for the tile or image (e.g., png, jpeg, webp) (default: "png"). + * @param accept The accept parameter. + * @param body Request GeoJson body. + * @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 body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response cropGeoJsonWithResponse(String collectionId, String itemId, String format, + String accept, BinaryData body, RequestOptions requestOptions) { + final String contentType = "application/json"; + return service.cropGeoJsonSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, itemId, + format, contentType, accept, body, requestOptions, Context.NONE); + } + + /** + * Geojson Crop + * + * Create image from a geojson feature. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoImage output size limit if width and height limits are not + * set.
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     geometry (Optional, Required on create): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     bbox (Optional, Required on create): [
+     *         double (Optional, Required on create)
+     *     ]
+     *     id: String (Required)
+     *     collection: String (Optional)
+     *     properties (Optional, Required on create): {
+     *         platform: String (Optional)
+     *         instruments (Optional): [
+     *             String (Optional)
+     *         ]
+     *         constellation: String (Optional)
+     *         mission: String (Optional)
+     *         providers (Optional): [
+     *              (Optional){
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 roles (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         gsd: Double (Optional)
+     *         created: OffsetDateTime (Optional)
+     *         updated: OffsetDateTime (Optional)
+     *         title: String (Optional)
+     *         description: String (Optional)
+     *         datetime: String (Optional, Required on create)
+     *         start_datetime: OffsetDateTime (Optional)
+     *         end_datetime: OffsetDateTime (Optional)
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     assets (Optional, Required on create): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     _msft:ts: String (Optional)
+     *     _msft:etag: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param width Width in pixels for the output image. + * @param height Height in pixels for the output image. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept parameter. + * @param body Request GeoJson body. + * @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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> cropGeoJsonWithDimensionsWithResponseAsync(String collectionId, String itemId, + double width, double height, String format, String accept, BinaryData body, RequestOptions requestOptions) { + final String contentType = "application/json"; + return FluxUtil.withContext( + context -> service.cropGeoJsonWithDimensions(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, itemId, width, height, format, contentType, accept, body, requestOptions, context)); + } + + /** + * Geojson Crop + * + * Create image from a geojson feature. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
assetsList<String>NoAsset's names. Call + * {@link RequestOptions#addQueryParam} to add string to array.
expressionStringNoBand math expression between assets
asset_bidxList<String>NoPer asset band indexes (coma separated indexes). + * In the form of "," separated string.
asset_as_bandBooleanNoAsset as Band
nodataDoubleNoOverwrite internal Nodata value
unscaleBooleanNoApply internal Scale or Offset
algorithmStringNoAlgorithm name. Allowed values: "hillshade", "contours", + * "normalizedIndex", "terrarium", "terrainrgb".
algorithm_paramsStringNoAlgorithm parameter
color_formulaStringNorio-color formula (info: + * https://github.com/mapbox/rio-color)
coord-crsStringNoCoordinate Reference System of the input coords. Default to + * `epsg:4326`.
resamplingStringNoResampling method. Allowed values: "nearest", "bilinear", + * "cubic", "cubic_spline", "lanczos", "average", "mode", "gauss", "rms".
max_sizeIntegerNoImage output size limit if width and height limits are not + * set.
rescaleList<String>Nocomma (',') delimited Min,Max range. Can set + * multiple time for multiple bands. Call {@link RequestOptions#addQueryParam} to add string to array.
colormap_nameStringNoColormap name. Allowed values: "accent", "accent_r", + * "afmhot", "afmhot_r", "ai4g-lulc", "alos-fnf", "alos-palsar-mask", "autumn", "autumn_r", "binary", "binary_r", + * "blues", "blues_r", "bone", "bone_r", "brbg", "brbg_r", "brg", "brg_r", "bugn", "bugn_r", "bupu", "bupu_r", + * "bwr", "bwr_r", "c-cap", "cfastie", "chesapeake-lc-13", "chesapeake-lc-7", "chesapeake-lu", "chloris-biomass", + * "cividis", "cividis_r", "cmrmap", "cmrmap_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", + * "cubehelix", "cubehelix_r", "dark2", "dark2_r", "drcog-lulc", "esa-cci-lc", "esa-worldcover", "flag", "flag_r", + * "gap-lulc", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", + * "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", + * "gnbu", "gnbu_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "greens", "greens_r", + * "greys", "greys_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "io-bii", "io-lulc", + * "io-lulc-9-class", "jet", "jet_r", "jrc-change", "jrc-extent", "jrc-occurrence", "jrc-recurrence", + * "jrc-seasonality", "jrc-transitions", "lidar-classification", "lidar-hag", "lidar-hag-alternative", + * "lidar-intensity", "lidar-returns", "magma", "magma_r", "modis-10A1", "modis-10A2", "modis-13A1|Q1", + * "modis-14A1|A2", "modis-15A2H|A3H", "modis-16A3GF-ET", "modis-16A3GF-PET", "modis-17A2H|A2HGF", "modis-17A3HGF", + * "modis-64A1", "mtbs-severity", "nipy_spectral", "nipy_spectral_r", "nrcan-lulc", "ocean", "ocean_r", "oranges", + * "oranges_r", "orrd", "orrd_r", "paired", "paired_r", "pastel1", "pastel1_r", "pastel2", "pastel2_r", "pink", + * "pink_r", "piyg", "piyg_r", "plasma", "plasma_r", "prgn", "prgn_r", "prism", "prism_r", "pubu", "pubu_r", + * "pubugn", "pubugn_r", "puor", "puor_r", "purd", "purd_r", "purples", "purples_r", "qpe", "rainbow", "rainbow_r", + * "rdbu", "rdbu_r", "rdgy", "rdgy_r", "rdpu", "rdpu_r", "rdylbu", "rdylbu_r", "rdylgn", "rdylgn_r", "reds", + * "reds_r", "rplumbo", "schwarzwald", "seismic", "seismic_r", "set1", "set1_r", "set2", "set2_r", "set3", "set3_r", + * "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", + * "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "twilight", "twilight_r", "twilight_shifted", + * "twilight_shifted_r", "usda-cdl", "usda-cdl-corn", "usda-cdl-cotton", "usda-cdl-soybeans", "usda-cdl-wheat", + * "usgs-lcmap", "viirs-10a1", "viirs-13a1", "viirs-14a1", "viirs-15a2H", "viridis", "viridis_r", "winter", + * "winter_r", "wistia", "wistia_r", "ylgn", "ylgn_r", "ylgnbu", "ylgnbu_r", "ylorbr", "ylorbr_r", "ylorrd", + * "ylorrd_r".
colormapStringNoJSON encoded custom Colormap
return_maskBooleanNoAdd mask to the output data.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(Feature/FeatureCollection) (Required)
+     *     stac_version: String (Optional)
+     *     links (Optional): [
+     *          (Optional){
+     *             rel: String (Optional)
+     *             title: String (Optional)
+     *             type: String(image/tiff; application=geotiff/image/jp2/image/png/image/jpeg/image/jpg/image/webp/application/x-binary/application/xml/application/json/application/geo+json/text/html/text/plain/application/x-protobuf) (Optional)
+     *             href: String (Optional, Required on create)
+     *             hreflang: String (Optional)
+     *             length: Integer (Optional)
+     *             method: String(GET/POST) (Optional)
+     *             headers (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             body (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             merge: Boolean (Optional)
+     *         }
+     *     ]
+     *     msft:_created: String (Optional)
+     *     msft:_updated: String (Optional)
+     *     msft:short_description: String (Optional)
+     *     stac_extensions (Optional): [
+     *         String (Optional)
+     *     ]
+     *     geometry (Optional, Required on create): {
+     *         type: String(Point/LineString/Polygon/MultiPoint/MultiLineString/MultiPolygon) (Required)
+     *         bbox (Optional): [
+     *             double (Optional)
+     *         ]
+     *     }
+     *     bbox (Optional, Required on create): [
+     *         double (Optional, Required on create)
+     *     ]
+     *     id: String (Required)
+     *     collection: String (Optional)
+     *     properties (Optional, Required on create): {
+     *         platform: String (Optional)
+     *         instruments (Optional): [
+     *             String (Optional)
+     *         ]
+     *         constellation: String (Optional)
+     *         mission: String (Optional)
+     *         providers (Optional): [
+     *              (Optional){
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 roles (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         gsd: Double (Optional)
+     *         created: OffsetDateTime (Optional)
+     *         updated: OffsetDateTime (Optional)
+     *         title: String (Optional)
+     *         description: String (Optional)
+     *         datetime: String (Optional, Required on create)
+     *         start_datetime: OffsetDateTime (Optional)
+     *         end_datetime: OffsetDateTime (Optional)
+     *          (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     assets (Optional, Required on create): {
+     *         String (Required): {
+     *             platform: String (Optional)
+     *             instruments (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             constellation: String (Optional)
+     *             mission: String (Optional)
+     *             providers (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             gsd: Double (Optional)
+     *             created: OffsetDateTime (Optional)
+     *             updated: OffsetDateTime (Optional)
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             href: String (Optional, Required on create)
+     *             type: String (Optional)
+     *             roles (Optional): [
+     *                 String (Optional)
+     *             ]
+     *              (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *         }
+     *     }
+     *     _msft:ts: String (Optional)
+     *     _msft:etag: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param collectionId STAC Collection Identifier. + * @param itemId STAC Item Identifier. + * @param width Width in pixels for the output image. + * @param height Height in pixels for the output image. + * @param format Output format for the tile or image (e.g., png, jpeg, webp). + * @param accept The accept parameter. + * @param body Request GeoJson body. + * @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 body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response cropGeoJsonWithDimensionsWithResponse(String collectionId, String itemId, double width, + double height, String format, String accept, BinaryData body, RequestOptions requestOptions) { + final String contentType = "application/json"; + return service.cropGeoJsonWithDimensionsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, itemId, width, height, format, contentType, accept, body, requestOptions, Context.NONE); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/TileMatrixSetsClientImpl.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/TileMatrixSetsClientImpl.java new file mode 100644 index 000000000000..07aab26e9187 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/TileMatrixSetsClientImpl.java @@ -0,0 +1,419 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.implementation; + +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.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.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +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.serializer.JacksonAdapter; +import com.azure.core.util.serializer.SerializerAdapter; +import com.azure.planetarycomputer.PlanetaryComputerServiceVersion; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the TileMatrixSetsClient type. + */ +public final class TileMatrixSetsClientImpl { + /** + * The proxy service used to perform REST calls. + */ + private final TileMatrixSetsClientService service; + + /** + * Service host. + */ + private final String endpoint; + + /** + * Gets Service host. + * + * @return the endpoint value. + */ + public String getEndpoint() { + return this.endpoint; + } + + /** + * Service version. + */ + private final PlanetaryComputerServiceVersion serviceVersion; + + /** + * Gets Service version. + * + * @return the serviceVersion value. + */ + public PlanetaryComputerServiceVersion 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; + } + + /** + * Initializes an instance of TileMatrixSetsClient client. + * + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public TileMatrixSetsClientImpl(String endpoint, PlanetaryComputerServiceVersion serviceVersion) { + this(new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build(), + JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of TileMatrixSetsClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public TileMatrixSetsClientImpl(HttpPipeline httpPipeline, String endpoint, + PlanetaryComputerServiceVersion serviceVersion) { + this(httpPipeline, JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of TileMatrixSetsClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param serializerAdapter The serializer to serialize an object into a string. + * @param endpoint Service host. + * @param serviceVersion Service version. + */ + public TileMatrixSetsClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, String endpoint, + PlanetaryComputerServiceVersion serviceVersion) { + this.httpPipeline = httpPipeline; + this.serializerAdapter = serializerAdapter; + this.endpoint = endpoint; + this.serviceVersion = serviceVersion; + this.service + = RestProxy.create(TileMatrixSetsClientService.class, this.httpPipeline, this.getSerializerAdapter()); + } + + /** + * The interface defining all the services for TileMatrixSetsClient to be used by the proxy service to perform REST + * calls. + */ + @Host("{endpoint}") + @ServiceInterface(name = "TileMatrixSetsClient") + public interface TileMatrixSetsClientService { + @Get("/data/tile-matrix-sets") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getTileMatrixList(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/data/tile-matrix-sets") + @ExpectedResponses({ 200, 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getTileMatrixListSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/data/tile-matrix-sets/{tileMatrixSetId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getTileMatrixDefinitions(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("tileMatrixSetId") String tileMatrixSetId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/data/tile-matrix-sets/{tileMatrixSetId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getTileMatrixDefinitionsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("tileMatrixSetId") String tileMatrixSetId, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + } + + /** + * Matrix List + * + * Return Matrix List. + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+     * 
+ * + * @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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTileMatrixListWithResponseAsync(RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getTileMatrixList(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Matrix List + * + * Return Matrix List. + *

Response Body Schema

+ * + *
+     * {@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+     * 
+ * + * @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 body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTileMatrixListWithResponse(RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getTileMatrixListSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, + requestOptions, Context.NONE); + } + + /** + * Matrix Definition + * + * Return Matrix Definition. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     title: String (Optional)
+     *     description: String (Optional)
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Optional)
+     *     uri: String (Optional)
+     *     orderedAxes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     crs: String (Required)
+     *     wellKnownScaleSet: String (Optional)
+     *     boundingBox (Optional): {
+     *         lowerLeft (Required): [
+     *             String (Required)
+     *         ]
+     *         upperRight (Required): [
+     *             String (Required)
+     *         ]
+     *         crs: String (Optional)
+     *         orderedAxes (Optional): [
+     *             String (Optional)
+     *         ]
+     *     }
+     *     tileMatrices (Required): [
+     *          (Required){
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             keywords (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             id: String (Required)
+     *             scaleDenominator: double (Required)
+     *             cellSize: double (Required)
+     *             cornerOfOrigin: String(topLeft/bottomLeft) (Optional)
+     *             pointOfOrigin (Required): [
+     *                 double (Required)
+     *             ]
+     *             tileWidth: int (Required)
+     *             tileHeight: int (Required)
+     *             matrixWidth: int (Required)
+     *             matrixHeight: int (Required)
+     *             variableMatrixWidths (Optional): [
+     *                  (Optional){
+     *                     coalesce: int (Required)
+     *                     minTileRow: int (Required)
+     *                     maxTileRow: int (Required)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @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 https://github.com/opengeospatial/2D-Tile-Matrix-Set/blob/master/schemas/tms/2.0/json/tileMatrixSet.json + * + * A definition of a tile matrix set following the Tile Matrix Set standard. + * For tileset metadata, such a description (in `tileMatrixSet` property) is only + * required for offline use, + * as an alternative to a link with a + * `http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme` relation type along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTileMatrixDefinitionsWithResponseAsync(String tileMatrixSetId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getTileMatrixDefinitions(this.getEndpoint(), + this.getServiceVersion().getVersion(), tileMatrixSetId, accept, requestOptions, context)); + } + + /** + * Matrix Definition + * + * Return Matrix Definition. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     title: String (Optional)
+     *     description: String (Optional)
+     *     keywords (Optional): [
+     *         String (Optional)
+     *     ]
+     *     id: String (Optional)
+     *     uri: String (Optional)
+     *     orderedAxes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     crs: String (Required)
+     *     wellKnownScaleSet: String (Optional)
+     *     boundingBox (Optional): {
+     *         lowerLeft (Required): [
+     *             String (Required)
+     *         ]
+     *         upperRight (Required): [
+     *             String (Required)
+     *         ]
+     *         crs: String (Optional)
+     *         orderedAxes (Optional): [
+     *             String (Optional)
+     *         ]
+     *     }
+     *     tileMatrices (Required): [
+     *          (Required){
+     *             title: String (Optional)
+     *             description: String (Optional)
+     *             keywords (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             id: String (Required)
+     *             scaleDenominator: double (Required)
+     *             cellSize: double (Required)
+     *             cornerOfOrigin: String(topLeft/bottomLeft) (Optional)
+     *             pointOfOrigin (Required): [
+     *                 double (Required)
+     *             ]
+     *             tileWidth: int (Required)
+     *             tileHeight: int (Required)
+     *             matrixWidth: int (Required)
+     *             matrixHeight: int (Required)
+     *             variableMatrixWidths (Optional): [
+     *                  (Optional){
+     *                     coalesce: int (Required)
+     *                     minTileRow: int (Required)
+     *                     maxTileRow: int (Required)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + * @param tileMatrixSetId Identifier selecting one of the TileMatrixSetId supported. + * @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 https://github.com/opengeospatial/2D-Tile-Matrix-Set/blob/master/schemas/tms/2.0/json/tileMatrixSet.json + * + * A definition of a tile matrix set following the Tile Matrix Set standard. + * For tileset metadata, such a description (in `tileMatrixSet` property) is only + * required for offline use, + * as an alternative to a link with a + * `http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme` relation type along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTileMatrixDefinitionsWithResponse(String tileMatrixSetId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getTileMatrixDefinitionsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + tileMatrixSetId, accept, requestOptions, Context.NONE); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/models/RegisterSearchRequest.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/models/RegisterSearchRequest.java new file mode 100644 index 000000000000..ad466b42264c --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/models/RegisterSearchRequest.java @@ -0,0 +1,380 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.azure.planetarycomputer.models.FilterLang; +import com.azure.planetarycomputer.models.Geometry; +import com.azure.planetarycomputer.models.Metadata; +import com.azure.planetarycomputer.models.SortExtension; +import com.azure.planetarycomputer.models.StacQuery; +import java.io.IOException; +import java.util.List; + +/** + * The RegisterSearchRequest model. + */ +@Fluent +public final class RegisterSearchRequest implements JsonSerializable { + /* + * List of STAC collection IDs to include in the mosaic + */ + @Generated + private List collections; + + /* + * List of specific STAC item IDs to include in the mosaic + */ + @Generated + private List ids; + + /* + * Geographic bounding box to filter items [west, south, east, north] + */ + @Generated + private Double bbox; + + /* + * GeoJSON geometry to spatially filter items by intersection + */ + @Generated + private Geometry intersects; + + /* + * Query + */ + @Generated + private StacQuery query; + + /* + * Filter + */ + @Generated + private String filter; + + /* + * Temporal filter in RFC 3339 format or interval + */ + @Generated + private String datetime; + + /* + * Criteria for ordering items in the mosaic + */ + @Generated + private List sortBy; + + /* + * Query language format used in the filter parameter + */ + @Generated + private FilterLang filterLang; + + /* + * Additional metadata to associate with the mosaic + */ + @Generated + private Metadata metadata; + + /** + * Creates an instance of RegisterSearchRequest class. + */ + @Generated + public RegisterSearchRequest() { + } + + /** + * Get the collections property: List of STAC collection IDs to include in the mosaic. + * + * @return the collections value. + */ + @Generated + public List getCollections() { + return this.collections; + } + + /** + * Set the collections property: List of STAC collection IDs to include in the mosaic. + * + * @param collections the collections value to set. + * @return the RegisterSearchRequest object itself. + */ + @Generated + public RegisterSearchRequest setCollections(List collections) { + this.collections = collections; + return this; + } + + /** + * Get the ids property: List of specific STAC item IDs to include in the mosaic. + * + * @return the ids value. + */ + @Generated + public List getIds() { + return this.ids; + } + + /** + * Set the ids property: List of specific STAC item IDs to include in the mosaic. + * + * @param ids the ids value to set. + * @return the RegisterSearchRequest object itself. + */ + @Generated + public RegisterSearchRequest setIds(List ids) { + this.ids = ids; + return this; + } + + /** + * Get the bbox property: Geographic bounding box to filter items [west, south, east, north]. + * + * @return the bbox value. + */ + @Generated + public Double getBbox() { + return this.bbox; + } + + /** + * Set the bbox property: Geographic bounding box to filter items [west, south, east, north]. + * + * @param bbox the bbox value to set. + * @return the RegisterSearchRequest object itself. + */ + @Generated + public RegisterSearchRequest setBbox(Double bbox) { + this.bbox = bbox; + return this; + } + + /** + * Get the intersects property: GeoJSON geometry to spatially filter items by intersection. + * + * @return the intersects value. + */ + @Generated + public Geometry getIntersects() { + return this.intersects; + } + + /** + * Set the intersects property: GeoJSON geometry to spatially filter items by intersection. + * + * @param intersects the intersects value to set. + * @return the RegisterSearchRequest object itself. + */ + @Generated + public RegisterSearchRequest setIntersects(Geometry intersects) { + this.intersects = intersects; + return this; + } + + /** + * Get the query property: Query. + * + * @return the query value. + */ + @Generated + public StacQuery getQuery() { + return this.query; + } + + /** + * Set the query property: Query. + * + * @param query the query value to set. + * @return the RegisterSearchRequest object itself. + */ + @Generated + public RegisterSearchRequest setQuery(StacQuery query) { + this.query = query; + return this; + } + + /** + * Get the filter property: Filter. + * + * @return the filter value. + */ + @Generated + public String getFilter() { + return this.filter; + } + + /** + * Set the filter property: Filter. + * + * @param filter the filter value to set. + * @return the RegisterSearchRequest object itself. + */ + @Generated + public RegisterSearchRequest setFilter(String filter) { + this.filter = filter; + return this; + } + + /** + * Get the datetime property: Temporal filter in RFC 3339 format or interval. + * + * @return the datetime value. + */ + @Generated + public String getDatetime() { + return this.datetime; + } + + /** + * Set the datetime property: Temporal filter in RFC 3339 format or interval. + * + * @param datetime the datetime value to set. + * @return the RegisterSearchRequest object itself. + */ + @Generated + public RegisterSearchRequest setDatetime(String datetime) { + this.datetime = datetime; + return this; + } + + /** + * Get the sortBy property: Criteria for ordering items in the mosaic. + * + * @return the sortBy value. + */ + @Generated + public List getSortBy() { + return this.sortBy; + } + + /** + * Set the sortBy property: Criteria for ordering items in the mosaic. + * + * @param sortBy the sortBy value to set. + * @return the RegisterSearchRequest object itself. + */ + @Generated + public RegisterSearchRequest setSortBy(List sortBy) { + this.sortBy = sortBy; + return this; + } + + /** + * Get the filterLang property: Query language format used in the filter parameter. + * + * @return the filterLang value. + */ + @Generated + public FilterLang getFilterLang() { + return this.filterLang; + } + + /** + * Set the filterLang property: Query language format used in the filter parameter. + * + * @param filterLang the filterLang value to set. + * @return the RegisterSearchRequest object itself. + */ + @Generated + public RegisterSearchRequest setFilterLang(FilterLang filterLang) { + this.filterLang = filterLang; + return this; + } + + /** + * Get the metadata property: Additional metadata to associate with the mosaic. + * + * @return the metadata value. + */ + @Generated + public Metadata getMetadata() { + return this.metadata; + } + + /** + * Set the metadata property: Additional metadata to associate with the mosaic. + * + * @param metadata the metadata value to set. + * @return the RegisterSearchRequest object itself. + */ + @Generated + public RegisterSearchRequest setMetadata(Metadata metadata) { + this.metadata = metadata; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("collections", this.collections, (writer, element) -> writer.writeString(element)); + jsonWriter.writeArrayField("ids", this.ids, (writer, element) -> writer.writeString(element)); + jsonWriter.writeNumberField("bbox", this.bbox); + jsonWriter.writeJsonField("intersects", this.intersects); + jsonWriter.writeJsonField("query", this.query); + jsonWriter.writeStringField("filter", this.filter); + jsonWriter.writeStringField("datetime", this.datetime); + jsonWriter.writeArrayField("sortby", this.sortBy, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("filter-lang", this.filterLang == null ? null : this.filterLang.toString()); + jsonWriter.writeJsonField("metadata", this.metadata); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RegisterSearchRequest from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RegisterSearchRequest if the JsonReader was pointing to an instance of it, or null if it + * was pointing to JSON null. + * @throws IOException If an error occurs while reading the RegisterSearchRequest. + */ + @Generated + public static RegisterSearchRequest fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RegisterSearchRequest deserializedRegisterSearchRequest = new RegisterSearchRequest(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("collections".equals(fieldName)) { + List collections = reader.readArray(reader1 -> reader1.getString()); + deserializedRegisterSearchRequest.collections = collections; + } else if ("ids".equals(fieldName)) { + List ids = reader.readArray(reader1 -> reader1.getString()); + deserializedRegisterSearchRequest.ids = ids; + } else if ("bbox".equals(fieldName)) { + deserializedRegisterSearchRequest.bbox = reader.getNullable(JsonReader::getDouble); + } else if ("intersects".equals(fieldName)) { + deserializedRegisterSearchRequest.intersects = Geometry.fromJson(reader); + } else if ("query".equals(fieldName)) { + deserializedRegisterSearchRequest.query = StacQuery.fromJson(reader); + } else if ("filter".equals(fieldName)) { + deserializedRegisterSearchRequest.filter = reader.getString(); + } else if ("datetime".equals(fieldName)) { + deserializedRegisterSearchRequest.datetime = reader.getString(); + } else if ("sortby".equals(fieldName)) { + List sortBy = reader.readArray(reader1 -> SortExtension.fromJson(reader1)); + deserializedRegisterSearchRequest.sortBy = sortBy; + } else if ("filter-lang".equals(fieldName)) { + deserializedRegisterSearchRequest.filterLang = FilterLang.fromString(reader.getString()); + } else if ("metadata".equals(fieldName)) { + deserializedRegisterSearchRequest.metadata = Metadata.fromJson(reader); + } else { + reader.skipChildren(); + } + } + + return deserializedRegisterSearchRequest; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/models/package-info.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/models/package-info.java new file mode 100644 index 000000000000..400603fd25ed --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/models/package-info.java @@ -0,0 +1,10 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +/** + * + * Package containing the data models for PlanetaryComputer. + * + */ +package com.azure.planetarycomputer.implementation.models; diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/package-info.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/package-info.java new file mode 100644 index 000000000000..d53d37e834a8 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/implementation/package-info.java @@ -0,0 +1,10 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +/** + * + * Package containing the implementations for PlanetaryComputer. + * + */ +package com.azure.planetarycomputer.implementation; diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Algorithm.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Algorithm.java new file mode 100644 index 000000000000..3c91e1e6071f --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Algorithm.java @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Supported algorithms for terrain and index-based analysis. + */ +public final class Algorithm extends ExpandableStringEnum { + /** + * Creates hillshade visualization from elevation data. + */ + @Generated + public static final Algorithm HILLSHADE = fromString("hillshade"); + + /** + * Generates elevation contour lines. + */ + @Generated + public static final Algorithm CONTOURS = fromString("contours"); + + /** + * Calculates normalized difference index between bands. + */ + @Generated + public static final Algorithm NORMALIZED_INDEX = fromString("normalizedIndex"); + + /** + * Encodes elevation data in Mapbox Terrarium RGB format. + */ + @Generated + public static final Algorithm TERRARIUM = fromString("terrarium"); + + /** + * Encodes elevation data in Mapbox TerrainRGB format. + */ + @Generated + public static final Algorithm TERRAINRGB = fromString("terrainrgb"); + + /** + * Creates a new instance of Algorithm value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public Algorithm() { + } + + /** + * Creates or finds a Algorithm from its string representation. + * + * @param name a name to look for. + * @return the corresponding Algorithm. + */ + @Generated + public static Algorithm fromString(String name) { + return fromString(name, Algorithm.class); + } + + /** + * Gets known Algorithm values. + * + * @return known Algorithm values. + */ + @Generated + public static Collection values() { + return values(Algorithm.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Asset.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Asset.java new file mode 100644 index 000000000000..7f647d9e7493 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Asset.java @@ -0,0 +1,695 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.core.util.BinaryData; +import com.azure.core.util.CoreUtils; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.azure.planetarycomputer.implementation.JsonMergePatchHelper; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.time.format.DateTimeFormatter; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/item-spec.md#asset-object + * + * Represents a STAC asset, which is a file or resource associated with a STAC item. + */ +@Fluent +public final class Asset implements JsonSerializable { + /* + * Platform that acquired the data. + */ + @Generated + private String platform; + + /* + * Instruments that acquired the data. + */ + @Generated + private List instruments; + + /* + * Constellation of satellites that acquired the data. + */ + @Generated + private String constellation; + + /* + * Mission associated with the data. + */ + @Generated + private String mission; + + /* + * Organizations or individuals who provide the data. + */ + @Generated + private List providers; + + /* + * Ground sample distance in meters. + */ + @Generated + private Double gsd; + + /* + * Creation timestamp of the data. + */ + @Generated + private OffsetDateTime created; + + /* + * Last update timestamp of the data. + */ + @Generated + private OffsetDateTime updated; + + /* + * Human-readable title for the asset. + */ + @Generated + private String title; + + /* + * Detailed description of the asset. + */ + @Generated + private String description; + + /* + * URL to the asset file. + */ + @Generated + private String href; + + /* + * Media type of the asset. + */ + @Generated + private String type; + + /* + * Roles of the asset within the item. + */ + @Generated + private List roles; + + /* + * https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/item-spec.md#asset-object + * + * Represents a STAC asset, which is a file or resource associated with a STAC item. + */ + @Generated + private Map additionalProperties; + + /** + * Stores updated model property, the value is property name, not serialized name. + */ + @Generated + private final Set updatedProperties = new HashSet<>(); + + @Generated + private boolean jsonMergePatch; + + @Generated + private void serializeAsJsonMergePatch(boolean jsonMergePatch) { + this.jsonMergePatch = jsonMergePatch; + } + + static { + JsonMergePatchHelper.setAssetAccessor(new JsonMergePatchHelper.AssetAccessor() { + @Override + public Asset prepareModelForJsonMergePatch(Asset model, boolean jsonMergePatchEnabled) { + model.serializeAsJsonMergePatch(jsonMergePatchEnabled); + return model; + } + + @Override + public boolean isJsonMergePatch(Asset model) { + return model.jsonMergePatch; + } + }); + } + + /** + * Creates an instance of Asset class. + */ + @Generated + public Asset() { + } + + /** + * Get the platform property: Platform that acquired the data. + * + * @return the platform value. + */ + @Generated + public String getPlatform() { + return this.platform; + } + + /** + * Set the platform property: Platform that acquired the data. + * + * @param platform the platform value to set. + * @return the Asset object itself. + */ + @Generated + public Asset setPlatform(String platform) { + this.platform = platform; + this.updatedProperties.add("platform"); + return this; + } + + /** + * Get the instruments property: Instruments that acquired the data. + * + * @return the instruments value. + */ + @Generated + public List getInstruments() { + return this.instruments; + } + + /** + * Set the instruments property: Instruments that acquired the data. + * + * @param instruments the instruments value to set. + * @return the Asset object itself. + */ + @Generated + public Asset setInstruments(List instruments) { + this.instruments = instruments; + this.updatedProperties.add("instruments"); + return this; + } + + /** + * Get the constellation property: Constellation of satellites that acquired the data. + * + * @return the constellation value. + */ + @Generated + public String getConstellation() { + return this.constellation; + } + + /** + * Set the constellation property: Constellation of satellites that acquired the data. + * + * @param constellation the constellation value to set. + * @return the Asset object itself. + */ + @Generated + public Asset setConstellation(String constellation) { + this.constellation = constellation; + this.updatedProperties.add("constellation"); + return this; + } + + /** + * Get the mission property: Mission associated with the data. + * + * @return the mission value. + */ + @Generated + public String getMission() { + return this.mission; + } + + /** + * Set the mission property: Mission associated with the data. + * + * @param mission the mission value to set. + * @return the Asset object itself. + */ + @Generated + public Asset setMission(String mission) { + this.mission = mission; + this.updatedProperties.add("mission"); + return this; + } + + /** + * Get the providers property: Organizations or individuals who provide the data. + * + * @return the providers value. + */ + @Generated + public List getProviders() { + return this.providers; + } + + /** + * Set the providers property: Organizations or individuals who provide the data. + * + * @param providers the providers value to set. + * @return the Asset object itself. + */ + @Generated + public Asset setProviders(List providers) { + this.providers = providers; + this.updatedProperties.add("providers"); + return this; + } + + /** + * Get the gsd property: Ground sample distance in meters. + * + * @return the gsd value. + */ + @Generated + public Double getGsd() { + return this.gsd; + } + + /** + * Set the gsd property: Ground sample distance in meters. + * + * @param gsd the gsd value to set. + * @return the Asset object itself. + */ + @Generated + public Asset setGsd(Double gsd) { + this.gsd = gsd; + this.updatedProperties.add("gsd"); + return this; + } + + /** + * Get the created property: Creation timestamp of the data. + * + * @return the created value. + */ + @Generated + public OffsetDateTime getCreated() { + return this.created; + } + + /** + * Set the created property: Creation timestamp of the data. + * + * @param created the created value to set. + * @return the Asset object itself. + */ + @Generated + public Asset setCreated(OffsetDateTime created) { + this.created = created; + this.updatedProperties.add("created"); + return this; + } + + /** + * Get the updated property: Last update timestamp of the data. + * + * @return the updated value. + */ + @Generated + public OffsetDateTime getUpdated() { + return this.updated; + } + + /** + * Set the updated property: Last update timestamp of the data. + * + * @param updated the updated value to set. + * @return the Asset object itself. + */ + @Generated + public Asset setUpdated(OffsetDateTime updated) { + this.updated = updated; + this.updatedProperties.add("updated"); + return this; + } + + /** + * Get the title property: Human-readable title for the asset. + * + * @return the title value. + */ + @Generated + public String getTitle() { + return this.title; + } + + /** + * Set the title property: Human-readable title for the asset. + * + * @param title the title value to set. + * @return the Asset object itself. + */ + @Generated + public Asset setTitle(String title) { + this.title = title; + this.updatedProperties.add("title"); + return this; + } + + /** + * Get the description property: Detailed description of the asset. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: Detailed description of the asset. + * + * @param description the description value to set. + * @return the Asset object itself. + */ + @Generated + public Asset setDescription(String description) { + this.description = description; + this.updatedProperties.add("description"); + return this; + } + + /** + * Get the href property: URL to the asset file. + * + * @return the href value. + */ + @Generated + public String getHref() { + return this.href; + } + + /** + * Set the href property: URL to the asset file. + *

Required when create the resource.

+ * + * @param href the href value to set. + * @return the Asset object itself. + */ + @Generated + public Asset setHref(String href) { + this.href = href; + this.updatedProperties.add("href"); + return this; + } + + /** + * Get the type property: Media type of the asset. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * Set the type property: Media type of the asset. + * + * @param type the type value to set. + * @return the Asset object itself. + */ + @Generated + public Asset setType(String type) { + this.type = type; + this.updatedProperties.add("type"); + return this; + } + + /** + * Get the roles property: Roles of the asset within the item. + * + * @return the roles value. + */ + @Generated + public List getRoles() { + return this.roles; + } + + /** + * Set the roles property: Roles of the asset within the item. + * + * @param roles the roles value to set. + * @return the Asset object itself. + */ + @Generated + public Asset setRoles(List roles) { + this.roles = roles; + this.updatedProperties.add("roles"); + return this; + } + + /** + * Get the additionalProperties property: + * https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/item-spec.md#asset-object + * + * Represents a STAC asset, which is a file or resource associated with a STAC item. + * + * @return the additionalProperties value. + */ + @Generated + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + /** + * Set the additionalProperties property: + * https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/item-spec.md#asset-object + * + * Represents a STAC asset, which is a file or resource associated with a STAC item. + * + * @param additionalProperties the additionalProperties value to set. + * @return the Asset object itself. + */ + @Generated + public Asset setAdditionalProperties(Map additionalProperties) { + this.additionalProperties = additionalProperties; + this.updatedProperties.add("additionalProperties"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + if (jsonMergePatch) { + return toJsonMergePatch(jsonWriter); + } else { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("platform", this.platform); + jsonWriter.writeArrayField("instruments", this.instruments, + (writer, element) -> writer.writeString(element)); + jsonWriter.writeStringField("constellation", this.constellation); + jsonWriter.writeStringField("mission", this.mission); + jsonWriter.writeArrayField("providers", this.providers, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeNumberField("gsd", this.gsd); + jsonWriter.writeStringField("created", + this.created == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.created)); + jsonWriter.writeStringField("updated", + this.updated == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.updated)); + jsonWriter.writeStringField("title", this.title); + jsonWriter.writeStringField("description", this.description); + jsonWriter.writeStringField("href", this.href); + jsonWriter.writeStringField("type", this.type); + jsonWriter.writeArrayField("roles", this.roles, (writer, element) -> writer.writeString(element)); + if (additionalProperties != null) { + for (Map.Entry additionalProperty : additionalProperties.entrySet()) { + jsonWriter.writeFieldName(additionalProperty.getKey()); + if (additionalProperty.getValue() == null) { + jsonWriter.writeNull(); + } else { + additionalProperty.getValue().writeTo(jsonWriter); + } + } + } + return jsonWriter.writeEndObject(); + } + } + + @Generated + private JsonWriter toJsonMergePatch(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + if (updatedProperties.contains("platform")) { + if (this.platform == null) { + jsonWriter.writeNullField("platform"); + } else { + jsonWriter.writeStringField("platform", this.platform); + } + } + if (updatedProperties.contains("instruments")) { + if (this.instruments == null) { + jsonWriter.writeNullField("instruments"); + } else { + jsonWriter.writeArrayField("instruments", this.instruments, + (writer, element) -> writer.writeString(element)); + } + } + if (updatedProperties.contains("constellation")) { + if (this.constellation == null) { + jsonWriter.writeNullField("constellation"); + } else { + jsonWriter.writeStringField("constellation", this.constellation); + } + } + if (updatedProperties.contains("mission")) { + if (this.mission == null) { + jsonWriter.writeNullField("mission"); + } else { + jsonWriter.writeStringField("mission", this.mission); + } + } + if (updatedProperties.contains("providers")) { + if (this.providers == null) { + jsonWriter.writeNullField("providers"); + } else { + jsonWriter.writeArrayField("providers", this.providers, (writer, element) -> writer.writeJson(element)); + } + } + if (updatedProperties.contains("gsd")) { + if (this.gsd == null) { + jsonWriter.writeNullField("gsd"); + } else { + jsonWriter.writeNumberField("gsd", this.gsd); + } + } + if (updatedProperties.contains("created")) { + if (this.created == null) { + jsonWriter.writeNullField("created"); + } else { + jsonWriter.writeStringField("created", + this.created == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.created)); + } + } + if (updatedProperties.contains("updated")) { + if (this.updated == null) { + jsonWriter.writeNullField("updated"); + } else { + jsonWriter.writeStringField("updated", + this.updated == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.updated)); + } + } + if (updatedProperties.contains("title")) { + if (this.title == null) { + jsonWriter.writeNullField("title"); + } else { + jsonWriter.writeStringField("title", this.title); + } + } + if (updatedProperties.contains("description")) { + if (this.description == null) { + jsonWriter.writeNullField("description"); + } else { + jsonWriter.writeStringField("description", this.description); + } + } + if (updatedProperties.contains("href")) { + if (this.href == null) { + jsonWriter.writeNullField("href"); + } else { + jsonWriter.writeStringField("href", this.href); + } + } + if (updatedProperties.contains("type")) { + if (this.type == null) { + jsonWriter.writeNullField("type"); + } else { + jsonWriter.writeStringField("type", this.type); + } + } + if (updatedProperties.contains("roles")) { + if (this.roles == null) { + jsonWriter.writeNullField("roles"); + } else { + jsonWriter.writeArrayField("roles", this.roles, (writer, element) -> writer.writeString(element)); + } + } + if (additionalProperties != null) { + for (Map.Entry additionalProperty : additionalProperties.entrySet()) { + jsonWriter.writeFieldName(additionalProperty.getKey()); + if (additionalProperty.getValue() == null) { + jsonWriter.writeNull(); + } else { + additionalProperty.getValue().writeTo(jsonWriter); + } + } + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of Asset from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of Asset if the JsonReader was pointing to an instance of it, or null if it was pointing to + * JSON null. + * @throws IOException If an error occurs while reading the Asset. + */ + @Generated + public static Asset fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + Asset deserializedAsset = new Asset(); + Map additionalProperties = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("platform".equals(fieldName)) { + deserializedAsset.platform = reader.getString(); + } else if ("instruments".equals(fieldName)) { + List instruments = reader.readArray(reader1 -> reader1.getString()); + deserializedAsset.instruments = instruments; + } else if ("constellation".equals(fieldName)) { + deserializedAsset.constellation = reader.getString(); + } else if ("mission".equals(fieldName)) { + deserializedAsset.mission = reader.getString(); + } else if ("providers".equals(fieldName)) { + List providers = reader.readArray(reader1 -> Provider.fromJson(reader1)); + deserializedAsset.providers = providers; + } else if ("gsd".equals(fieldName)) { + deserializedAsset.gsd = reader.getNullable(JsonReader::getDouble); + } else if ("created".equals(fieldName)) { + deserializedAsset.created = reader + .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString())); + } else if ("updated".equals(fieldName)) { + deserializedAsset.updated = reader + .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString())); + } else if ("title".equals(fieldName)) { + deserializedAsset.title = reader.getString(); + } else if ("description".equals(fieldName)) { + deserializedAsset.description = reader.getString(); + } else if ("href".equals(fieldName)) { + deserializedAsset.href = reader.getString(); + } else if ("type".equals(fieldName)) { + deserializedAsset.type = reader.getString(); + } else if ("roles".equals(fieldName)) { + List roles = reader.readArray(reader1 -> reader1.getString()); + deserializedAsset.roles = roles; + } else { + if (additionalProperties == null) { + additionalProperties = new LinkedHashMap<>(); + } + + additionalProperties.put(fieldName, + reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()))); + } + } + deserializedAsset.additionalProperties = additionalProperties; + + return deserializedAsset; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/AssetMetadata.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/AssetMetadata.java new file mode 100644 index 000000000000..5240f63cc8f8 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/AssetMetadata.java @@ -0,0 +1,172 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Asset metadata model. + */ +@Immutable +public final class AssetMetadata implements JsonSerializable { + /* + * The key of the asset. + */ + @Generated + private final String key; + + /* + * The type of the asset. + */ + @Generated + private final String type; + + /* + * The roles of the asset. + */ + @Generated + private final List roles; + + /* + * The title of the asset. + */ + @Generated + private final String title; + + /* + * The description of the asset. + */ + @Generated + private final String description; + + /** + * Creates an instance of AssetMetadata class. + * + * @param key the key value to set. + * @param type the type value to set. + * @param roles the roles value to set. + * @param title the title value to set. + * @param description the description value to set. + */ + @Generated + public AssetMetadata(String key, String type, List roles, String title, String description) { + this.key = key; + this.type = type; + this.roles = roles; + this.title = title; + this.description = description; + } + + /** + * Get the key property: The key of the asset. + * + * @return the key value. + */ + @Generated + public String getKey() { + return this.key; + } + + /** + * Get the type property: The type of the asset. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * Get the roles property: The roles of the asset. + * + * @return the roles value. + */ + @Generated + public List getRoles() { + return this.roles; + } + + /** + * Get the title property: The title of the asset. + * + * @return the title value. + */ + @Generated + public String getTitle() { + return this.title; + } + + /** + * Get the description property: The description of the asset. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("key", this.key); + jsonWriter.writeStringField("type", this.type); + jsonWriter.writeArrayField("roles", this.roles, (writer, element) -> writer.writeString(element)); + jsonWriter.writeStringField("title", this.title); + jsonWriter.writeStringField("description", this.description); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of AssetMetadata from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of AssetMetadata if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the AssetMetadata. + */ + @Generated + public static AssetMetadata fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String key = null; + String type = null; + List roles = null; + String title = null; + String description = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("key".equals(fieldName)) { + key = reader.getString(); + } else if ("type".equals(fieldName)) { + type = reader.getString(); + } else if ("roles".equals(fieldName)) { + roles = reader.readArray(reader1 -> reader1.getString()); + } else if ("title".equals(fieldName)) { + title = reader.getString(); + } else if ("description".equals(fieldName)) { + description = reader.getString(); + } else { + reader.skipChildren(); + } + } + return new AssetMetadata(key, type, roles, title, description); + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/AssetStatisticsResponse.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/AssetStatisticsResponse.java new file mode 100644 index 000000000000..e0e5e7b9f3ba --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/AssetStatisticsResponse.java @@ -0,0 +1,85 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.Map; + +/** + * Return dataset's statistics. + */ +@Immutable +public final class AssetStatisticsResponse implements JsonSerializable { + /* + * Response Asset Statistics Api Collections Collection Id Items Item Id Asset Statistics Get + */ + @Generated + private final Map data; + + /** + * Creates an instance of AssetStatisticsResponse class. + * + * @param data the data value to set. + */ + @Generated + private AssetStatisticsResponse(Map data) { + this.data = data; + } + + /** + * Get the data property: Response Asset Statistics Api Collections Collection Id Items Item Id Asset Statistics + * Get. + * + * @return the data value. + */ + @Generated + public Map getData() { + return this.data; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeMapField("data", this.data, (writer, element) -> writer.writeJson(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of AssetStatisticsResponse from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of AssetStatisticsResponse if the JsonReader was pointing to an instance of it, or null if it + * was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the AssetStatisticsResponse. + */ + @Generated + public static AssetStatisticsResponse fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + Map data = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("data".equals(fieldName)) { + data = reader.readMap(reader1 -> BandStatistics.fromJson(reader1)); + } else { + reader.skipChildren(); + } + } + return new AssetStatisticsResponse(data); + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/AuthConfig.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/AuthConfig.java new file mode 100644 index 000000000000..ec2630f346f9 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/AuthConfig.java @@ -0,0 +1,150 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Microsoft Authentication Library (MSAL) configuration for frontend authentication. + */ +@Immutable +public final class AuthConfig implements JsonSerializable { + /* + * Application ID for authentication. + */ + @Generated + private final String authnAppId; + + /* + * Azure Active Directory tenant ID. + */ + @Generated + private final String tenantId; + + /* + * Azure AD instance URL. + */ + @Generated + private final String instance; + + /* + * Redirect URI after authentication. + */ + @Generated + private String redirectUri; + + /** + * Creates an instance of AuthConfig class. + * + * @param authnAppId the authnAppId value to set. + * @param tenantId the tenantId value to set. + * @param instance the instance value to set. + */ + @Generated + private AuthConfig(String authnAppId, String tenantId, String instance) { + this.authnAppId = authnAppId; + this.tenantId = tenantId; + this.instance = instance; + } + + /** + * Get the authnAppId property: Application ID for authentication. + * + * @return the authnAppId value. + */ + @Generated + public String getAuthnAppId() { + return this.authnAppId; + } + + /** + * Get the tenantId property: Azure Active Directory tenant ID. + * + * @return the tenantId value. + */ + @Generated + public String getTenantId() { + return this.tenantId; + } + + /** + * Get the instance property: Azure AD instance URL. + * + * @return the instance value. + */ + @Generated + public String getInstance() { + return this.instance; + } + + /** + * Get the redirectUri property: Redirect URI after authentication. + * + * @return the redirectUri value. + */ + @Generated + public String getRedirectUri() { + return this.redirectUri; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("authn_app_id", this.authnAppId); + jsonWriter.writeStringField("tenant_id", this.tenantId); + jsonWriter.writeStringField("instance", this.instance); + jsonWriter.writeStringField("redirect_uri", this.redirectUri); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of AuthConfig from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of AuthConfig if the JsonReader was pointing to an instance of it, or null if it was pointing + * to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the AuthConfig. + */ + @Generated + public static AuthConfig fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String authnAppId = null; + String tenantId = null; + String instance = null; + String redirectUri = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("authn_app_id".equals(fieldName)) { + authnAppId = reader.getString(); + } else if ("tenant_id".equals(fieldName)) { + tenantId = reader.getString(); + } else if ("instance".equals(fieldName)) { + instance = reader.getString(); + } else if ("redirect_uri".equals(fieldName)) { + redirectUri = reader.getString(); + } else { + reader.skipChildren(); + } + } + AuthConfig deserializedAuthConfig = new AuthConfig(authnAppId, tenantId, instance); + deserializedAuthConfig.redirectUri = redirectUri; + + return deserializedAuthConfig; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/AzMapsClientId.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/AzMapsClientId.java new file mode 100644 index 000000000000..03ab5bd4b819 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/AzMapsClientId.java @@ -0,0 +1,83 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Represents an Azure Maps client ID for authentication. + */ +@Immutable +public final class AzMapsClientId implements JsonSerializable { + /* + * The client ID for Azure Maps authentication. + */ + @Generated + private final String clientId; + + /** + * Creates an instance of AzMapsClientId class. + * + * @param clientId the clientId value to set. + */ + @Generated + private AzMapsClientId(String clientId) { + this.clientId = clientId; + } + + /** + * Get the clientId property: The client ID for Azure Maps authentication. + * + * @return the clientId value. + */ + @Generated + public String getClientId() { + return this.clientId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("client_id", this.clientId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of AzMapsClientId from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of AzMapsClientId if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the AzMapsClientId. + */ + @Generated + public static AzMapsClientId fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String clientId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("client_id".equals(fieldName)) { + clientId = reader.getString(); + } else { + reader.skipChildren(); + } + } + return new AzMapsClientId(clientId); + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/AzMapsToken.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/AzMapsToken.java new file mode 100644 index 000000000000..80777da3d1ed --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/AzMapsToken.java @@ -0,0 +1,105 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Represents an Azure Maps token for map visualization. + */ +@Immutable +public final class AzMapsToken implements JsonSerializable { + /* + * The authentication token for Azure Maps. + */ + @Generated + private final String token; + + /* + * Expiration timestamp of the token in Unix time. + */ + @Generated + private final int expiresOn; + + /** + * Creates an instance of AzMapsToken class. + * + * @param token the token value to set. + * @param expiresOn the expiresOn value to set. + */ + @Generated + private AzMapsToken(String token, int expiresOn) { + this.token = token; + this.expiresOn = expiresOn; + } + + /** + * Get the token property: The authentication token for Azure Maps. + * + * @return the token value. + */ + @Generated + public String getToken() { + return this.token; + } + + /** + * Get the expiresOn property: Expiration timestamp of the token in Unix time. + * + * @return the expiresOn value. + */ + @Generated + public int getExpiresOn() { + return this.expiresOn; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("token", this.token); + jsonWriter.writeIntField("expires_on", this.expiresOn); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of AzMapsToken from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of AzMapsToken if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the AzMapsToken. + */ + @Generated + public static AzMapsToken fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String token = null; + int expiresOn = 0; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("token".equals(fieldName)) { + token = reader.getString(); + } else if ("expires_on".equals(fieldName)) { + expiresOn = reader.getInt(); + } else { + reader.skipChildren(); + } + } + return new AzMapsToken(token, expiresOn); + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/BandStatistics.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/BandStatistics.java new file mode 100644 index 000000000000..687dc915bb31 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/BandStatistics.java @@ -0,0 +1,422 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Statistical information about a data band. + */ +@Immutable +public final class BandStatistics implements JsonSerializable { + /* + * Minimum value in the band. + */ + @Generated + private final double min; + + /* + * Maximum value in the band. + */ + @Generated + private final double max; + + /* + * Mean value of the band. + */ + @Generated + private final double mean; + + /* + * Count of pixels in the band. + */ + @Generated + private final double count; + + /* + * Sum of all pixel values in the band. + */ + @Generated + private final double sum; + + /* + * Standard deviation of pixel values in the band. + */ + @Generated + private final double std; + + /* + * Median value of the band. + */ + @Generated + private final double median; + + /* + * Most common value in the band. + */ + @Generated + private final double majority; + + /* + * Least common value in the band. + */ + @Generated + private final double minority; + + /* + * Count of unique values in the band. + */ + @Generated + private final double unique; + + /* + * Histogram of pixel values in the band. + */ + @Generated + private final List> histogram; + + /* + * Percentage of valid (non-masked) pixels. + */ + @Generated + private final double validPercent; + + /* + * Count of masked pixels in the band. + */ + @Generated + private final double maskedPixels; + + /* + * Count of valid (non-masked) pixels in the band. + */ + @Generated + private final double validPixels; + + /* + * Percentile 2 + * The 2nd percentile value. + */ + @Generated + private final double percentile2; + + /* + * Percentile 98 + * The 98th percentile value. + */ + @Generated + private final double percentile98; + + /** + * Creates an instance of BandStatistics class. + * + * @param min the min value to set. + * @param max the max value to set. + * @param mean the mean value to set. + * @param count the count value to set. + * @param sum the sum value to set. + * @param std the std value to set. + * @param median the median value to set. + * @param majority the majority value to set. + * @param minority the minority value to set. + * @param unique the unique value to set. + * @param histogram the histogram value to set. + * @param validPercent the validPercent value to set. + * @param maskedPixels the maskedPixels value to set. + * @param validPixels the validPixels value to set. + * @param percentile2 the percentile2 value to set. + * @param percentile98 the percentile98 value to set. + */ + @Generated + private BandStatistics(double min, double max, double mean, double count, double sum, double std, double median, + double majority, double minority, double unique, List> histogram, double validPercent, + double maskedPixels, double validPixels, double percentile2, double percentile98) { + this.min = min; + this.max = max; + this.mean = mean; + this.count = count; + this.sum = sum; + this.std = std; + this.median = median; + this.majority = majority; + this.minority = minority; + this.unique = unique; + this.histogram = histogram; + this.validPercent = validPercent; + this.maskedPixels = maskedPixels; + this.validPixels = validPixels; + this.percentile2 = percentile2; + this.percentile98 = percentile98; + } + + /** + * Get the min property: Minimum value in the band. + * + * @return the min value. + */ + @Generated + public double getMin() { + return this.min; + } + + /** + * Get the max property: Maximum value in the band. + * + * @return the max value. + */ + @Generated + public double getMax() { + return this.max; + } + + /** + * Get the mean property: Mean value of the band. + * + * @return the mean value. + */ + @Generated + public double getMean() { + return this.mean; + } + + /** + * Get the count property: Count of pixels in the band. + * + * @return the count value. + */ + @Generated + public double getCount() { + return this.count; + } + + /** + * Get the sum property: Sum of all pixel values in the band. + * + * @return the sum value. + */ + @Generated + public double getSum() { + return this.sum; + } + + /** + * Get the std property: Standard deviation of pixel values in the band. + * + * @return the std value. + */ + @Generated + public double getStd() { + return this.std; + } + + /** + * Get the median property: Median value of the band. + * + * @return the median value. + */ + @Generated + public double getMedian() { + return this.median; + } + + /** + * Get the majority property: Most common value in the band. + * + * @return the majority value. + */ + @Generated + public double getMajority() { + return this.majority; + } + + /** + * Get the minority property: Least common value in the band. + * + * @return the minority value. + */ + @Generated + public double getMinority() { + return this.minority; + } + + /** + * Get the unique property: Count of unique values in the band. + * + * @return the unique value. + */ + @Generated + public double getUnique() { + return this.unique; + } + + /** + * Get the histogram property: Histogram of pixel values in the band. + * + * @return the histogram value. + */ + @Generated + public List> getHistogram() { + return this.histogram; + } + + /** + * Get the validPercent property: Percentage of valid (non-masked) pixels. + * + * @return the validPercent value. + */ + @Generated + public double getValidPercent() { + return this.validPercent; + } + + /** + * Get the maskedPixels property: Count of masked pixels in the band. + * + * @return the maskedPixels value. + */ + @Generated + public double getMaskedPixels() { + return this.maskedPixels; + } + + /** + * Get the validPixels property: Count of valid (non-masked) pixels in the band. + * + * @return the validPixels value. + */ + @Generated + public double getValidPixels() { + return this.validPixels; + } + + /** + * Get the percentile2 property: Percentile 2 + * The 2nd percentile value. + * + * @return the percentile2 value. + */ + @Generated + public double getPercentile2() { + return this.percentile2; + } + + /** + * Get the percentile98 property: Percentile 98 + * The 98th percentile value. + * + * @return the percentile98 value. + */ + @Generated + public double getPercentile98() { + return this.percentile98; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeDoubleField("min", this.min); + jsonWriter.writeDoubleField("max", this.max); + jsonWriter.writeDoubleField("mean", this.mean); + jsonWriter.writeDoubleField("count", this.count); + jsonWriter.writeDoubleField("sum", this.sum); + jsonWriter.writeDoubleField("std", this.std); + jsonWriter.writeDoubleField("median", this.median); + jsonWriter.writeDoubleField("majority", this.majority); + jsonWriter.writeDoubleField("minority", this.minority); + jsonWriter.writeDoubleField("unique", this.unique); + jsonWriter.writeArrayField("histogram", this.histogram, + (writer, element) -> writer.writeArray(element, (writer1, element1) -> writer1.writeDouble(element1))); + jsonWriter.writeDoubleField("valid_percent", this.validPercent); + jsonWriter.writeDoubleField("masked_pixels", this.maskedPixels); + jsonWriter.writeDoubleField("valid_pixels", this.validPixels); + jsonWriter.writeDoubleField("percentile_2", this.percentile2); + jsonWriter.writeDoubleField("percentile_98", this.percentile98); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of BandStatistics from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of BandStatistics if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the BandStatistics. + */ + @Generated + public static BandStatistics fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + double min = 0.0; + double max = 0.0; + double mean = 0.0; + double count = 0.0; + double sum = 0.0; + double std = 0.0; + double median = 0.0; + double majority = 0.0; + double minority = 0.0; + double unique = 0.0; + List> histogram = null; + double validPercent = 0.0; + double maskedPixels = 0.0; + double validPixels = 0.0; + double percentile2 = 0.0; + double percentile98 = 0.0; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("min".equals(fieldName)) { + min = reader.getDouble(); + } else if ("max".equals(fieldName)) { + max = reader.getDouble(); + } else if ("mean".equals(fieldName)) { + mean = reader.getDouble(); + } else if ("count".equals(fieldName)) { + count = reader.getDouble(); + } else if ("sum".equals(fieldName)) { + sum = reader.getDouble(); + } else if ("std".equals(fieldName)) { + std = reader.getDouble(); + } else if ("median".equals(fieldName)) { + median = reader.getDouble(); + } else if ("majority".equals(fieldName)) { + majority = reader.getDouble(); + } else if ("minority".equals(fieldName)) { + minority = reader.getDouble(); + } else if ("unique".equals(fieldName)) { + unique = reader.getDouble(); + } else if ("histogram".equals(fieldName)) { + histogram = reader.readArray(reader1 -> reader1.readArray(reader2 -> reader2.getDouble())); + } else if ("valid_percent".equals(fieldName)) { + validPercent = reader.getDouble(); + } else if ("masked_pixels".equals(fieldName)) { + maskedPixels = reader.getDouble(); + } else if ("valid_pixels".equals(fieldName)) { + validPixels = reader.getDouble(); + } else if ("percentile_2".equals(fieldName)) { + percentile2 = reader.getDouble(); + } else if ("percentile_98".equals(fieldName)) { + percentile98 = reader.getDouble(); + } else { + reader.skipChildren(); + } + } + return new BandStatistics(min, max, mean, count, sum, std, median, majority, minority, unique, histogram, + validPercent, maskedPixels, validPixels, percentile2, percentile98); + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/BoundsResponse.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/BoundsResponse.java new file mode 100644 index 000000000000..faad32976909 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/BoundsResponse.java @@ -0,0 +1,84 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Geographic extent of a dataset expressed as a bounding box. + */ +@Immutable +public final class BoundsResponse implements JsonSerializable { + /* + * Array of coordinates defining the bounding box [west, south, east, north] + */ + @Generated + private final List bounds; + + /** + * Creates an instance of BoundsResponse class. + * + * @param bounds the bounds value to set. + */ + @Generated + private BoundsResponse(List bounds) { + this.bounds = bounds; + } + + /** + * Get the bounds property: Array of coordinates defining the bounding box [west, south, east, north]. + * + * @return the bounds value. + */ + @Generated + public List getBounds() { + return this.bounds; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("bounds", this.bounds, (writer, element) -> writer.writeDouble(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of BoundsResponse from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of BoundsResponse if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the BoundsResponse. + */ + @Generated + public static BoundsResponse fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + List bounds = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("bounds".equals(fieldName)) { + bounds = reader.readArray(reader1 -> reader1.getDouble()); + } else { + reader.skipChildren(); + } + } + return new BoundsResponse(bounds); + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ClassmapLegendResponse.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ClassmapLegendResponse.java new file mode 100644 index 000000000000..7bdde30e51d5 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ClassmapLegendResponse.java @@ -0,0 +1,90 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +/** + * Classmap legend response model. + */ +@Immutable +public final class ClassmapLegendResponse implements JsonSerializable { + /* + * Classmap legend response model. + */ + @Generated + private Map> additionalProperties; + + /** + * Creates an instance of ClassmapLegendResponse class. + */ + @Generated + private ClassmapLegendResponse() { + } + + /** + * Get the additionalProperties property: Classmap legend response model. + * + * @return the additionalProperties value. + */ + @Generated + public Map> getAdditionalProperties() { + return this.additionalProperties; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + if (additionalProperties != null) { + for (Map.Entry> additionalProperty : additionalProperties.entrySet()) { + jsonWriter.writeUntypedField(additionalProperty.getKey(), additionalProperty.getValue()); + } + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of ClassmapLegendResponse from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of ClassmapLegendResponse if the JsonReader was pointing to an instance of it, or null if it + * was pointing to JSON null. + * @throws IOException If an error occurs while reading the ClassmapLegendResponse. + */ + @Generated + public static ClassmapLegendResponse fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + ClassmapLegendResponse deserializedClassmapLegendResponse = new ClassmapLegendResponse(); + Map> additionalProperties = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if (additionalProperties == null) { + additionalProperties = new LinkedHashMap<>(); + } + + List additionalPropertiesArrayItem = reader.readArray(reader1 -> reader1.getLong()); + additionalProperties.put(fieldName, additionalPropertiesArrayItem); + } + deserializedClassmapLegendResponse.additionalProperties = additionalProperties; + + return deserializedClassmapLegendResponse; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ColorMapNames.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ColorMapNames.java new file mode 100644 index 000000000000..49b68fd8dadb --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ColorMapNames.java @@ -0,0 +1,1341 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Available color maps for data visualization. + */ +public final class ColorMapNames extends ExpandableStringEnum { + /** + * Accent colormap - qualitative colormap with distinct colors. + */ + @Generated + public static final ColorMapNames ACCENT = fromString("accent"); + + /** + * Reversed accent colormap. + */ + @Generated + public static final ColorMapNames ACCENT_R = fromString("accent_r"); + + /** + * Afmhot colormap - sequential black-red-yellow-white colormap. + */ + @Generated + public static final ColorMapNames AFMHOT = fromString("afmhot"); + + /** + * Reversed afmhot colormap. + */ + @Generated + public static final ColorMapNames AFMHOT_R = fromString("afmhot_r"); + + /** + * AI for Good land use/land cover colormap. + */ + @Generated + public static final ColorMapNames AI4G_LULC = fromString("ai4g-lulc"); + + /** + * ALOS forest/non-forest colormap. + */ + @Generated + public static final ColorMapNames ALOS_FNF = fromString("alos-fnf"); + + /** + * ALOS PALSAR mask colormap. + */ + @Generated + public static final ColorMapNames ALOS_PALSAR_MASK = fromString("alos-palsar-mask"); + + /** + * Autumn colormap - sequential red-orange-yellow colormap. + */ + @Generated + public static final ColorMapNames AUTUMN = fromString("autumn"); + + /** + * Reversed autumn colormap. + */ + @Generated + public static final ColorMapNames AUTUMN_R = fromString("autumn_r"); + + /** + * Binary colormap - simple black and white colormap. + */ + @Generated + public static final ColorMapNames BINARY = fromString("binary"); + + /** + * Reversed binary colormap. + */ + @Generated + public static final ColorMapNames BINARY_R = fromString("binary_r"); + + /** + * Blues colormap - sequential white to dark blue. + */ + @Generated + public static final ColorMapNames BLUES = fromString("blues"); + + /** + * Reversed blues colormap. + */ + @Generated + public static final ColorMapNames BLUES_R = fromString("blues_r"); + + /** + * Bone colormap - grayscale with slight blue tint. + */ + @Generated + public static final ColorMapNames BONE = fromString("bone"); + + /** + * Reversed bone colormap. + */ + @Generated + public static final ColorMapNames BONE_R = fromString("bone_r"); + + /** + * BrBG colormap - diverging brown to blue-green. + */ + @Generated + public static final ColorMapNames BRBG = fromString("brbg"); + + /** + * Reversed BrBG colormap. + */ + @Generated + public static final ColorMapNames BRBG_R = fromString("brbg_r"); + + /** + * BrG colormap - diverging brown to green. + */ + @Generated + public static final ColorMapNames BRG = fromString("brg"); + + /** + * Reversed BrG colormap. + */ + @Generated + public static final ColorMapNames BRG_R = fromString("brg_r"); + + /** + * BuGn colormap - sequential white to dark green. + */ + @Generated + public static final ColorMapNames BUGN = fromString("bugn"); + + /** + * Reversed BuGn colormap. + */ + @Generated + public static final ColorMapNames BUGN_R = fromString("bugn_r"); + + /** + * BuPu colormap - sequential white to dark purple. + */ + @Generated + public static final ColorMapNames BUPU = fromString("bupu"); + + /** + * Reversed BuPu colormap. + */ + @Generated + public static final ColorMapNames BUPU_R = fromString("bupu_r"); + + /** + * BWR colormap - diverging blue to red. + */ + @Generated + public static final ColorMapNames BWR = fromString("bwr"); + + /** + * Reversed BWR colormap. + */ + @Generated + public static final ColorMapNames BWR_R = fromString("bwr_r"); + + /** + * C-CAP colormap - land cover classification. + */ + @Generated + public static final ColorMapNames C_CAP = fromString("c-cap"); + + /** + * Cfastie colormap - high contrast colormap. + */ + @Generated + public static final ColorMapNames CFASTIE = fromString("cfastie"); + + /** + * Chesapeake land cover 13-class colormap. + */ + @Generated + public static final ColorMapNames CHESAPEAKE_LC_13 = fromString("chesapeake-lc-13"); + + /** + * Chesapeake land cover 7-class colormap. + */ + @Generated + public static final ColorMapNames CHESAPEAKE_LC_7 = fromString("chesapeake-lc-7"); + + /** + * Chesapeake land use colormap. + */ + @Generated + public static final ColorMapNames CHESAPEAKE_LU = fromString("chesapeake-lu"); + + /** + * Chloris biomass colormap. + */ + @Generated + public static final ColorMapNames CHLORIS_BIOMASS = fromString("chloris-biomass"); + + /** + * Cividis colormap - sequential yellow to blue. + */ + @Generated + public static final ColorMapNames CIVIDIS = fromString("cividis"); + + /** + * Reversed cividis colormap. + */ + @Generated + public static final ColorMapNames CIVIDIS_R = fromString("cividis_r"); + + /** + * CMRmap colormap - perceptually uniform colormap. + */ + @Generated + public static final ColorMapNames CMRMAP = fromString("cmrmap"); + + /** + * Reversed CMRmap colormap. + */ + @Generated + public static final ColorMapNames CMRMAP_R = fromString("cmrmap_r"); + + /** + * Cool colormap - sequential cyan to magenta. + */ + @Generated + public static final ColorMapNames COOL = fromString("cool"); + + /** + * Reversed cool colormap. + */ + @Generated + public static final ColorMapNames COOL_R = fromString("cool_r"); + + /** + * Coolwarm colormap - diverging blue to red. + */ + @Generated + public static final ColorMapNames COOLWARM = fromString("coolwarm"); + + /** + * Reversed coolwarm colormap. + */ + @Generated + public static final ColorMapNames COOLWARM_R = fromString("coolwarm_r"); + + /** + * Copper colormap - sequential black to copper. + */ + @Generated + public static final ColorMapNames COPPER = fromString("copper"); + + /** + * Reversed copper colormap. + */ + @Generated + public static final ColorMapNames COPPER_R = fromString("copper_r"); + + /** + * Cubehelix colormap - sequential black to white with hue rotation. + */ + @Generated + public static final ColorMapNames CUBEHELIX = fromString("cubehelix"); + + /** + * Reversed cubehelix colormap. + */ + @Generated + public static final ColorMapNames CUBEHELIX_R = fromString("cubehelix_r"); + + /** + * Dark2 colormap - qualitative colormap with distinct colors. + */ + @Generated + public static final ColorMapNames DARK2 = fromString("dark2"); + + /** + * Reversed dark2 colormap. + */ + @Generated + public static final ColorMapNames DARK2_R = fromString("dark2_r"); + + /** + * DRCog land use/land cover colormap. + */ + @Generated + public static final ColorMapNames DRCOG_LULC = fromString("drcog-lulc"); + + /** + * ESA CCI land cover colormap. + */ + @Generated + public static final ColorMapNames ESA_CCI_LC = fromString("esa-cci-lc"); + + /** + * ESA WorldCover colormap. + */ + @Generated + public static final ColorMapNames ESA_WORLDCOVER = fromString("esa-worldcover"); + + /** + * Flag colormap - qualitative colormap with distinct colors. + */ + @Generated + public static final ColorMapNames FLAG = fromString("flag"); + + /** + * Reversed flag colormap. + */ + @Generated + public static final ColorMapNames FLAG_R = fromString("flag_r"); + + /** + * GAP land use/land cover colormap. + */ + @Generated + public static final ColorMapNames GAP_LULC = fromString("gap-lulc"); + + /** + * Gist_earth colormap - perceptually uniform colormap. + */ + @Generated + public static final ColorMapNames GIST_EARTH = fromString("gist_earth"); + + /** + * Reversed gist_earth colormap. + */ + @Generated + public static final ColorMapNames GIST_EARTH_R = fromString("gist_earth_r"); + + /** + * Gist_gray colormap - grayscale colormap. + */ + @Generated + public static final ColorMapNames GIST_GRAY = fromString("gist_gray"); + + /** + * Reversed gist_gray colormap. + */ + @Generated + public static final ColorMapNames GIST_GRAY_R = fromString("gist_gray_r"); + + /** + * Gist_heat colormap - sequential black-red-yellow-white colormap. + */ + @Generated + public static final ColorMapNames GIST_HEAT = fromString("gist_heat"); + + /** + * Reversed gist_heat colormap. + */ + @Generated + public static final ColorMapNames GIST_HEAT_R = fromString("gist_heat_r"); + + /** + * Gist_ncar colormap - perceptually uniform colormap. + */ + @Generated + public static final ColorMapNames GIST_NCAR = fromString("gist_ncar"); + + /** + * Reversed gist_ncar colormap. + */ + @Generated + public static final ColorMapNames GIST_NCAR_R = fromString("gist_ncar_r"); + + /** + * Gist_rainbow colormap - perceptually uniform colormap. + */ + @Generated + public static final ColorMapNames GIST_RAINBOW = fromString("gist_rainbow"); + + /** + * Reversed gist_rainbow colormap. + */ + @Generated + public static final ColorMapNames GIST_RAINBOW_R = fromString("gist_rainbow_r"); + + /** + * Gist_stern colormap - perceptually uniform colormap. + */ + @Generated + public static final ColorMapNames GIST_STERN = fromString("gist_stern"); + + /** + * Reversed gist_stern colormap. + */ + @Generated + public static final ColorMapNames GIST_STERN_R = fromString("gist_stern_r"); + + /** + * Gist_yarg colormap - grayscale colormap. + */ + @Generated + public static final ColorMapNames GIST_YARG = fromString("gist_yarg"); + + /** + * Reversed gist_yarg colormap. + */ + @Generated + public static final ColorMapNames GIST_YARG_R = fromString("gist_yarg_r"); + + /** + * GnBu colormap - sequential white to dark blue-green. + */ + @Generated + public static final ColorMapNames GNBU = fromString("gnbu"); + + /** + * Reversed GnBu colormap. + */ + @Generated + public static final ColorMapNames GNBU_R = fromString("gnbu_r"); + + /** + * Gnuplot colormap - sequential black to white with hue rotation. + */ + @Generated + public static final ColorMapNames GNUPLOT = fromString("gnuplot"); + + /** + * Gnuplot2 colormap - sequential black to white with hue rotation. + */ + @Generated + public static final ColorMapNames GNUPLOT2 = fromString("gnuplot2"); + + /** + * Reversed gnuplot2 colormap. + */ + @Generated + public static final ColorMapNames GNUPLOT2_R = fromString("gnuplot2_r"); + + /** + * Reversed gnuplot colormap. + */ + @Generated + public static final ColorMapNames GNUPLOT_R = fromString("gnuplot_r"); + + /** + * Gray colormap - grayscale colormap. + */ + @Generated + public static final ColorMapNames GRAY = fromString("gray"); + + /** + * Reversed gray colormap. + */ + @Generated + public static final ColorMapNames GRAY_R = fromString("gray_r"); + + /** + * Greens colormap - sequential white to dark green. + */ + @Generated + public static final ColorMapNames GREENS = fromString("greens"); + + /** + * Reversed greens colormap. + */ + @Generated + public static final ColorMapNames GREENS_R = fromString("greens_r"); + + /** + * Greys colormap - sequential white to dark gray. + */ + @Generated + public static final ColorMapNames GREYS = fromString("greys"); + + /** + * Reversed greys colormap. + */ + @Generated + public static final ColorMapNames GREYS_R = fromString("greys_r"); + + /** + * Hot colormap - sequential black-red-yellow-white colormap. + */ + @Generated + public static final ColorMapNames HOT = fromString("hot"); + + /** + * Reversed hot colormap. + */ + @Generated + public static final ColorMapNames HOT_R = fromString("hot_r"); + + /** + * HSV colormap - hue-saturation-value colormap. + */ + @Generated + public static final ColorMapNames HSV = fromString("hsv"); + + /** + * Reversed HSV colormap. + */ + @Generated + public static final ColorMapNames HSV_R = fromString("hsv_r"); + + /** + * Inferno colormap - sequential black to yellow colormap. + */ + @Generated + public static final ColorMapNames INFERNO = fromString("inferno"); + + /** + * Reversed inferno colormap. + */ + @Generated + public static final ColorMapNames INFERNO_R = fromString("inferno_r"); + + /** + * IO-BII colormap - biodiversity index colormap. + */ + @Generated + public static final ColorMapNames IO_BII = fromString("io-bii"); + + /** + * IO-LULC colormap - land use/land cover colormap. + */ + @Generated + public static final ColorMapNames IO_LULC = fromString("io-lulc"); + + /** + * IO-LULC 9-class colormap. + */ + @Generated + public static final ColorMapNames IO_LULC_9_CLASS = fromString("io-lulc-9-class"); + + /** + * Jet colormap - sequential blue-green-yellow-red colormap. + */ + @Generated + public static final ColorMapNames JET = fromString("jet"); + + /** + * Reversed jet colormap. + */ + @Generated + public static final ColorMapNames JET_R = fromString("jet_r"); + + /** + * JRC change colormap. + */ + @Generated + public static final ColorMapNames JRC_CHANGE = fromString("jrc-change"); + + /** + * JRC extent colormap. + */ + @Generated + public static final ColorMapNames JRC_EXTENT = fromString("jrc-extent"); + + /** + * JRC occurrence colormap. + */ + @Generated + public static final ColorMapNames JRC_OCCURRENCE = fromString("jrc-occurrence"); + + /** + * JRC recurrence colormap. + */ + @Generated + public static final ColorMapNames JRC_RECURRENCE = fromString("jrc-recurrence"); + + /** + * JRC seasonality colormap. + */ + @Generated + public static final ColorMapNames JRC_SEASONALITY = fromString("jrc-seasonality"); + + /** + * JRC transitions colormap. + */ + @Generated + public static final ColorMapNames JRC_TRANSITIONS = fromString("jrc-transitions"); + + /** + * Lidar classification colormap. + */ + @Generated + public static final ColorMapNames LIDAR_CLASSIFICATION = fromString("lidar-classification"); + + /** + * Lidar height above ground colormap. + */ + @Generated + public static final ColorMapNames LIDAR_HAG = fromString("lidar-hag"); + + /** + * Alternative lidar height above ground colormap. + */ + @Generated + public static final ColorMapNames LIDAR_HAG_ALTERNATIVE = fromString("lidar-hag-alternative"); + + /** + * Lidar intensity colormap. + */ + @Generated + public static final ColorMapNames LIDAR_INTENSITY = fromString("lidar-intensity"); + + /** + * Lidar returns colormap. + */ + @Generated + public static final ColorMapNames LIDAR_RETURNS = fromString("lidar-returns"); + + /** + * Magma colormap - sequential black to yellow colormap. + */ + @Generated + public static final ColorMapNames MAGMA = fromString("magma"); + + /** + * Reversed magma colormap. + */ + @Generated + public static final ColorMapNames MAGMA_R = fromString("magma_r"); + + /** + * MODIS 10A1 colormap. + */ + @Generated + public static final ColorMapNames MODIS_10A1 = fromString("modis-10A1"); + + /** + * MODIS 10A2 colormap. + */ + @Generated + public static final ColorMapNames MODIS_10A2 = fromString("modis-10A2"); + + /** + * MODIS 13A1|Q1 colormap. + */ + @Generated + public static final ColorMapNames MODIS_13A1_Q1 = fromString("modis-13A1|Q1"); + + /** + * MODIS 14A1|A2 colormap. + */ + @Generated + public static final ColorMapNames MODIS_14A1_A2 = fromString("modis-14A1|A2"); + + /** + * MODIS 15A2H|A3H colormap. + */ + @Generated + public static final ColorMapNames MODIS_15A2H_A3H = fromString("modis-15A2H|A3H"); + + /** + * MODIS 16A3GF-ET colormap. + */ + @Generated + public static final ColorMapNames MODIS_16A3GF_ET = fromString("modis-16A3GF-ET"); + + /** + * MODIS 16A3GF-PET colormap. + */ + @Generated + public static final ColorMapNames MODIS_16A3GF_PET = fromString("modis-16A3GF-PET"); + + /** + * MODIS 17A2H|A2HGF colormap. + */ + @Generated + public static final ColorMapNames MODIS_17A2H_A2HGF = fromString("modis-17A2H|A2HGF"); + + /** + * MODIS 17A3HGF colormap. + */ + @Generated + public static final ColorMapNames MODIS_17A3HGF = fromString("modis-17A3HGF"); + + /** + * MODIS 64A1 colormap. + */ + @Generated + public static final ColorMapNames MODIS_64A1 = fromString("modis-64A1"); + + /** + * MTBS severity colormap. + */ + @Generated + public static final ColorMapNames MTBS_SEVERITY = fromString("mtbs-severity"); + + /** + * Nipy_spectral colormap - perceptually uniform colormap. + */ + @Generated + public static final ColorMapNames NIPY_SPECTRAL = fromString("nipy_spectral"); + + /** + * Reversed nipy_spectral colormap. + */ + @Generated + public static final ColorMapNames NIPY_SPECTRAL_R = fromString("nipy_spectral_r"); + + /** + * NRCAN land use/land cover colormap. + */ + @Generated + public static final ColorMapNames NRCAN_LULC = fromString("nrcan-lulc"); + + /** + * Ocean colormap - sequential blue to white colormap. + */ + @Generated + public static final ColorMapNames OCEAN = fromString("ocean"); + + /** + * Reversed ocean colormap. + */ + @Generated + public static final ColorMapNames OCEAN_R = fromString("ocean_r"); + + /** + * Oranges colormap - sequential white to dark orange. + */ + @Generated + public static final ColorMapNames ORANGES = fromString("oranges"); + + /** + * Reversed oranges colormap. + */ + @Generated + public static final ColorMapNames ORANGES_R = fromString("oranges_r"); + + /** + * OrRd colormap - sequential white to dark red-orange. + */ + @Generated + public static final ColorMapNames ORRD = fromString("orrd"); + + /** + * Reversed OrRd colormap. + */ + @Generated + public static final ColorMapNames ORRD_R = fromString("orrd_r"); + + /** + * Paired colormap - qualitative colormap with distinct colors. + */ + @Generated + public static final ColorMapNames PAIRED = fromString("paired"); + + /** + * Reversed paired colormap. + */ + @Generated + public static final ColorMapNames PAIRED_R = fromString("paired_r"); + + /** + * Pastel1 colormap - qualitative colormap with pastel colors. + */ + @Generated + public static final ColorMapNames PASTEL1 = fromString("pastel1"); + + /** + * Reversed pastel1 colormap. + */ + @Generated + public static final ColorMapNames PASTEL1_R = fromString("pastel1_r"); + + /** + * Pastel2 colormap - qualitative colormap with pastel colors. + */ + @Generated + public static final ColorMapNames PASTEL2 = fromString("pastel2"); + + /** + * Reversed pastel2 colormap. + */ + @Generated + public static final ColorMapNames PASTEL2_R = fromString("pastel2_r"); + + /** + * Pink colormap - sequential white to dark pink. + */ + @Generated + public static final ColorMapNames PINK = fromString("pink"); + + /** + * Reversed pink colormap. + */ + @Generated + public static final ColorMapNames PINK_R = fromString("pink_r"); + + /** + * PiYG colormap - diverging pink to green. + */ + @Generated + public static final ColorMapNames PIYG = fromString("piyg"); + + /** + * Reversed PiYG colormap. + */ + @Generated + public static final ColorMapNames PIYG_R = fromString("piyg_r"); + + /** + * Plasma colormap - sequential black to yellow colormap. + */ + @Generated + public static final ColorMapNames PLASMA = fromString("plasma"); + + /** + * Reversed plasma colormap. + */ + @Generated + public static final ColorMapNames PLASMA_R = fromString("plasma_r"); + + /** + * PRGn colormap - diverging purple to green. + */ + @Generated + public static final ColorMapNames PRGN = fromString("prgn"); + + /** + * Reversed PRGn colormap. + */ + @Generated + public static final ColorMapNames PRGN_R = fromString("prgn_r"); + + /** + * Prism colormap - qualitative colormap with distinct colors. + */ + @Generated + public static final ColorMapNames PRISM = fromString("prism"); + + /** + * Reversed prism colormap. + */ + @Generated + public static final ColorMapNames PRISM_R = fromString("prism_r"); + + /** + * PuBu colormap - sequential white to dark blue. + */ + @Generated + public static final ColorMapNames PUBU = fromString("pubu"); + + /** + * Reversed PuBu colormap. + */ + @Generated + public static final ColorMapNames PUBU_R = fromString("pubu_r"); + + /** + * PuBuGn colormap - sequential white to dark blue-green. + */ + @Generated + public static final ColorMapNames PUBUGN = fromString("pubugn"); + + /** + * Reversed PuBuGn colormap. + */ + @Generated + public static final ColorMapNames PUBUGN_R = fromString("pubugn_r"); + + /** + * PuOr colormap - diverging purple to orange. + */ + @Generated + public static final ColorMapNames PUOR = fromString("puor"); + + /** + * Reversed PuOr colormap. + */ + @Generated + public static final ColorMapNames PUOR_R = fromString("puor_r"); + + /** + * PuRd colormap - sequential white to dark purple-red. + */ + @Generated + public static final ColorMapNames PURD = fromString("purd"); + + /** + * Reversed PuRd colormap. + */ + @Generated + public static final ColorMapNames PURD_R = fromString("purd_r"); + + /** + * Purples colormap - sequential white to dark purple. + */ + @Generated + public static final ColorMapNames PURPLES = fromString("purples"); + + /** + * Reversed purples colormap. + */ + @Generated + public static final ColorMapNames PURPLES_R = fromString("purples_r"); + + /** + * QPE colormap - qualitative colormap with distinct colors. + */ + @Generated + public static final ColorMapNames QPE = fromString("qpe"); + + /** + * Rainbow colormap - qualitative colormap with distinct colors. + */ + @Generated + public static final ColorMapNames RAINBOW = fromString("rainbow"); + + /** + * Reversed rainbow colormap. + */ + @Generated + public static final ColorMapNames RAINBOW_R = fromString("rainbow_r"); + + /** + * RdBu colormap - diverging red to blue. + */ + @Generated + public static final ColorMapNames RDBU = fromString("rdbu"); + + /** + * Reversed RdBu colormap. + */ + @Generated + public static final ColorMapNames RDBU_R = fromString("rdbu_r"); + + /** + * RdGy colormap - diverging red to gray. + */ + @Generated + public static final ColorMapNames RDGY = fromString("rdgy"); + + /** + * Reversed RdGy colormap. + */ + @Generated + public static final ColorMapNames RDGY_R = fromString("rdgy_r"); + + /** + * RdPu colormap - sequential white to dark red-purple. + */ + @Generated + public static final ColorMapNames RDPU = fromString("rdpu"); + + /** + * Reversed RdPu colormap. + */ + @Generated + public static final ColorMapNames RDPU_R = fromString("rdpu_r"); + + /** + * RdYlBu colormap - diverging red to yellow to blue. + */ + @Generated + public static final ColorMapNames RDYLBU = fromString("rdylbu"); + + /** + * Reversed RdYlBu colormap. + */ + @Generated + public static final ColorMapNames RDYLBU_R = fromString("rdylbu_r"); + + /** + * RdYlGn colormap - diverging red to yellow to green. + */ + @Generated + public static final ColorMapNames RDYLGN = fromString("rdylgn"); + + /** + * Reversed RdYlGn colormap. + */ + @Generated + public static final ColorMapNames RDYLGN_R = fromString("rdylgn_r"); + + /** + * Reds colormap - sequential white to dark red. + */ + @Generated + public static final ColorMapNames REDS = fromString("reds"); + + /** + * Reversed reds colormap. + */ + @Generated + public static final ColorMapNames REDS_R = fromString("reds_r"); + + /** + * Rplumbo colormap - qualitative colormap with distinct colors. + */ + @Generated + public static final ColorMapNames RPLUMBO = fromString("rplumbo"); + + /** + * Schwarzwald colormap - qualitative colormap with distinct colors. + */ + @Generated + public static final ColorMapNames SCHWARZWALD = fromString("schwarzwald"); + + /** + * Seismic colormap - diverging blue to red. + */ + @Generated + public static final ColorMapNames SEISMIC = fromString("seismic"); + + /** + * Reversed seismic colormap. + */ + @Generated + public static final ColorMapNames SEISMIC_R = fromString("seismic_r"); + + /** + * Set1 colormap - qualitative colormap with distinct colors. + */ + @Generated + public static final ColorMapNames SET1 = fromString("set1"); + + /** + * Reversed set1 colormap. + */ + @Generated + public static final ColorMapNames SET1_R = fromString("set1_r"); + + /** + * Set2 colormap - qualitative colormap with distinct colors. + */ + @Generated + public static final ColorMapNames SET2 = fromString("set2"); + + /** + * Reversed set2 colormap. + */ + @Generated + public static final ColorMapNames SET2_R = fromString("set2_r"); + + /** + * Set3 colormap - qualitative colormap with distinct colors. + */ + @Generated + public static final ColorMapNames SET3 = fromString("set3"); + + /** + * Reversed set3 colormap. + */ + @Generated + public static final ColorMapNames SET3_R = fromString("set3_r"); + + /** + * Spectral colormap - diverging red to yellow to blue. + */ + @Generated + public static final ColorMapNames SPECTRAL = fromString("spectral"); + + /** + * Reversed spectral colormap. + */ + @Generated + public static final ColorMapNames SPECTRAL_R = fromString("spectral_r"); + + /** + * Spring colormap - sequential magenta to yellow. + */ + @Generated + public static final ColorMapNames SPRING = fromString("spring"); + + /** + * Reversed spring colormap. + */ + @Generated + public static final ColorMapNames SPRING_R = fromString("spring_r"); + + /** + * Summer colormap - sequential green to yellow. + */ + @Generated + public static final ColorMapNames SUMMER = fromString("summer"); + + /** + * Reversed summer colormap. + */ + @Generated + public static final ColorMapNames SUMMER_R = fromString("summer_r"); + + /** + * Tab10 colormap - qualitative colormap with distinct colors. + */ + @Generated + public static final ColorMapNames TAB10 = fromString("tab10"); + + /** + * Reversed tab10 colormap. + */ + @Generated + public static final ColorMapNames TAB10_R = fromString("tab10_r"); + + /** + * Tab20 colormap - qualitative colormap with distinct colors. + */ + @Generated + public static final ColorMapNames TAB20 = fromString("tab20"); + + /** + * Reversed tab20 colormap. + */ + @Generated + public static final ColorMapNames TAB20_R = fromString("tab20_r"); + + /** + * Tab20b colormap - qualitative colormap with distinct colors. + */ + @Generated + public static final ColorMapNames TAB20B = fromString("tab20b"); + + /** + * Reversed tab20b colormap. + */ + @Generated + public static final ColorMapNames TAB20B_R = fromString("tab20b_r"); + + /** + * Tab20c colormap - qualitative colormap with distinct colors. + */ + @Generated + public static final ColorMapNames TAB20C = fromString("tab20c"); + + /** + * Reversed tab20c colormap. + */ + @Generated + public static final ColorMapNames TAB20C_R = fromString("tab20c_r"); + + /** + * Terrain colormap - sequential black to white with hue rotation. + */ + @Generated + public static final ColorMapNames TERRAIN = fromString("terrain"); + + /** + * Reversed terrain colormap. + */ + @Generated + public static final ColorMapNames TERRAIN_R = fromString("terrain_r"); + + /** + * Twilight colormap - diverging blue to red. + */ + @Generated + public static final ColorMapNames TWILIGHT = fromString("twilight"); + + /** + * Reversed twilight colormap. + */ + @Generated + public static final ColorMapNames TWILIGHT_R = fromString("twilight_r"); + + /** + * Twilight shifted colormap - diverging blue to red. + */ + @Generated + public static final ColorMapNames TWILIGHT_SHIFTED = fromString("twilight_shifted"); + + /** + * Reversed twilight shifted colormap. + */ + @Generated + public static final ColorMapNames TWILIGHT_SHIFTED_R = fromString("twilight_shifted_r"); + + /** + * USDA CDL colormap - land cover classification. + */ + @Generated + public static final ColorMapNames USDA_CDL = fromString("usda-cdl"); + + /** + * USDA CDL corn colormap. + */ + @Generated + public static final ColorMapNames USDA_CDL_CORN = fromString("usda-cdl-corn"); + + /** + * USDA CDL cotton colormap. + */ + @Generated + public static final ColorMapNames USDA_CDL_COTTON = fromString("usda-cdl-cotton"); + + /** + * USDA CDL soybeans colormap. + */ + @Generated + public static final ColorMapNames USDA_CDL_SOYBEANS = fromString("usda-cdl-soybeans"); + + /** + * USDA CDL wheat colormap. + */ + @Generated + public static final ColorMapNames USDA_CDL_WHEAT = fromString("usda-cdl-wheat"); + + /** + * USGS LCMAP colormap. + */ + @Generated + public static final ColorMapNames USGS_LCMAP = fromString("usgs-lcmap"); + + /** + * VIIRS 10A1 colormap. + */ + @Generated + public static final ColorMapNames VIIRS_10A1 = fromString("viirs-10a1"); + + /** + * VIIRS 13A1 colormap. + */ + @Generated + public static final ColorMapNames VIIRS_13A1 = fromString("viirs-13a1"); + + /** + * VIIRS 14A1 colormap. + */ + @Generated + public static final ColorMapNames VIIRS_14A1 = fromString("viirs-14a1"); + + /** + * VIIRS 15A2H colormap. + */ + @Generated + public static final ColorMapNames VIIRS_15A2H = fromString("viirs-15a2H"); + + /** + * Viridis colormap - sequential black to yellow colormap. + */ + @Generated + public static final ColorMapNames VIRIDIS = fromString("viridis"); + + /** + * Reversed viridis colormap. + */ + @Generated + public static final ColorMapNames VIRIDIS_R = fromString("viridis_r"); + + /** + * Winter colormap - sequential blue to green. + */ + @Generated + public static final ColorMapNames WINTER = fromString("winter"); + + /** + * Reversed winter colormap. + */ + @Generated + public static final ColorMapNames WINTER_R = fromString("winter_r"); + + /** + * Wistia colormap - sequential white to yellow. + */ + @Generated + public static final ColorMapNames WISTIA = fromString("wistia"); + + /** + * Reversed wistia colormap. + */ + @Generated + public static final ColorMapNames WISTIA_R = fromString("wistia_r"); + + /** + * YlGn colormap - sequential white to dark green. + */ + @Generated + public static final ColorMapNames YLGN = fromString("ylgn"); + + /** + * Reversed YlGn colormap. + */ + @Generated + public static final ColorMapNames YLGN_R = fromString("ylgn_r"); + + /** + * YlGnBu colormap - sequential white to dark blue-green. + */ + @Generated + public static final ColorMapNames YLGNBU = fromString("ylgnbu"); + + /** + * Reversed YlGnBu colormap. + */ + @Generated + public static final ColorMapNames YLGNBU_R = fromString("ylgnbu_r"); + + /** + * YlOrBr colormap - sequential white to dark orange-brown. + */ + @Generated + public static final ColorMapNames YLORBR = fromString("ylorbr"); + + /** + * Reversed YlOrBr colormap. + */ + @Generated + public static final ColorMapNames YLORBR_R = fromString("ylorbr_r"); + + /** + * YlOrRd colormap - sequential white to dark red-orange. + */ + @Generated + public static final ColorMapNames YLORRD = fromString("ylorrd"); + + /** + * Reversed YlOrRd colormap. + */ + @Generated + public static final ColorMapNames YLORRD_R = fromString("ylorrd_r"); + + /** + * Creates a new instance of ColorMapNames value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public ColorMapNames() { + } + + /** + * Creates or finds a ColorMapNames from its string representation. + * + * @param name a name to look for. + * @return the corresponding ColorMapNames. + */ + @Generated + public static ColorMapNames fromString(String name) { + return fromString(name, ColorMapNames.class); + } + + /** + * Gets known ColorMapNames values. + * + * @return known ColorMapNames values. + */ + @Generated + public static Collection values() { + return values(ColorMapNames.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ConformanceClasses.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ConformanceClasses.java new file mode 100644 index 000000000000..1087ecc04bbf --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ConformanceClasses.java @@ -0,0 +1,86 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * https://github.com/radiantearth/stac-api-spec/blob/master/api-spec.md#ogc-api---features-endpoints + * + * Represents the OGC API conformance declaration. + */ +@Immutable +public final class ConformanceClasses implements JsonSerializable { + /* + * List of OGC API conformance classes implemented by this API. + */ + @Generated + private final List conformsTo; + + /** + * Creates an instance of ConformanceClasses class. + * + * @param conformsTo the conformsTo value to set. + */ + @Generated + private ConformanceClasses(List conformsTo) { + this.conformsTo = conformsTo; + } + + /** + * Get the conformsTo property: List of OGC API conformance classes implemented by this API. + * + * @return the conformsTo value. + */ + @Generated + public List getConformsTo() { + return this.conformsTo; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("conformsTo", this.conformsTo, (writer, element) -> writer.writeString(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of ConformanceClasses from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of ConformanceClasses if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the ConformanceClasses. + */ + @Generated + public static ConformanceClasses fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + List conformsTo = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("conformsTo".equals(fieldName)) { + conformsTo = reader.readArray(reader1 -> reader1.getString()); + } else { + reader.skipChildren(); + } + } + return new ConformanceClasses(conformsTo); + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ContextExtension.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ContextExtension.java new file mode 100644 index 000000000000..50ac98ef21d3 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ContextExtension.java @@ -0,0 +1,220 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.azure.planetarycomputer.implementation.JsonMergePatchHelper; +import java.io.IOException; +import java.util.HashSet; +import java.util.Set; + +/** + * https://github.com/radiantearth/stac-api-spec/tree/master/extensions/context#context-extension-specification + * + * Context information for a search response including pagination details. + */ +@Fluent +public final class ContextExtension implements JsonSerializable { + /* + * Number of items returned in the response. + */ + @Generated + private int returned; + + /* + * Maximum number of items requested. + */ + @Generated + private Integer limit; + + /* + * Total number of items matching the query. + */ + @Generated + private Integer matched; + + /** + * Stores updated model property, the value is property name, not serialized name. + */ + @Generated + private final Set updatedProperties = new HashSet<>(); + + @Generated + private boolean jsonMergePatch; + + @Generated + private void serializeAsJsonMergePatch(boolean jsonMergePatch) { + this.jsonMergePatch = jsonMergePatch; + } + + static { + JsonMergePatchHelper.setContextExtensionAccessor(new JsonMergePatchHelper.ContextExtensionAccessor() { + @Override + public ContextExtension prepareModelForJsonMergePatch(ContextExtension model, + boolean jsonMergePatchEnabled) { + model.serializeAsJsonMergePatch(jsonMergePatchEnabled); + return model; + } + + @Override + public boolean isJsonMergePatch(ContextExtension model) { + return model.jsonMergePatch; + } + }); + } + + /** + * Creates an instance of ContextExtension class. + */ + @Generated + public ContextExtension() { + } + + /** + * Get the returned property: Number of items returned in the response. + * + * @return the returned value. + */ + @Generated + public int getReturned() { + return this.returned; + } + + /** + * Set the returned property: Number of items returned in the response. + *

Required when create the resource.

+ * + * @param returned the returned value to set. + * @return the ContextExtension object itself. + */ + @Generated + public ContextExtension setReturned(int returned) { + this.returned = returned; + this.updatedProperties.add("returned"); + return this; + } + + /** + * Get the limit property: Maximum number of items requested. + * + * @return the limit value. + */ + @Generated + public Integer getLimit() { + return this.limit; + } + + /** + * Set the limit property: Maximum number of items requested. + * + * @param limit the limit value to set. + * @return the ContextExtension object itself. + */ + @Generated + public ContextExtension setLimit(Integer limit) { + this.limit = limit; + this.updatedProperties.add("limit"); + return this; + } + + /** + * Get the matched property: Total number of items matching the query. + * + * @return the matched value. + */ + @Generated + public Integer getMatched() { + return this.matched; + } + + /** + * Set the matched property: Total number of items matching the query. + * + * @param matched the matched value to set. + * @return the ContextExtension object itself. + */ + @Generated + public ContextExtension setMatched(Integer matched) { + this.matched = matched; + this.updatedProperties.add("matched"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + if (jsonMergePatch) { + return toJsonMergePatch(jsonWriter); + } else { + jsonWriter.writeStartObject(); + jsonWriter.writeIntField("returned", this.returned); + jsonWriter.writeNumberField("limit", this.limit); + jsonWriter.writeNumberField("matched", this.matched); + return jsonWriter.writeEndObject(); + } + } + + @Generated + private JsonWriter toJsonMergePatch(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + if (updatedProperties.contains("returned")) { + jsonWriter.writeIntField("returned", this.returned); + } + if (updatedProperties.contains("limit")) { + if (this.limit == null) { + jsonWriter.writeNullField("limit"); + } else { + jsonWriter.writeNumberField("limit", this.limit); + } + } + if (updatedProperties.contains("matched")) { + if (this.matched == null) { + jsonWriter.writeNullField("matched"); + } else { + jsonWriter.writeNumberField("matched", this.matched); + } + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of ContextExtension from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of ContextExtension if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IOException If an error occurs while reading the ContextExtension. + */ + @Generated + public static ContextExtension fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + ContextExtension deserializedContextExtension = new ContextExtension(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("returned".equals(fieldName)) { + deserializedContextExtension.returned = reader.getInt(); + } else if ("limit".equals(fieldName)) { + deserializedContextExtension.limit = reader.getNullable(JsonReader::getInt); + } else if ("matched".equals(fieldName)) { + deserializedContextExtension.matched = reader.getNullable(JsonReader::getInt); + } else { + reader.skipChildren(); + } + } + + return deserializedContextExtension; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/CqlFilter.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/CqlFilter.java new file mode 100644 index 000000000000..26ae3c417e8a --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/CqlFilter.java @@ -0,0 +1,115 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.core.util.BinaryData; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * Represent a CQL2 query + * + * https://github.com/stac-api-extensions/filter. + */ +@Fluent +public final class CqlFilter implements JsonSerializable { + /* + * Represent a CQL2 query + * + * https://github.com/stac-api-extensions/filter + */ + @Generated + private Map additionalProperties; + + /** + * Creates an instance of CqlFilter class. + */ + @Generated + public CqlFilter() { + } + + /** + * Get the additionalProperties property: Represent a CQL2 query + * + * https://github.com/stac-api-extensions/filter. + * + * @return the additionalProperties value. + */ + @Generated + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + /** + * Set the additionalProperties property: Represent a CQL2 query + * + * https://github.com/stac-api-extensions/filter. + * + * @param additionalProperties the additionalProperties value to set. + * @return the CqlFilter object itself. + */ + @Generated + public CqlFilter setAdditionalProperties(Map additionalProperties) { + this.additionalProperties = additionalProperties; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + if (additionalProperties != null) { + for (Map.Entry additionalProperty : additionalProperties.entrySet()) { + jsonWriter.writeFieldName(additionalProperty.getKey()); + if (additionalProperty.getValue() == null) { + jsonWriter.writeNull(); + } else { + additionalProperty.getValue().writeTo(jsonWriter); + } + } + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of CqlFilter from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of CqlFilter if the JsonReader was pointing to an instance of it, or null if it was pointing + * to JSON null. + * @throws IOException If an error occurs while reading the CqlFilter. + */ + @Generated + public static CqlFilter fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + CqlFilter deserializedCqlFilter = new CqlFilter(); + Map additionalProperties = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if (additionalProperties == null) { + additionalProperties = new LinkedHashMap<>(); + } + + additionalProperties.put(fieldName, + reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()))); + } + deserializedCqlFilter.additionalProperties = additionalProperties; + + return deserializedCqlFilter; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/DefaultLocation.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/DefaultLocation.java new file mode 100644 index 000000000000..98d816ca4f85 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/DefaultLocation.java @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Defines a default geographic location for map visualization. + */ +@Immutable +public final class DefaultLocation implements JsonSerializable { + /* + * Default zoom level for the map. + */ + @Generated + private final int zoom; + + /* + * Default center coordinates [latitude, longitude] for the map. + */ + @Generated + private final List coordinates; + + /** + * Creates an instance of DefaultLocation class. + * + * @param zoom the zoom value to set. + * @param coordinates the coordinates value to set. + */ + @Generated + public DefaultLocation(int zoom, List coordinates) { + this.zoom = zoom; + this.coordinates = coordinates; + } + + /** + * Get the zoom property: Default zoom level for the map. + * + * @return the zoom value. + */ + @Generated + public int getZoom() { + return this.zoom; + } + + /** + * Get the coordinates property: Default center coordinates [latitude, longitude] for the map. + * + * @return the coordinates value. + */ + @Generated + public List getCoordinates() { + return this.coordinates; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeIntField("zoom", this.zoom); + jsonWriter.writeArrayField("coordinates", this.coordinates, (writer, element) -> writer.writeDouble(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of DefaultLocation from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of DefaultLocation if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the DefaultLocation. + */ + @Generated + public static DefaultLocation fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + int zoom = 0; + List coordinates = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("zoom".equals(fieldName)) { + zoom = reader.getInt(); + } else if ("coordinates".equals(fieldName)) { + coordinates = reader.readArray(reader1 -> reader1.getDouble()); + } else { + reader.skipChildren(); + } + } + return new DefaultLocation(zoom, coordinates); + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Extent.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Extent.java new file mode 100644 index 000000000000..9968f01c4ccf --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Extent.java @@ -0,0 +1,121 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md#extent-object + * + * Represents the spatial and temporal extent of a STAC collection. + */ +@Immutable +public final class Extent implements JsonSerializable { + /* + * Spatial extent defined by bounding boxes. + * + * See the [STAC Collection + * Spec](https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md#spatial-extent- + * object). + */ + @Generated + private final SpatialExtent spatial; + + /* + * Temporal extent defined by time intervals. + * + * See the [STAC Collection + * Spec](https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md#spatial-extent- + * object). + */ + @Generated + private final TimeInterval temporal; + + /** + * Creates an instance of Extent class. + * + * @param spatial the spatial value to set. + * @param temporal the temporal value to set. + */ + @Generated + public Extent(SpatialExtent spatial, TimeInterval temporal) { + this.spatial = spatial; + this.temporal = temporal; + } + + /** + * Get the spatial property: Spatial extent defined by bounding boxes. + * + * See the [STAC Collection + * Spec](https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md#spatial-extent-object). + * + * @return the spatial value. + */ + @Generated + public SpatialExtent getSpatial() { + return this.spatial; + } + + /** + * Get the temporal property: Temporal extent defined by time intervals. + * + * See the [STAC Collection + * Spec](https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md#spatial-extent-object). + * + * @return the temporal value. + */ + @Generated + public TimeInterval getTemporal() { + return this.temporal; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("spatial", this.spatial); + jsonWriter.writeJsonField("temporal", this.temporal); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of Extent from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of Extent if the JsonReader was pointing to an instance of it, or null if it was pointing to + * JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the Extent. + */ + @Generated + public static Extent fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + SpatialExtent spatial = null; + TimeInterval temporal = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("spatial".equals(fieldName)) { + spatial = SpatialExtent.fromJson(reader); + } else if ("temporal".equals(fieldName)) { + temporal = TimeInterval.fromJson(reader); + } else { + reader.skipChildren(); + } + } + return new Extent(spatial, temporal); + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/FeatureCollections.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/FeatureCollections.java new file mode 100644 index 000000000000..1bf3a4caf723 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/FeatureCollections.java @@ -0,0 +1,108 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * http://docs.opengeospatial.org/is/17-069r3/17-069r3.html#_feature_collections_rootcollections + * + * Represents a collection of STAC collections with links. + */ +@Immutable +public final class FeatureCollections implements JsonSerializable { + /* + * Links to related resources and endpoints. + */ + @Generated + private final List links; + + /* + * Array of STAC collections available in the catalog. + */ + @Generated + private final List collections; + + /** + * Creates an instance of FeatureCollections class. + * + * @param links the links value to set. + * @param collections the collections value to set. + */ + @Generated + private FeatureCollections(List links, List collections) { + this.links = links; + this.collections = collections; + } + + /** + * Get the links property: Links to related resources and endpoints. + * + * @return the links value. + */ + @Generated + public List getLinks() { + return this.links; + } + + /** + * Get the collections property: Array of STAC collections available in the catalog. + * + * @return the collections value. + */ + @Generated + public List getCollections() { + return this.collections; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("links", this.links, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeArrayField("collections", this.collections, (writer, element) -> writer.writeJson(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of FeatureCollections from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of FeatureCollections if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the FeatureCollections. + */ + @Generated + public static FeatureCollections fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + List links = null; + List collections = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("links".equals(fieldName)) { + links = reader.readArray(reader1 -> Link.fromJson(reader1)); + } else if ("collections".equals(fieldName)) { + collections = reader.readArray(reader1 -> StacCollectionModel.fromJson(reader1)); + } else { + reader.skipChildren(); + } + } + return new FeatureCollections(links, collections); + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/FeatureType.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/FeatureType.java new file mode 100644 index 000000000000..d07624211a3b --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/FeatureType.java @@ -0,0 +1,51 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Type identifier for GeoJSON Feature objects. + */ +public final class FeatureType extends ExpandableStringEnum { + /** + * Standard GeoJSON Feature type identifier. + */ + @Generated + public static final FeatureType FEATURE = fromString("Feature"); + + /** + * Creates a new instance of FeatureType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public FeatureType() { + } + + /** + * Creates or finds a FeatureType from its string representation. + * + * @param name a name to look for. + * @return the corresponding FeatureType. + */ + @Generated + public static FeatureType fromString(String name) { + return fromString(name, FeatureType.class); + } + + /** + * Gets known FeatureType values. + * + * @return known FeatureType values. + */ + @Generated + public static Collection values() { + return values(FeatureType.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/FileDetails.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/FileDetails.java new file mode 100644 index 000000000000..07ae9d6514d2 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/FileDetails.java @@ -0,0 +1,97 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.core.util.BinaryData; + +/** + * The file details for the "file" field. + */ +@Fluent +public final class FileDetails { + /* + * The content of the file. + */ + @Generated + private final BinaryData content; + + /* + * The filename of the file. + */ + @Generated + private String filename; + + /* + * The content-type of the file. + */ + @Generated + private String contentType = "application/octet-stream"; + + /** + * Creates an instance of FileDetails class. + * + * @param content the content value to set. + */ + @Generated + public FileDetails(BinaryData content) { + this.content = content; + } + + /** + * Get the content property: The content of the file. + * + * @return the content value. + */ + @Generated + public BinaryData getContent() { + return this.content; + } + + /** + * Get the filename property: The filename of the file. + * + * @return the filename value. + */ + @Generated + public String getFilename() { + return this.filename; + } + + /** + * Set the filename property: The filename of the file. + * + * @param filename the filename value to set. + * @return the FileDetails object itself. + */ + @Generated + public FileDetails setFilename(String filename) { + this.filename = filename; + return this; + } + + /** + * Get the contentType property: The content-type of the file. + * + * @return the contentType value. + */ + @Generated + public String getContentType() { + return this.contentType; + } + + /** + * Set the contentType property: The content-type of the file. + * + * @param contentType the contentType value to set. + * @return the FileDetails object itself. + */ + @Generated + public FileDetails setContentType(String contentType) { + this.contentType = contentType; + return this; + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/FilterLang.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/FilterLang.java new file mode 100644 index 000000000000..bd3c71f888e1 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/FilterLang.java @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Choices for filter-lang value in a POST request. + * + * Based on + * https://github.com/stac-api-extensions/filter#queryables + * + * Note the addition of cql2-json, which is used by the pgstac backend, + * but is not included in the spec above. + * + * Defines the supported filter languages for STAC API queries. + */ +public final class FilterLang extends ExpandableStringEnum { + /** + * Common Query Language in JSON format. + */ + @Generated + public static final FilterLang CQL_JSON = fromString("cql-json"); + + /** + * Common Query Language 2 in JSON format. + */ + @Generated + public static final FilterLang CQL2_JSON = fromString("cql2-json"); + + /** + * Common Query Language 2 in text format. + */ + @Generated + public static final FilterLang CQL2_TEXT = fromString("cql2-text"); + + /** + * Creates a new instance of FilterLang value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public FilterLang() { + } + + /** + * Creates or finds a FilterLang from its string representation. + * + * @param name a name to look for. + * @return the corresponding FilterLang. + */ + @Generated + public static FilterLang fromString(String name) { + return fromString(name, FilterLang.class); + } + + /** + * Gets known FilterLang values. + * + * @return known FilterLang values. + */ + @Generated + public static Collection values() { + return values(FilterLang.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/FormContent.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/FormContent.java new file mode 100644 index 000000000000..e197c083ebf6 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/FormContent.java @@ -0,0 +1,58 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; + +/** + * FormContent model for file upload. + */ +@Immutable +public final class FormContent { + /* + * Asset metadata + */ + @Generated + private final AssetMetadata data; + + /* + * Binary file content to be uploaded. + */ + @Generated + private final FileDetails file; + + /** + * Creates an instance of FormContent class. + * + * @param data the data value to set. + * @param file the file value to set. + */ + @Generated + public FormContent(AssetMetadata data, FileDetails file) { + this.data = data; + this.file = file; + } + + /** + * Get the data property: Asset metadata. + * + * @return the data value. + */ + @Generated + public AssetMetadata getData() { + return this.data; + } + + /** + * Get the file property: Binary file content to be uploaded. + * + * @return the file value. + */ + @Generated + public FileDetails getFile() { + return this.file; + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/GeoJsonStatisticsItemCollectionResponse.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/GeoJsonStatisticsItemCollectionResponse.java new file mode 100644 index 000000000000..dc51eda7848c --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/GeoJsonStatisticsItemCollectionResponse.java @@ -0,0 +1,288 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.mdCollection of STAC items with + * statistical information. + */ +@Immutable +public final class GeoJsonStatisticsItemCollectionResponse + implements JsonSerializable { + /* + * GeoJSON type identifier for ItemCollection + */ + @Generated + private final ItemCollectionType type; + + /* + * Array of STAC items with statistics + */ + @Generated + private final List features; + + /* + * Bounding box coordinates [west, south, east, north] + */ + @Generated + private List bbox; + + /* + * Stac Version + */ + @Generated + private String stacVersion; + + /* + * MSFT Created + */ + @Generated + private String msftCreated; + + /* + * MSFT Updated + */ + @Generated + private String msftUpdated; + + /* + * MSFT Short Description + */ + @Generated + private String msftShortDescription; + + /* + * List of STAC extension URLs used by this item collection + */ + @Generated + private List stacExtensions; + + /* + * Related links for the item collection + */ + @Generated + private List links; + + /* + * Pagination context for the response + * + * See the [STAC Context + * Extension](https://github.com/radiantearth/stac-api-spec/tree/master/extensions/context#context-extension- + * specification) + */ + @Generated + private ContextExtension context; + + /** + * Creates an instance of GeoJsonStatisticsItemCollectionResponse class. + * + * @param type the type value to set. + * @param features the features value to set. + */ + @Generated + private GeoJsonStatisticsItemCollectionResponse(ItemCollectionType type, + List features) { + this.type = type; + this.features = features; + } + + /** + * Get the type property: GeoJSON type identifier for ItemCollection. + * + * @return the type value. + */ + @Generated + public ItemCollectionType getType() { + return this.type; + } + + /** + * Get the features property: Array of STAC items with statistics. + * + * @return the features value. + */ + @Generated + public List getFeatures() { + return this.features; + } + + /** + * Get the bbox property: Bounding box coordinates [west, south, east, north]. + * + * @return the bbox value. + */ + @Generated + public List getBbox() { + return this.bbox; + } + + /** + * Get the stacVersion property: Stac Version. + * + * @return the stacVersion value. + */ + @Generated + public String getStacVersion() { + return this.stacVersion; + } + + /** + * Get the msftCreated property: MSFT Created. + * + * @return the msftCreated value. + */ + @Generated + public String getMsftCreated() { + return this.msftCreated; + } + + /** + * Get the msftUpdated property: MSFT Updated. + * + * @return the msftUpdated value. + */ + @Generated + public String getMsftUpdated() { + return this.msftUpdated; + } + + /** + * Get the msftShortDescription property: MSFT Short Description. + * + * @return the msftShortDescription value. + */ + @Generated + public String getMsftShortDescription() { + return this.msftShortDescription; + } + + /** + * Get the stacExtensions property: List of STAC extension URLs used by this item collection. + * + * @return the stacExtensions value. + */ + @Generated + public List getStacExtensions() { + return this.stacExtensions; + } + + /** + * Get the links property: Related links for the item collection. + * + * @return the links value. + */ + @Generated + public List getLinks() { + return this.links; + } + + /** + * Get the context property: Pagination context for the response + * + * See the [STAC Context + * Extension](https://github.com/radiantearth/stac-api-spec/tree/master/extensions/context#context-extension-specification). + * + * @return the context value. + */ + @Generated + public ContextExtension getContext() { + return this.context; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeArrayField("features", this.features, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeArrayField("bbox", this.bbox, (writer, element) -> writer.writeDouble(element)); + jsonWriter.writeStringField("stac_version", this.stacVersion); + jsonWriter.writeStringField("msft:_created", this.msftCreated); + jsonWriter.writeStringField("msft:_updated", this.msftUpdated); + jsonWriter.writeStringField("msft:short_description", this.msftShortDescription); + jsonWriter.writeArrayField("stac_extensions", this.stacExtensions, + (writer, element) -> writer.writeString(element)); + jsonWriter.writeArrayField("links", this.links, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeJsonField("context", this.context); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of GeoJsonStatisticsItemCollectionResponse from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of GeoJsonStatisticsItemCollectionResponse if the JsonReader was pointing to an instance of + * it, or null if it was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the GeoJsonStatisticsItemCollectionResponse. + */ + @Generated + public static GeoJsonStatisticsItemCollectionResponse fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + ItemCollectionType type = null; + List features = null; + List bbox = null; + String stacVersion = null; + String msftCreated = null; + String msftUpdated = null; + String msftShortDescription = null; + List stacExtensions = null; + List links = null; + ContextExtension context = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("type".equals(fieldName)) { + type = ItemCollectionType.fromString(reader.getString()); + } else if ("features".equals(fieldName)) { + features = reader.readArray(reader1 -> GeoJsonStatisticsItemResponse.fromJson(reader1)); + } else if ("bbox".equals(fieldName)) { + bbox = reader.readArray(reader1 -> reader1.getDouble()); + } else if ("stac_version".equals(fieldName)) { + stacVersion = reader.getString(); + } else if ("msft:_created".equals(fieldName)) { + msftCreated = reader.getString(); + } else if ("msft:_updated".equals(fieldName)) { + msftUpdated = reader.getString(); + } else if ("msft:short_description".equals(fieldName)) { + msftShortDescription = reader.getString(); + } else if ("stac_extensions".equals(fieldName)) { + stacExtensions = reader.readArray(reader1 -> reader1.getString()); + } else if ("links".equals(fieldName)) { + links = reader.readArray(reader1 -> Link.fromJson(reader1)); + } else if ("context".equals(fieldName)) { + context = ContextExtension.fromJson(reader); + } else { + reader.skipChildren(); + } + } + GeoJsonStatisticsItemCollectionResponse deserializedGeoJsonStatisticsItemCollectionResponse + = new GeoJsonStatisticsItemCollectionResponse(type, features); + deserializedGeoJsonStatisticsItemCollectionResponse.bbox = bbox; + deserializedGeoJsonStatisticsItemCollectionResponse.stacVersion = stacVersion; + deserializedGeoJsonStatisticsItemCollectionResponse.msftCreated = msftCreated; + deserializedGeoJsonStatisticsItemCollectionResponse.msftUpdated = msftUpdated; + deserializedGeoJsonStatisticsItemCollectionResponse.msftShortDescription = msftShortDescription; + deserializedGeoJsonStatisticsItemCollectionResponse.stacExtensions = stacExtensions; + deserializedGeoJsonStatisticsItemCollectionResponse.links = links; + deserializedGeoJsonStatisticsItemCollectionResponse.context = context; + + return deserializedGeoJsonStatisticsItemCollectionResponse; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/GeoJsonStatisticsItemResponse.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/GeoJsonStatisticsItemResponse.java new file mode 100644 index 000000000000..af993e433525 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/GeoJsonStatisticsItemResponse.java @@ -0,0 +1,345 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * STAC Item representing a spatiotemporal asset with statistical information. + */ +@Immutable +public final class GeoJsonStatisticsItemResponse implements JsonSerializable { + /* + * Geometry object defining the feature's shape + */ + @Generated + private final Geometry geometry; + + /* + * Bounding box coordinates for the feature + */ + @Generated + private final List bbox; + + /* + * Unique identifier for the feature + */ + @Generated + private final String id; + + /* + * GeoJSON type identifier for Feature + */ + @Generated + private final FeatureType type; + + /* + * MSFT Created + */ + @Generated + private String msftCreated; + + /* + * MSFT Updated + */ + @Generated + private String msftUpdated; + + /* + * MSFT Short Description + */ + @Generated + private String msftShortDescription; + + /* + * Stac Version + */ + @Generated + private String stacVersion; + + /* + * ID of the STAC collection this item belongs to + */ + @Generated + private String collection; + + /* + * Properties + */ + @Generated + private final ItemProperties properties; + + /* + * MSFT Timestamp + */ + @Generated + private String msftTimestamp; + + /* + * MSFT ETag + */ + @Generated + private String msftEtag; + + /* + * List of STAC extension URLs used by this item + */ + @Generated + private List stacExtensions; + + /** + * Creates an instance of GeoJsonStatisticsItemResponse class. + * + * @param geometry the geometry value to set. + * @param bbox the bbox value to set. + * @param id the id value to set. + * @param type the type value to set. + * @param properties the properties value to set. + */ + @Generated + private GeoJsonStatisticsItemResponse(Geometry geometry, List bbox, String id, FeatureType type, + ItemProperties properties) { + this.geometry = geometry; + this.bbox = bbox; + this.id = id; + this.type = type; + this.properties = properties; + } + + /** + * Get the geometry property: Geometry object defining the feature's shape. + * + * @return the geometry value. + */ + @Generated + public Geometry getGeometry() { + return this.geometry; + } + + /** + * Get the bbox property: Bounding box coordinates for the feature. + * + * @return the bbox value. + */ + @Generated + public List getBbox() { + return this.bbox; + } + + /** + * Get the id property: Unique identifier for the feature. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the type property: GeoJSON type identifier for Feature. + * + * @return the type value. + */ + @Generated + public FeatureType getType() { + return this.type; + } + + /** + * Get the msftCreated property: MSFT Created. + * + * @return the msftCreated value. + */ + @Generated + public String getMsftCreated() { + return this.msftCreated; + } + + /** + * Get the msftUpdated property: MSFT Updated. + * + * @return the msftUpdated value. + */ + @Generated + public String getMsftUpdated() { + return this.msftUpdated; + } + + /** + * Get the msftShortDescription property: MSFT Short Description. + * + * @return the msftShortDescription value. + */ + @Generated + public String getMsftShortDescription() { + return this.msftShortDescription; + } + + /** + * Get the stacVersion property: Stac Version. + * + * @return the stacVersion value. + */ + @Generated + public String getStacVersion() { + return this.stacVersion; + } + + /** + * Get the collection property: ID of the STAC collection this item belongs to. + * + * @return the collection value. + */ + @Generated + public String getCollection() { + return this.collection; + } + + /** + * Get the properties property: Properties. + * + * @return the properties value. + */ + @Generated + public ItemProperties getProperties() { + return this.properties; + } + + /** + * Get the msftTimestamp property: MSFT Timestamp. + * + * @return the msftTimestamp value. + */ + @Generated + public String getMsftTimestamp() { + return this.msftTimestamp; + } + + /** + * Get the msftEtag property: MSFT ETag. + * + * @return the msftEtag value. + */ + @Generated + public String getMsftEtag() { + return this.msftEtag; + } + + /** + * Get the stacExtensions property: List of STAC extension URLs used by this item. + * + * @return the stacExtensions value. + */ + @Generated + public List getStacExtensions() { + return this.stacExtensions; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("geometry", this.geometry); + jsonWriter.writeArrayField("bbox", this.bbox, (writer, element) -> writer.writeDouble(element)); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeJsonField("properties", this.properties); + jsonWriter.writeStringField("msft:_created", this.msftCreated); + jsonWriter.writeStringField("msft:_updated", this.msftUpdated); + jsonWriter.writeStringField("msft:short_description", this.msftShortDescription); + jsonWriter.writeStringField("stac_version", this.stacVersion); + jsonWriter.writeStringField("collection", this.collection); + jsonWriter.writeStringField("_msft:ts", this.msftTimestamp); + jsonWriter.writeStringField("_msft:etag", this.msftEtag); + jsonWriter.writeArrayField("stac_extensions", this.stacExtensions, + (writer, element) -> writer.writeString(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of GeoJsonStatisticsItemResponse from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of GeoJsonStatisticsItemResponse if the JsonReader was pointing to an instance of it, or null + * if it was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the GeoJsonStatisticsItemResponse. + */ + @Generated + public static GeoJsonStatisticsItemResponse fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + Geometry geometry = null; + List bbox = null; + String id = null; + FeatureType type = null; + ItemProperties properties = null; + String msftCreated = null; + String msftUpdated = null; + String msftShortDescription = null; + String stacVersion = null; + String collection = null; + String msftTimestamp = null; + String msftEtag = null; + List stacExtensions = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("geometry".equals(fieldName)) { + geometry = Geometry.fromJson(reader); + } else if ("bbox".equals(fieldName)) { + bbox = reader.readArray(reader1 -> reader1.getDouble()); + } else if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("type".equals(fieldName)) { + type = FeatureType.fromString(reader.getString()); + } else if ("properties".equals(fieldName)) { + properties = ItemProperties.fromJson(reader); + } else if ("msft:_created".equals(fieldName)) { + msftCreated = reader.getString(); + } else if ("msft:_updated".equals(fieldName)) { + msftUpdated = reader.getString(); + } else if ("msft:short_description".equals(fieldName)) { + msftShortDescription = reader.getString(); + } else if ("stac_version".equals(fieldName)) { + stacVersion = reader.getString(); + } else if ("collection".equals(fieldName)) { + collection = reader.getString(); + } else if ("_msft:ts".equals(fieldName)) { + msftTimestamp = reader.getString(); + } else if ("_msft:etag".equals(fieldName)) { + msftEtag = reader.getString(); + } else if ("stac_extensions".equals(fieldName)) { + stacExtensions = reader.readArray(reader1 -> reader1.getString()); + } else { + reader.skipChildren(); + } + } + GeoJsonStatisticsItemResponse deserializedGeoJsonStatisticsItemResponse + = new GeoJsonStatisticsItemResponse(geometry, bbox, id, type, properties); + deserializedGeoJsonStatisticsItemResponse.msftCreated = msftCreated; + deserializedGeoJsonStatisticsItemResponse.msftUpdated = msftUpdated; + deserializedGeoJsonStatisticsItemResponse.msftShortDescription = msftShortDescription; + deserializedGeoJsonStatisticsItemResponse.stacVersion = stacVersion; + deserializedGeoJsonStatisticsItemResponse.collection = collection; + deserializedGeoJsonStatisticsItemResponse.msftTimestamp = msftTimestamp; + deserializedGeoJsonStatisticsItemResponse.msftEtag = msftEtag; + deserializedGeoJsonStatisticsItemResponse.stacExtensions = stacExtensions; + + return deserializedGeoJsonStatisticsItemResponse; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Geometry.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Geometry.java new file mode 100644 index 000000000000..f886688a3dcb --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Geometry.java @@ -0,0 +1,215 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.azure.planetarycomputer.implementation.JsonMergePatchHelper; +import java.io.IOException; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** + * Represents a GeoJSON geometry object as defined by RFC 7946. + * + * Supported geometry types include: + * - **Point**: A single geographic coordinate. + * - **LineString**: A sequence of geographic coordinates forming a line. + * - **Polygon**: A closed shape defined by linear rings. + * - **MultiPoint**: A collection of Points. + * - **MultiLineString**: A collection of LineStrings. + * - **MultiPolygon**: A collection of Polygons. + * + * Used for spatial filtering in STAC. + */ +@Fluent +public class Geometry implements JsonSerializable { + /* + * Discriminator property for Geometry. + */ + @Generated + private GeometryType type = GeometryType.fromString("Geometry"); + + /* + * Optional bounding box of the geometry. + */ + @Generated + private List bbox; + + /** + * Stores updated model property, the value is property name, not serialized name. + */ + @Generated + private final Set updatedProperties = new HashSet<>(); + + @Generated + private boolean jsonMergePatch; + + @Generated + private void serializeAsJsonMergePatch(boolean jsonMergePatch) { + this.jsonMergePatch = jsonMergePatch; + } + + static { + JsonMergePatchHelper.setGeometryAccessor(new JsonMergePatchHelper.GeometryAccessor() { + @Override + public Geometry prepareModelForJsonMergePatch(Geometry model, boolean jsonMergePatchEnabled) { + model.serializeAsJsonMergePatch(jsonMergePatchEnabled); + return model; + } + + @Override + public boolean isJsonMergePatch(Geometry model) { + return model.jsonMergePatch; + } + + @Override + public void setBbox(Geometry model, List bbox) { + model.bbox = bbox; + } + }); + } + + /** + * Creates an instance of Geometry class. + */ + @Generated + public Geometry() { + } + + /** + * Get the type property: Discriminator property for Geometry. + * + * @return the type value. + */ + @Generated + public GeometryType getType() { + return this.type; + } + + /** + * Get the bbox property: Optional bounding box of the geometry. + * + * @return the bbox value. + */ + @Generated + public List getBbox() { + return this.bbox; + } + + /** + * Set the bbox property: Optional bounding box of the geometry. + * + * @param bbox the bbox value to set. + * @return the Geometry object itself. + */ + @Generated + public Geometry setBbox(List bbox) { + this.bbox = bbox; + this.updatedProperties.add("bbox"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + if (jsonMergePatch) { + return toJsonMergePatch(jsonWriter); + } else { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeArrayField("bbox", this.bbox, (writer, element) -> writer.writeDouble(element)); + return jsonWriter.writeEndObject(); + } + } + + @Generated + private JsonWriter toJsonMergePatch(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type.toString()); + if (updatedProperties.contains("bbox")) { + if (this.bbox == null) { + jsonWriter.writeNullField("bbox"); + } else { + jsonWriter.writeArrayField("bbox", this.bbox, (writer, element) -> writer.writeDouble(element)); + } + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of Geometry from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of Geometry if the JsonReader was pointing to an instance of it, or null if it was pointing + * to JSON null. + * @throws IOException If an error occurs while reading the Geometry. + */ + @Generated + public static Geometry fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + readerToUse.nextToken(); // Prepare for reading + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("type".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("Point".equals(discriminatorValue)) { + return Point.fromJson(readerToUse.reset()); + } else if ("Polygon".equals(discriminatorValue)) { + return Polygon.fromJson(readerToUse.reset()); + } else if ("MultiPolygon".equals(discriminatorValue)) { + return MultiPolygon.fromJson(readerToUse.reset()); + } else if ("MultiLineString".equals(discriminatorValue)) { + return MultiLineString.fromJson(readerToUse.reset()); + } else if ("LineString".equals(discriminatorValue)) { + return LineString.fromJson(readerToUse.reset()); + } else if ("MultiPoint".equals(discriminatorValue)) { + return MultiPoint.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static Geometry fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + Geometry deserializedGeometry = new Geometry(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("type".equals(fieldName)) { + deserializedGeometry.type = GeometryType.fromString(reader.getString()); + } else if ("bbox".equals(fieldName)) { + List bbox = reader.readArray(reader1 -> reader1.getDouble()); + deserializedGeometry.bbox = bbox; + } else { + reader.skipChildren(); + } + } + + return deserializedGeometry; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/GeometryType.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/GeometryType.java new file mode 100644 index 000000000000..ed08e1743b16 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/GeometryType.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Represents the type of a GeoJSON geometry. + */ +public final class GeometryType extends ExpandableStringEnum { + /** + * Represents a Point geometry. + */ + @Generated + public static final GeometryType POINT = fromString("Point"); + + /** + * Represents a LineString geometry. + */ + @Generated + public static final GeometryType LINE_STRING = fromString("LineString"); + + /** + * Represents a Polygon geometry. + */ + @Generated + public static final GeometryType POLYGON = fromString("Polygon"); + + /** + * Represents a MultiPoint geometry. + */ + @Generated + public static final GeometryType MULTI_POINT = fromString("MultiPoint"); + + /** + * Represents a MultiLineString geometry. + */ + @Generated + public static final GeometryType MULTI_LINE_STRING = fromString("MultiLineString"); + + /** + * Represents a MultiPolygon geometry. + */ + @Generated + public static final GeometryType MULTI_POLYGON = fromString("MultiPolygon"); + + /** + * Creates a new instance of GeometryType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public GeometryType() { + } + + /** + * Creates or finds a GeometryType from its string representation. + * + * @param name a name to look for. + * @return the corresponding GeometryType. + */ + @Generated + public static GeometryType fromString(String name) { + return fromString(name, GeometryType.class); + } + + /** + * Gets known GeometryType values. + * + * @return known GeometryType values. + */ + @Generated + public static Collection values() { + return values(GeometryType.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ImageRequest.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ImageRequest.java new file mode 100644 index 000000000000..e8f3071fea51 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ImageRequest.java @@ -0,0 +1,283 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Parameters for requesting a rendered image from a collection. + */ +@Fluent +public final class ImageRequest implements JsonSerializable { + /* + * Cql + */ + @Generated + private final CqlFilter cql; + + /* + * Geometry + */ + @Generated + private Geometry geometry; + + /* + * JSON-encoded visualization parameters + */ + @Generated + private final String renderParams; + + /* + * Width of the output image in pixels + */ + @Generated + private final int cols; + + /* + * Height of the output image in pixels + */ + @Generated + private final int rows; + + /* + * Output format for the generated image + */ + @Generated + private ImageRequestFormat format; + + /* + * Whether to include branding on the output image + */ + @Generated + private Boolean showBranding; + + /* + * Whether to apply masking to invalid or no-data areas + */ + @Generated + private Boolean mask; + + /** + * Creates an instance of ImageRequest class. + * + * @param cql the cql value to set. + * @param renderParams the renderParams value to set. + * @param cols the cols value to set. + * @param rows the rows value to set. + */ + @Generated + public ImageRequest(CqlFilter cql, String renderParams, int cols, int rows) { + this.cql = cql; + this.renderParams = renderParams; + this.cols = cols; + this.rows = rows; + } + + /** + * Get the cql property: Cql. + * + * @return the cql value. + */ + @Generated + public CqlFilter getCql() { + return this.cql; + } + + /** + * Get the geometry property: Geometry. + * + * @return the geometry value. + */ + @Generated + public Geometry getGeometry() { + return this.geometry; + } + + /** + * Set the geometry property: Geometry. + * + * @param geometry the geometry value to set. + * @return the ImageRequest object itself. + */ + @Generated + public ImageRequest setGeometry(Geometry geometry) { + this.geometry = geometry; + return this; + } + + /** + * Get the renderParams property: JSON-encoded visualization parameters. + * + * @return the renderParams value. + */ + @Generated + public String getRenderParams() { + return this.renderParams; + } + + /** + * Get the cols property: Width of the output image in pixels. + * + * @return the cols value. + */ + @Generated + public int getCols() { + return this.cols; + } + + /** + * Get the rows property: Height of the output image in pixels. + * + * @return the rows value. + */ + @Generated + public int getRows() { + return this.rows; + } + + /** + * Get the format property: Output format for the generated image. + * + * @return the format value. + */ + @Generated + public ImageRequestFormat getFormat() { + return this.format; + } + + /** + * Set the format property: Output format for the generated image. + * + * @param format the format value to set. + * @return the ImageRequest object itself. + */ + @Generated + public ImageRequest setFormat(ImageRequestFormat format) { + this.format = format; + return this; + } + + /** + * Get the showBranding property: Whether to include branding on the output image. + * + * @return the showBranding value. + */ + @Generated + public Boolean isShowBranding() { + return this.showBranding; + } + + /** + * Set the showBranding property: Whether to include branding on the output image. + * + * @param showBranding the showBranding value to set. + * @return the ImageRequest object itself. + */ + @Generated + public ImageRequest setShowBranding(Boolean showBranding) { + this.showBranding = showBranding; + return this; + } + + /** + * Get the mask property: Whether to apply masking to invalid or no-data areas. + * + * @return the mask value. + */ + @Generated + public Boolean isMask() { + return this.mask; + } + + /** + * Set the mask property: Whether to apply masking to invalid or no-data areas. + * + * @param mask the mask value to set. + * @return the ImageRequest object itself. + */ + @Generated + public ImageRequest setMask(Boolean mask) { + this.mask = mask; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("cql", this.cql); + jsonWriter.writeStringField("render_params", this.renderParams); + jsonWriter.writeIntField("cols", this.cols); + jsonWriter.writeIntField("rows", this.rows); + jsonWriter.writeJsonField("geometry", this.geometry); + jsonWriter.writeStringField("format", this.format == null ? null : this.format.toString()); + jsonWriter.writeBooleanField("showBranding", this.showBranding); + jsonWriter.writeBooleanField("mask", this.mask); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of ImageRequest from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of ImageRequest if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the ImageRequest. + */ + @Generated + public static ImageRequest fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + CqlFilter cql = null; + String renderParams = null; + int cols = 0; + int rows = 0; + Geometry geometry = null; + ImageRequestFormat format = null; + Boolean showBranding = null; + Boolean mask = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("cql".equals(fieldName)) { + cql = CqlFilter.fromJson(reader); + } else if ("render_params".equals(fieldName)) { + renderParams = reader.getString(); + } else if ("cols".equals(fieldName)) { + cols = reader.getInt(); + } else if ("rows".equals(fieldName)) { + rows = reader.getInt(); + } else if ("geometry".equals(fieldName)) { + geometry = Geometry.fromJson(reader); + } else if ("format".equals(fieldName)) { + format = ImageRequestFormat.fromString(reader.getString()); + } else if ("showBranding".equals(fieldName)) { + showBranding = reader.getNullable(JsonReader::getBoolean); + } else if ("mask".equals(fieldName)) { + mask = reader.getNullable(JsonReader::getBoolean); + } else { + reader.skipChildren(); + } + } + ImageRequest deserializedImageRequest = new ImageRequest(cql, renderParams, cols, rows); + deserializedImageRequest.geometry = geometry; + deserializedImageRequest.format = format; + deserializedImageRequest.showBranding = showBranding; + deserializedImageRequest.mask = mask; + + return deserializedImageRequest; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ImageRequestFormat.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ImageRequestFormat.java new file mode 100644 index 000000000000..dc49bb4a2afd --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ImageRequestFormat.java @@ -0,0 +1,57 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Format specification for image request outputs. + */ +public final class ImageRequestFormat extends ExpandableStringEnum { + /** + * Portable Network Graphics format. + */ + @Generated + public static final ImageRequestFormat PNG = fromString("png"); + + /** + * Cloud Optimized GeoTIFF format. + */ + @Generated + public static final ImageRequestFormat COG = fromString("cog"); + + /** + * Creates a new instance of ImageRequestFormat value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public ImageRequestFormat() { + } + + /** + * Creates or finds a ImageRequestFormat from its string representation. + * + * @param name a name to look for. + * @return the corresponding ImageRequestFormat. + */ + @Generated + public static ImageRequestFormat fromString(String name) { + return fromString(name, ImageRequestFormat.class); + } + + /** + * Gets known ImageRequestFormat values. + * + * @return known ImageRequestFormat values. + */ + @Generated + public static Collection values() { + return values(ImageRequestFormat.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ImageType.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ImageType.java new file mode 100644 index 000000000000..5cd1d6a22df8 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ImageType.java @@ -0,0 +1,93 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Image format specifier for tile and image requests. + */ +public final class ImageType extends ExpandableStringEnum { + /** + * Portable Network Graphics format - supports transparency. + */ + @Generated + public static final ImageType PNG = fromString("png"); + + /** + * NumPy array format for raw data access. + */ + @Generated + public static final ImageType NPY = fromString("npy"); + + /** + * GeoTIFF format for georeferenced raster data. + */ + @Generated + public static final ImageType TIF = fromString("tif"); + + /** + * JPEG format - smaller file size but lossy compression. + */ + @Generated + public static final ImageType JPEG = fromString("jpeg"); + + /** + * Alternate extension for JPEG format. + */ + @Generated + public static final ImageType JPG = fromString("jpg"); + + /** + * JPEG 2000 format - supports both lossy and lossless compression. + */ + @Generated + public static final ImageType JP2 = fromString("jp2"); + + /** + * WebP format - modern image format with good compression. + */ + @Generated + public static final ImageType WEBP = fromString("webp"); + + /** + * Raw PNG format for access to unprocessed data. + */ + @Generated + public static final ImageType PNGRAW = fromString("pngraw"); + + /** + * Creates a new instance of ImageType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public ImageType() { + } + + /** + * Creates or finds a ImageType from its string representation. + * + * @param name a name to look for. + * @return the corresponding ImageType. + */ + @Generated + public static ImageType fromString(String name) { + return fromString(name, ImageType.class); + } + + /** + * Gets known ImageType values. + * + * @return known ImageType values. + */ + @Generated + public static Collection values() { + return values(ImageType.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/InfoOperationResponse.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/InfoOperationResponse.java new file mode 100644 index 000000000000..1081e67cdddf --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/InfoOperationResponse.java @@ -0,0 +1,87 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Return dataset's basic info or the list of available assets. + */ +@Immutable +public final class InfoOperationResponse implements JsonSerializable { + /* + * Response Info Api Collections Collection Id Items Item Id Info Get + * + * body for info operation response + */ + @Generated + private final TilerInfo data; + + /** + * Creates an instance of InfoOperationResponse class. + * + * @param data the data value to set. + */ + @Generated + private InfoOperationResponse(TilerInfo data) { + this.data = data; + } + + /** + * Get the data property: Response Info Api Collections Collection Id Items Item Id Info Get + * + * body for info operation response. + * + * @return the data value. + */ + @Generated + public TilerInfo getData() { + return this.data; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("data", this.data); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of InfoOperationResponse from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of InfoOperationResponse if the JsonReader was pointing to an instance of it, or null if it + * was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the InfoOperationResponse. + */ + @Generated + public static InfoOperationResponse fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + TilerInfo data = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("data".equals(fieldName)) { + data = TilerInfo.fromJson(reader); + } else { + reader.skipChildren(); + } + } + return new InfoOperationResponse(data); + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ItemCollectionModel.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ItemCollectionModel.java new file mode 100644 index 000000000000..71eb9924daf3 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ItemCollectionModel.java @@ -0,0 +1,361 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.azure.planetarycomputer.implementation.JsonMergePatchHelper; +import java.io.IOException; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** + * https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/itemcollection-spec.md + * + * Represents a collection of STAC Items as a GeoJSON FeatureCollection. + */ +@Fluent +public final class ItemCollectionModel extends StacItemOrItemCollection { + /* + * Discriminator property for StacItemOrItemCollection. + */ + @Generated + private StacModelType type = StacModelType.FEATURE_COLLECTION; + + /* + * Array of STAC Items in the collection. + */ + @Generated + private List features; + + /* + * Bounding box of all items in format [west, south, east, north]. + */ + @Generated + private List bbox; + + /* + * Context information for the search response. + */ + @Generated + private ContextExtension context; + + /** + * Stores updated model property, the value is property name, not serialized name. + */ + @Generated + private final Set updatedProperties = new HashSet<>(); + + /** + * Creates an instance of ItemCollectionModel class. + */ + @Generated + public ItemCollectionModel() { + } + + /** + * Get the type property: Discriminator property for StacItemOrItemCollection. + * + * @return the type value. + */ + @Generated + @Override + public StacModelType getType() { + return this.type; + } + + /** + * Get the features property: Array of STAC Items in the collection. + * + * @return the features value. + */ + @Generated + public List getFeatures() { + return this.features; + } + + /** + * Set the features property: Array of STAC Items in the collection. + *

Required when create the resource.

+ * + * @param features the features value to set. + * @return the ItemCollectionModel object itself. + */ + @Generated + public ItemCollectionModel setFeatures(List features) { + this.features = features; + this.updatedProperties.add("features"); + return this; + } + + /** + * Get the bbox property: Bounding box of all items in format [west, south, east, north]. + * + * @return the bbox value. + */ + @Generated + public List getBbox() { + return this.bbox; + } + + /** + * Set the bbox property: Bounding box of all items in format [west, south, east, north]. + * + * @param bbox the bbox value to set. + * @return the ItemCollectionModel object itself. + */ + @Generated + public ItemCollectionModel setBbox(List bbox) { + this.bbox = bbox; + this.updatedProperties.add("bbox"); + return this; + } + + /** + * Get the context property: Context information for the search response. + * + * @return the context value. + */ + @Generated + public ContextExtension getContext() { + return this.context; + } + + /** + * Set the context property: Context information for the search response. + * + * @param context the context value to set. + * @return the ItemCollectionModel object itself. + */ + @Generated + public ItemCollectionModel setContext(ContextExtension context) { + this.context = context; + this.updatedProperties.add("context"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public ItemCollectionModel setStacVersion(String stacVersion) { + super.setStacVersion(stacVersion); + this.updatedProperties.add("stacVersion"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public ItemCollectionModel setLinks(List links) { + super.setLinks(links); + this.updatedProperties.add("links"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public ItemCollectionModel setMsftCreated(String msftCreated) { + super.setMsftCreated(msftCreated); + this.updatedProperties.add("msftCreated"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public ItemCollectionModel setMsftUpdated(String msftUpdated) { + super.setMsftUpdated(msftUpdated); + this.updatedProperties.add("msftUpdated"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public ItemCollectionModel setMsftShortDescription(String msftShortDescription) { + super.setMsftShortDescription(msftShortDescription); + this.updatedProperties.add("msftShortDescription"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public ItemCollectionModel setStacExtensions(List stacExtensions) { + super.setStacExtensions(stacExtensions); + this.updatedProperties.add("stacExtensions"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + if (JsonMergePatchHelper.getStacItemOrItemCollectionAccessor().isJsonMergePatch(this)) { + return toJsonMergePatch(jsonWriter); + } else { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("stac_version", getStacVersion()); + jsonWriter.writeArrayField("links", getLinks(), (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("msft:_created", getMsftCreated()); + jsonWriter.writeStringField("msft:_updated", getMsftUpdated()); + jsonWriter.writeStringField("msft:short_description", getMsftShortDescription()); + jsonWriter.writeArrayField("stac_extensions", getStacExtensions(), + (writer, element) -> writer.writeString(element)); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeArrayField("features", this.features, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeArrayField("bbox", this.bbox, (writer, element) -> writer.writeDouble(element)); + jsonWriter.writeJsonField("context", this.context); + return jsonWriter.writeEndObject(); + } + } + + @Generated + private JsonWriter toJsonMergePatch(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + if (updatedProperties.contains("stacVersion")) { + if (getStacVersion() == null) { + jsonWriter.writeNullField("stac_version"); + } else { + jsonWriter.writeStringField("stac_version", getStacVersion()); + } + } + if (updatedProperties.contains("links")) { + if (getLinks() == null) { + jsonWriter.writeNullField("links"); + } else { + jsonWriter.writeArrayField("links", getLinks(), (writer, element) -> writer.writeJson(element)); + } + } + if (updatedProperties.contains("msftCreated")) { + if (getMsftCreated() == null) { + jsonWriter.writeNullField("msft:_created"); + } else { + jsonWriter.writeStringField("msft:_created", getMsftCreated()); + } + } + if (updatedProperties.contains("msftUpdated")) { + if (getMsftUpdated() == null) { + jsonWriter.writeNullField("msft:_updated"); + } else { + jsonWriter.writeStringField("msft:_updated", getMsftUpdated()); + } + } + if (updatedProperties.contains("msftShortDescription")) { + if (getMsftShortDescription() == null) { + jsonWriter.writeNullField("msft:short_description"); + } else { + jsonWriter.writeStringField("msft:short_description", getMsftShortDescription()); + } + } + if (updatedProperties.contains("stacExtensions")) { + if (getStacExtensions() == null) { + jsonWriter.writeNullField("stac_extensions"); + } else { + jsonWriter.writeArrayField("stac_extensions", getStacExtensions(), + (writer, element) -> writer.writeString(element)); + } + } + jsonWriter.writeStringField("type", this.type.toString()); + if (updatedProperties.contains("features")) { + if (this.features == null) { + jsonWriter.writeNullField("features"); + } else { + jsonWriter.writeArrayField("features", this.features, (writer, element) -> writer.writeJson(element)); + } + } + if (updatedProperties.contains("bbox")) { + if (this.bbox == null) { + jsonWriter.writeNullField("bbox"); + } else { + jsonWriter.writeArrayField("bbox", this.bbox, (writer, element) -> writer.writeDouble(element)); + } + } + if (updatedProperties.contains("context")) { + if (this.context == null) { + jsonWriter.writeNullField("context"); + } else { + JsonMergePatchHelper.getContextExtensionAccessor().prepareModelForJsonMergePatch(this.context, true); + jsonWriter.writeJsonField("context", this.context); + JsonMergePatchHelper.getContextExtensionAccessor().prepareModelForJsonMergePatch(this.context, false); + } + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of ItemCollectionModel from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of ItemCollectionModel if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IOException If an error occurs while reading the ItemCollectionModel. + */ + @Generated + public static ItemCollectionModel fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + ItemCollectionModel deserializedItemCollectionModel = new ItemCollectionModel(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("stac_version".equals(fieldName)) { + JsonMergePatchHelper.getStacItemOrItemCollectionAccessor() + .setStacVersion(deserializedItemCollectionModel, reader.getString()); + } else if ("links".equals(fieldName)) { + List links = reader.readArray(reader1 -> Link.fromJson(reader1)); + JsonMergePatchHelper.getStacItemOrItemCollectionAccessor() + .setLinks(deserializedItemCollectionModel, links); + } else if ("msft:_created".equals(fieldName)) { + JsonMergePatchHelper.getStacItemOrItemCollectionAccessor() + .setMsftCreated(deserializedItemCollectionModel, reader.getString()); + } else if ("msft:_updated".equals(fieldName)) { + JsonMergePatchHelper.getStacItemOrItemCollectionAccessor() + .setMsftUpdated(deserializedItemCollectionModel, reader.getString()); + } else if ("msft:short_description".equals(fieldName)) { + JsonMergePatchHelper.getStacItemOrItemCollectionAccessor() + .setMsftShortDescription(deserializedItemCollectionModel, reader.getString()); + } else if ("stac_extensions".equals(fieldName)) { + List stacExtensions = reader.readArray(reader1 -> reader1.getString()); + JsonMergePatchHelper.getStacItemOrItemCollectionAccessor() + .setStacExtensions(deserializedItemCollectionModel, stacExtensions); + } else if ("type".equals(fieldName)) { + deserializedItemCollectionModel.type = StacModelType.fromString(reader.getString()); + } else if ("features".equals(fieldName)) { + List features = reader.readArray(reader1 -> StacItemModel.fromJson(reader1)); + deserializedItemCollectionModel.features = features; + } else if ("bbox".equals(fieldName)) { + List bbox = reader.readArray(reader1 -> reader1.getDouble()); + deserializedItemCollectionModel.bbox = bbox; + } else if ("context".equals(fieldName)) { + deserializedItemCollectionModel.context = ContextExtension.fromJson(reader); + } else { + reader.skipChildren(); + } + } + + return deserializedItemCollectionModel; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ItemCollectionType.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ItemCollectionType.java new file mode 100644 index 000000000000..c531f0032699 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ItemCollectionType.java @@ -0,0 +1,51 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Represents the GeoJSON feature collection type for STAC item collections. + */ +public final class ItemCollectionType extends ExpandableStringEnum { + /** + * Standard GeoJSON FeatureCollection type. + */ + @Generated + public static final ItemCollectionType FEATURE_COLLECTION = fromString("FeatureCollection"); + + /** + * Creates a new instance of ItemCollectionType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public ItemCollectionType() { + } + + /** + * Creates or finds a ItemCollectionType from its string representation. + * + * @param name a name to look for. + * @return the corresponding ItemCollectionType. + */ + @Generated + public static ItemCollectionType fromString(String name) { + return fromString(name, ItemCollectionType.class); + } + + /** + * Gets known ItemCollectionType values. + * + * @return known ItemCollectionType values. + */ + @Generated + public static Collection values() { + return values(ItemCollectionType.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ItemProperties.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ItemProperties.java new file mode 100644 index 000000000000..7ee386fabe65 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/ItemProperties.java @@ -0,0 +1,700 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.core.util.BinaryData; +import com.azure.core.util.CoreUtils; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.azure.planetarycomputer.implementation.JsonMergePatchHelper; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.time.format.DateTimeFormatter; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * Properties of a STAC Item containing metadata about the asset. + * + * https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/item-spec.md#properties-object. + */ +@Fluent +public final class ItemProperties implements JsonSerializable { + /* + * Platform that acquired the data. + */ + @Generated + private String platform; + + /* + * Instruments that acquired the data. + */ + @Generated + private List instruments; + + /* + * Constellation of satellites that acquired the data. + */ + @Generated + private String constellation; + + /* + * Mission associated with the data. + */ + @Generated + private String mission; + + /* + * Organizations or individuals who provide the data. + */ + @Generated + private List providers; + + /* + * Ground sample distance in meters. + */ + @Generated + private Double gsd; + + /* + * Creation timestamp of the data. + */ + @Generated + private OffsetDateTime created; + + /* + * Last update timestamp of the data. + */ + @Generated + private OffsetDateTime updated; + + /* + * Human-readable title for the item. + */ + @Generated + private String title; + + /* + * Detailed description of the item. + */ + @Generated + private String description; + + /* + * Datetime the asset represents in RFC 3339 format. + */ + @Generated + private String datetime; + + /* + * Start time of the item observation period. + */ + @Generated + private OffsetDateTime startDatetime; + + /* + * End time of the item observation period. + */ + @Generated + private OffsetDateTime endDatetime; + + /* + * Properties of a STAC Item containing metadata about the asset. + * + * https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/item-spec.md#properties-object + */ + @Generated + private Map additionalProperties; + + /** + * Stores updated model property, the value is property name, not serialized name. + */ + @Generated + private final Set updatedProperties = new HashSet<>(); + + @Generated + private boolean jsonMergePatch; + + @Generated + private void serializeAsJsonMergePatch(boolean jsonMergePatch) { + this.jsonMergePatch = jsonMergePatch; + } + + static { + JsonMergePatchHelper.setItemPropertiesAccessor(new JsonMergePatchHelper.ItemPropertiesAccessor() { + @Override + public ItemProperties prepareModelForJsonMergePatch(ItemProperties model, boolean jsonMergePatchEnabled) { + model.serializeAsJsonMergePatch(jsonMergePatchEnabled); + return model; + } + + @Override + public boolean isJsonMergePatch(ItemProperties model) { + return model.jsonMergePatch; + } + }); + } + + /** + * Creates an instance of ItemProperties class. + */ + @Generated + public ItemProperties() { + } + + /** + * Get the platform property: Platform that acquired the data. + * + * @return the platform value. + */ + @Generated + public String getPlatform() { + return this.platform; + } + + /** + * Set the platform property: Platform that acquired the data. + * + * @param platform the platform value to set. + * @return the ItemProperties object itself. + */ + @Generated + public ItemProperties setPlatform(String platform) { + this.platform = platform; + this.updatedProperties.add("platform"); + return this; + } + + /** + * Get the instruments property: Instruments that acquired the data. + * + * @return the instruments value. + */ + @Generated + public List getInstruments() { + return this.instruments; + } + + /** + * Set the instruments property: Instruments that acquired the data. + * + * @param instruments the instruments value to set. + * @return the ItemProperties object itself. + */ + @Generated + public ItemProperties setInstruments(List instruments) { + this.instruments = instruments; + this.updatedProperties.add("instruments"); + return this; + } + + /** + * Get the constellation property: Constellation of satellites that acquired the data. + * + * @return the constellation value. + */ + @Generated + public String getConstellation() { + return this.constellation; + } + + /** + * Set the constellation property: Constellation of satellites that acquired the data. + * + * @param constellation the constellation value to set. + * @return the ItemProperties object itself. + */ + @Generated + public ItemProperties setConstellation(String constellation) { + this.constellation = constellation; + this.updatedProperties.add("constellation"); + return this; + } + + /** + * Get the mission property: Mission associated with the data. + * + * @return the mission value. + */ + @Generated + public String getMission() { + return this.mission; + } + + /** + * Set the mission property: Mission associated with the data. + * + * @param mission the mission value to set. + * @return the ItemProperties object itself. + */ + @Generated + public ItemProperties setMission(String mission) { + this.mission = mission; + this.updatedProperties.add("mission"); + return this; + } + + /** + * Get the providers property: Organizations or individuals who provide the data. + * + * @return the providers value. + */ + @Generated + public List getProviders() { + return this.providers; + } + + /** + * Set the providers property: Organizations or individuals who provide the data. + * + * @param providers the providers value to set. + * @return the ItemProperties object itself. + */ + @Generated + public ItemProperties setProviders(List providers) { + this.providers = providers; + this.updatedProperties.add("providers"); + return this; + } + + /** + * Get the gsd property: Ground sample distance in meters. + * + * @return the gsd value. + */ + @Generated + public Double getGsd() { + return this.gsd; + } + + /** + * Set the gsd property: Ground sample distance in meters. + * + * @param gsd the gsd value to set. + * @return the ItemProperties object itself. + */ + @Generated + public ItemProperties setGsd(Double gsd) { + this.gsd = gsd; + this.updatedProperties.add("gsd"); + return this; + } + + /** + * Get the created property: Creation timestamp of the data. + * + * @return the created value. + */ + @Generated + public OffsetDateTime getCreated() { + return this.created; + } + + /** + * Set the created property: Creation timestamp of the data. + * + * @param created the created value to set. + * @return the ItemProperties object itself. + */ + @Generated + public ItemProperties setCreated(OffsetDateTime created) { + this.created = created; + this.updatedProperties.add("created"); + return this; + } + + /** + * Get the updated property: Last update timestamp of the data. + * + * @return the updated value. + */ + @Generated + public OffsetDateTime getUpdated() { + return this.updated; + } + + /** + * Set the updated property: Last update timestamp of the data. + * + * @param updated the updated value to set. + * @return the ItemProperties object itself. + */ + @Generated + public ItemProperties setUpdated(OffsetDateTime updated) { + this.updated = updated; + this.updatedProperties.add("updated"); + return this; + } + + /** + * Get the title property: Human-readable title for the item. + * + * @return the title value. + */ + @Generated + public String getTitle() { + return this.title; + } + + /** + * Set the title property: Human-readable title for the item. + * + * @param title the title value to set. + * @return the ItemProperties object itself. + */ + @Generated + public ItemProperties setTitle(String title) { + this.title = title; + this.updatedProperties.add("title"); + return this; + } + + /** + * Get the description property: Detailed description of the item. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: Detailed description of the item. + * + * @param description the description value to set. + * @return the ItemProperties object itself. + */ + @Generated + public ItemProperties setDescription(String description) { + this.description = description; + this.updatedProperties.add("description"); + return this; + } + + /** + * Get the datetime property: Datetime the asset represents in RFC 3339 format. + * + * @return the datetime value. + */ + @Generated + public String getDatetime() { + return this.datetime; + } + + /** + * Set the datetime property: Datetime the asset represents in RFC 3339 format. + *

Required when create the resource.

+ * + * @param datetime the datetime value to set. + * @return the ItemProperties object itself. + */ + @Generated + public ItemProperties setDatetime(String datetime) { + this.datetime = datetime; + this.updatedProperties.add("datetime"); + return this; + } + + /** + * Get the startDatetime property: Start time of the item observation period. + * + * @return the startDatetime value. + */ + @Generated + public OffsetDateTime getStartDatetime() { + return this.startDatetime; + } + + /** + * Set the startDatetime property: Start time of the item observation period. + * + * @param startDatetime the startDatetime value to set. + * @return the ItemProperties object itself. + */ + @Generated + public ItemProperties setStartDatetime(OffsetDateTime startDatetime) { + this.startDatetime = startDatetime; + this.updatedProperties.add("startDatetime"); + return this; + } + + /** + * Get the endDatetime property: End time of the item observation period. + * + * @return the endDatetime value. + */ + @Generated + public OffsetDateTime getEndDatetime() { + return this.endDatetime; + } + + /** + * Set the endDatetime property: End time of the item observation period. + * + * @param endDatetime the endDatetime value to set. + * @return the ItemProperties object itself. + */ + @Generated + public ItemProperties setEndDatetime(OffsetDateTime endDatetime) { + this.endDatetime = endDatetime; + this.updatedProperties.add("endDatetime"); + return this; + } + + /** + * Get the additionalProperties property: Properties of a STAC Item containing metadata about the asset. + * + * https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/item-spec.md#properties-object. + * + * @return the additionalProperties value. + */ + @Generated + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + /** + * Set the additionalProperties property: Properties of a STAC Item containing metadata about the asset. + * + * https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/item-spec.md#properties-object. + * + * @param additionalProperties the additionalProperties value to set. + * @return the ItemProperties object itself. + */ + @Generated + public ItemProperties setAdditionalProperties(Map additionalProperties) { + this.additionalProperties = additionalProperties; + this.updatedProperties.add("additionalProperties"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + if (jsonMergePatch) { + return toJsonMergePatch(jsonWriter); + } else { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("platform", this.platform); + jsonWriter.writeArrayField("instruments", this.instruments, + (writer, element) -> writer.writeString(element)); + jsonWriter.writeStringField("constellation", this.constellation); + jsonWriter.writeStringField("mission", this.mission); + jsonWriter.writeArrayField("providers", this.providers, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeNumberField("gsd", this.gsd); + jsonWriter.writeStringField("created", + this.created == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.created)); + jsonWriter.writeStringField("updated", + this.updated == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.updated)); + jsonWriter.writeStringField("title", this.title); + jsonWriter.writeStringField("description", this.description); + jsonWriter.writeStringField("datetime", this.datetime); + jsonWriter.writeStringField("start_datetime", + this.startDatetime == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.startDatetime)); + jsonWriter.writeStringField("end_datetime", + this.endDatetime == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.endDatetime)); + if (additionalProperties != null) { + for (Map.Entry additionalProperty : additionalProperties.entrySet()) { + jsonWriter.writeFieldName(additionalProperty.getKey()); + if (additionalProperty.getValue() == null) { + jsonWriter.writeNull(); + } else { + additionalProperty.getValue().writeTo(jsonWriter); + } + } + } + return jsonWriter.writeEndObject(); + } + } + + @Generated + private JsonWriter toJsonMergePatch(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + if (updatedProperties.contains("platform")) { + if (this.platform == null) { + jsonWriter.writeNullField("platform"); + } else { + jsonWriter.writeStringField("platform", this.platform); + } + } + if (updatedProperties.contains("instruments")) { + if (this.instruments == null) { + jsonWriter.writeNullField("instruments"); + } else { + jsonWriter.writeArrayField("instruments", this.instruments, + (writer, element) -> writer.writeString(element)); + } + } + if (updatedProperties.contains("constellation")) { + if (this.constellation == null) { + jsonWriter.writeNullField("constellation"); + } else { + jsonWriter.writeStringField("constellation", this.constellation); + } + } + if (updatedProperties.contains("mission")) { + if (this.mission == null) { + jsonWriter.writeNullField("mission"); + } else { + jsonWriter.writeStringField("mission", this.mission); + } + } + if (updatedProperties.contains("providers")) { + if (this.providers == null) { + jsonWriter.writeNullField("providers"); + } else { + jsonWriter.writeArrayField("providers", this.providers, (writer, element) -> writer.writeJson(element)); + } + } + if (updatedProperties.contains("gsd")) { + if (this.gsd == null) { + jsonWriter.writeNullField("gsd"); + } else { + jsonWriter.writeNumberField("gsd", this.gsd); + } + } + if (updatedProperties.contains("created")) { + if (this.created == null) { + jsonWriter.writeNullField("created"); + } else { + jsonWriter.writeStringField("created", + this.created == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.created)); + } + } + if (updatedProperties.contains("updated")) { + if (this.updated == null) { + jsonWriter.writeNullField("updated"); + } else { + jsonWriter.writeStringField("updated", + this.updated == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.updated)); + } + } + if (updatedProperties.contains("title")) { + if (this.title == null) { + jsonWriter.writeNullField("title"); + } else { + jsonWriter.writeStringField("title", this.title); + } + } + if (updatedProperties.contains("description")) { + if (this.description == null) { + jsonWriter.writeNullField("description"); + } else { + jsonWriter.writeStringField("description", this.description); + } + } + if (updatedProperties.contains("datetime")) { + if (this.datetime == null) { + jsonWriter.writeNullField("datetime"); + } else { + jsonWriter.writeStringField("datetime", this.datetime); + } + } + if (updatedProperties.contains("startDatetime")) { + if (this.startDatetime == null) { + jsonWriter.writeNullField("start_datetime"); + } else { + jsonWriter.writeStringField("start_datetime", + this.startDatetime == null + ? null + : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.startDatetime)); + } + } + if (updatedProperties.contains("endDatetime")) { + if (this.endDatetime == null) { + jsonWriter.writeNullField("end_datetime"); + } else { + jsonWriter.writeStringField("end_datetime", + this.endDatetime == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.endDatetime)); + } + } + if (additionalProperties != null) { + for (Map.Entry additionalProperty : additionalProperties.entrySet()) { + jsonWriter.writeFieldName(additionalProperty.getKey()); + if (additionalProperty.getValue() == null) { + jsonWriter.writeNull(); + } else { + additionalProperty.getValue().writeTo(jsonWriter); + } + } + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of ItemProperties from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of ItemProperties if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IOException If an error occurs while reading the ItemProperties. + */ + @Generated + public static ItemProperties fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + ItemProperties deserializedItemProperties = new ItemProperties(); + Map additionalProperties = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("platform".equals(fieldName)) { + deserializedItemProperties.platform = reader.getString(); + } else if ("instruments".equals(fieldName)) { + List instruments = reader.readArray(reader1 -> reader1.getString()); + deserializedItemProperties.instruments = instruments; + } else if ("constellation".equals(fieldName)) { + deserializedItemProperties.constellation = reader.getString(); + } else if ("mission".equals(fieldName)) { + deserializedItemProperties.mission = reader.getString(); + } else if ("providers".equals(fieldName)) { + List providers = reader.readArray(reader1 -> Provider.fromJson(reader1)); + deserializedItemProperties.providers = providers; + } else if ("gsd".equals(fieldName)) { + deserializedItemProperties.gsd = reader.getNullable(JsonReader::getDouble); + } else if ("created".equals(fieldName)) { + deserializedItemProperties.created = reader + .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString())); + } else if ("updated".equals(fieldName)) { + deserializedItemProperties.updated = reader + .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString())); + } else if ("title".equals(fieldName)) { + deserializedItemProperties.title = reader.getString(); + } else if ("description".equals(fieldName)) { + deserializedItemProperties.description = reader.getString(); + } else if ("datetime".equals(fieldName)) { + deserializedItemProperties.datetime = reader.getString(); + } else if ("start_datetime".equals(fieldName)) { + deserializedItemProperties.startDatetime = reader + .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString())); + } else if ("end_datetime".equals(fieldName)) { + deserializedItemProperties.endDatetime = reader + .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString())); + } else { + if (additionalProperties == null) { + additionalProperties = new LinkedHashMap<>(); + } + + additionalProperties.put(fieldName, + reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()))); + } + } + deserializedItemProperties.additionalProperties = additionalProperties; + + return deserializedItemProperties; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/JsonSchema.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/JsonSchema.java new file mode 100644 index 000000000000..93255a50a39b --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/JsonSchema.java @@ -0,0 +1,95 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.core.util.BinaryData; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * JSON Schema structure for STAC Queryables. + */ +@Immutable +public final class JsonSchema implements JsonSerializable { + /* + * JSON Schema structure for STAC Queryables + */ + @Generated + private Map additionalProperties; + + /** + * Creates an instance of JsonSchema class. + */ + @Generated + private JsonSchema() { + } + + /** + * Get the additionalProperties property: JSON Schema structure for STAC Queryables. + * + * @return the additionalProperties value. + */ + @Generated + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + if (additionalProperties != null) { + for (Map.Entry additionalProperty : additionalProperties.entrySet()) { + jsonWriter.writeFieldName(additionalProperty.getKey()); + if (additionalProperty.getValue() == null) { + jsonWriter.writeNull(); + } else { + additionalProperty.getValue().writeTo(jsonWriter); + } + } + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of JsonSchema from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of JsonSchema if the JsonReader was pointing to an instance of it, or null if it was pointing + * to JSON null. + * @throws IOException If an error occurs while reading the JsonSchema. + */ + @Generated + public static JsonSchema fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + JsonSchema deserializedJsonSchema = new JsonSchema(); + Map additionalProperties = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if (additionalProperties == null) { + additionalProperties = new LinkedHashMap<>(); + } + + additionalProperties.put(fieldName, + reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()))); + } + deserializedJsonSchema.additionalProperties = additionalProperties; + + return deserializedJsonSchema; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/LandingPage.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/LandingPage.java new file mode 100644 index 000000000000..fa2f68ba695b --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/LandingPage.java @@ -0,0 +1,302 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * https://github.com/radiantearth/stac-api-spec/blob/master/api-spec.md#ogc-api---features-endpoints + * + * Represents the STAC API landing page with links to available resources. + */ +@Immutable +public final class LandingPage implements JsonSerializable { + /* + * MSFT Created + */ + @Generated + private String msftCreated; + + /* + * MSFT Updated + */ + @Generated + private String msftUpdated; + + /* + * MSFT Short Description + */ + @Generated + private String msftShortDescription; + + /* + * URLs to STAC extensions implemented by this STAC resource. + */ + @Generated + private List stacExtensions; + + /* + * Unique identifier for the STAC catalog. + */ + @Generated + private final String id; + + /* + * Detailed description of the STAC catalog. + */ + @Generated + private final String description; + + /* + * Human-readable title for the STAC catalog. + */ + @Generated + private String title; + + /* + * Stac Version + */ + @Generated + private String stacVersion; + + /* + * List of OGC API conformance classes implemented by this API. + */ + @Generated + private final List conformsTo; + + /* + * Links to related resources and endpoints. + */ + @Generated + private final List links; + + /* + * Type + */ + @Generated + private String type; + + /** + * Creates an instance of LandingPage class. + * + * @param id the id value to set. + * @param description the description value to set. + * @param conformsTo the conformsTo value to set. + * @param links the links value to set. + */ + @Generated + private LandingPage(String id, String description, List conformsTo, List links) { + this.id = id; + this.description = description; + this.conformsTo = conformsTo; + this.links = links; + } + + /** + * Get the msftCreated property: MSFT Created. + * + * @return the msftCreated value. + */ + @Generated + public String getMsftCreated() { + return this.msftCreated; + } + + /** + * Get the msftUpdated property: MSFT Updated. + * + * @return the msftUpdated value. + */ + @Generated + public String getMsftUpdated() { + return this.msftUpdated; + } + + /** + * Get the msftShortDescription property: MSFT Short Description. + * + * @return the msftShortDescription value. + */ + @Generated + public String getMsftShortDescription() { + return this.msftShortDescription; + } + + /** + * Get the stacExtensions property: URLs to STAC extensions implemented by this STAC resource. + * + * @return the stacExtensions value. + */ + @Generated + public List getStacExtensions() { + return this.stacExtensions; + } + + /** + * Get the id property: Unique identifier for the STAC catalog. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the description property: Detailed description of the STAC catalog. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Get the title property: Human-readable title for the STAC catalog. + * + * @return the title value. + */ + @Generated + public String getTitle() { + return this.title; + } + + /** + * Get the stacVersion property: Stac Version. + * + * @return the stacVersion value. + */ + @Generated + public String getStacVersion() { + return this.stacVersion; + } + + /** + * Get the conformsTo property: List of OGC API conformance classes implemented by this API. + * + * @return the conformsTo value. + */ + @Generated + public List getConformsTo() { + return this.conformsTo; + } + + /** + * Get the links property: Links to related resources and endpoints. + * + * @return the links value. + */ + @Generated + public List getLinks() { + return this.links; + } + + /** + * Get the type property: Type. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("description", this.description); + jsonWriter.writeArrayField("conformsTo", this.conformsTo, (writer, element) -> writer.writeString(element)); + jsonWriter.writeArrayField("links", this.links, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("msft:_created", this.msftCreated); + jsonWriter.writeStringField("msft:_updated", this.msftUpdated); + jsonWriter.writeStringField("msft:short_description", this.msftShortDescription); + jsonWriter.writeArrayField("stac_extensions", this.stacExtensions, + (writer, element) -> writer.writeString(element)); + jsonWriter.writeStringField("title", this.title); + jsonWriter.writeStringField("stac_version", this.stacVersion); + jsonWriter.writeStringField("type", this.type); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of LandingPage from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of LandingPage if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the LandingPage. + */ + @Generated + public static LandingPage fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + String description = null; + List conformsTo = null; + List links = null; + String msftCreated = null; + String msftUpdated = null; + String msftShortDescription = null; + List stacExtensions = null; + String title = null; + String stacVersion = null; + String type = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("description".equals(fieldName)) { + description = reader.getString(); + } else if ("conformsTo".equals(fieldName)) { + conformsTo = reader.readArray(reader1 -> reader1.getString()); + } else if ("links".equals(fieldName)) { + links = reader.readArray(reader1 -> Link.fromJson(reader1)); + } else if ("msft:_created".equals(fieldName)) { + msftCreated = reader.getString(); + } else if ("msft:_updated".equals(fieldName)) { + msftUpdated = reader.getString(); + } else if ("msft:short_description".equals(fieldName)) { + msftShortDescription = reader.getString(); + } else if ("stac_extensions".equals(fieldName)) { + stacExtensions = reader.readArray(reader1 -> reader1.getString()); + } else if ("title".equals(fieldName)) { + title = reader.getString(); + } else if ("stac_version".equals(fieldName)) { + stacVersion = reader.getString(); + } else if ("type".equals(fieldName)) { + type = reader.getString(); + } else { + reader.skipChildren(); + } + } + LandingPage deserializedLandingPage = new LandingPage(id, description, conformsTo, links); + deserializedLandingPage.msftCreated = msftCreated; + deserializedLandingPage.msftUpdated = msftUpdated; + deserializedLandingPage.msftShortDescription = msftShortDescription; + deserializedLandingPage.stacExtensions = stacExtensions; + deserializedLandingPage.title = title; + deserializedLandingPage.stacVersion = stacVersion; + deserializedLandingPage.type = type; + + return deserializedLandingPage; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/LegendConfigType.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/LegendConfigType.java new file mode 100644 index 000000000000..be93cff1544c --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/LegendConfigType.java @@ -0,0 +1,70 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Legend type to make, one of: `continuous`, `classmap`, `interval` or `none` + * (note, `none` is a string literal).Defines the legend configuration types for data visualization. + */ +public final class LegendConfigType extends ExpandableStringEnum { + /** + * Continuous color ramp legend. + */ + @Generated + public static final LegendConfigType CONTINUOUS = fromString("continuous"); + + /** + * Classified map with discrete colors for classes. + */ + @Generated + public static final LegendConfigType CLASSMAP = fromString("classmap"); + + /** + * Interval-based legend with discrete ranges. + */ + @Generated + public static final LegendConfigType INTERVAL = fromString("interval"); + + /** + * No legend. + */ + @Generated + public static final LegendConfigType NONE = fromString("none"); + + /** + * Creates a new instance of LegendConfigType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public LegendConfigType() { + } + + /** + * Creates or finds a LegendConfigType from its string representation. + * + * @param name a name to look for. + * @return the corresponding LegendConfigType. + */ + @Generated + public static LegendConfigType fromString(String name) { + return fromString(name, LegendConfigType.class); + } + + /** + * Gets known LegendConfigType values. + * + * @return known LegendConfigType values. + */ + @Generated + public static Collection values() { + return values(LegendConfigType.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/LineString.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/LineString.java new file mode 100644 index 000000000000..49c199122534 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/LineString.java @@ -0,0 +1,166 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.azure.planetarycomputer.implementation.JsonMergePatchHelper; +import java.io.IOException; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** + * Represents a LineString. + */ +@Fluent +public final class LineString extends Geometry { + /* + * Discriminator property for Geometry. + */ + @Generated + private GeometryType type = GeometryType.LINE_STRING; + + /* + * The coordinates of the linestring. + */ + @Generated + private List coordinates; + + /** + * Stores updated model property, the value is property name, not serialized name. + */ + @Generated + private final Set updatedProperties = new HashSet<>(); + + /** + * Creates an instance of LineString class. + */ + @Generated + public LineString() { + } + + /** + * Get the type property: Discriminator property for Geometry. + * + * @return the type value. + */ + @Generated + @Override + public GeometryType getType() { + return this.type; + } + + /** + * Get the coordinates property: The coordinates of the linestring. + * + * @return the coordinates value. + */ + @Generated + public List getCoordinates() { + return this.coordinates; + } + + /** + * Set the coordinates property: The coordinates of the linestring. + *

Required when create the resource.

+ * + * @param coordinates the coordinates value to set. + * @return the LineString object itself. + */ + @Generated + public LineString setCoordinates(List coordinates) { + this.coordinates = coordinates; + this.updatedProperties.add("coordinates"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public LineString setBbox(List bbox) { + super.setBbox(bbox); + this.updatedProperties.add("bbox"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + if (JsonMergePatchHelper.getGeometryAccessor().isJsonMergePatch(this)) { + return toJsonMergePatch(jsonWriter); + } else { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("bbox", getBbox(), (writer, element) -> writer.writeDouble(element)); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeArrayField("coordinates", this.coordinates, + (writer, element) -> writer.writeDouble(element)); + return jsonWriter.writeEndObject(); + } + } + + @Generated + private JsonWriter toJsonMergePatch(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + if (updatedProperties.contains("bbox")) { + if (getBbox() == null) { + jsonWriter.writeNullField("bbox"); + } else { + jsonWriter.writeArrayField("bbox", getBbox(), (writer, element) -> writer.writeDouble(element)); + } + } + jsonWriter.writeStringField("type", this.type.toString()); + if (updatedProperties.contains("coordinates")) { + if (this.coordinates == null) { + jsonWriter.writeNullField("coordinates"); + } else { + jsonWriter.writeArrayField("coordinates", this.coordinates, + (writer, element) -> writer.writeDouble(element)); + } + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of LineString from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of LineString if the JsonReader was pointing to an instance of it, or null if it was pointing + * to JSON null. + * @throws IOException If an error occurs while reading the LineString. + */ + @Generated + public static LineString fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + LineString deserializedLineString = new LineString(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("bbox".equals(fieldName)) { + List bbox = reader.readArray(reader1 -> reader1.getDouble()); + JsonMergePatchHelper.getGeometryAccessor().setBbox(deserializedLineString, bbox); + } else if ("type".equals(fieldName)) { + deserializedLineString.type = GeometryType.fromString(reader.getString()); + } else if ("coordinates".equals(fieldName)) { + List coordinates = reader.readArray(reader1 -> reader1.getDouble()); + deserializedLineString.coordinates = coordinates; + } else { + reader.skipChildren(); + } + } + + return deserializedLineString; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Link.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Link.java new file mode 100644 index 000000000000..d69082048803 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Link.java @@ -0,0 +1,532 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.core.util.BinaryData; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.azure.planetarycomputer.implementation.JsonMergePatchHelper; +import java.io.IOException; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +/** + * Link model. + * + * Ref: + * http://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/schemas/link.yaml + * + * Represents a link. + */ +@Fluent +public final class Link implements JsonSerializable { + /* + * The relationship type of the link. + */ + @Generated + private String rel; + + /* + * The title of the link. + */ + @Generated + private String title; + + /* + * The MIME type of the linked resource. + */ + @Generated + private LinkType type; + + /* + * The URL of the link. + */ + @Generated + private String href; + + /* + * The language of the linked resource. + */ + @Generated + private String hreflang; + + /* + * The length of the linked resource. + */ + @Generated + private Integer length; + + /* + * Specifies the HTTP method that the resource expects. + * Default: GET. + */ + @Generated + private LinkMethod method; + + /* + * Object key-value pairs that map to headers. + * Example: { "Accept": "application/json" }. + */ + @Generated + private Map headers; + + /* + * For POST requests, the resource can specify the HTTP body as a JSON object. + */ + @Generated + private Map body; + + /* + * Indicates whether the client is expected to merge the body value into the current request body before following + * the link. + * This is only valid when the server is responding to a POST request. + * Default: false. + */ + @Generated + private Boolean merge; + + /** + * Stores updated model property, the value is property name, not serialized name. + */ + @Generated + private final Set updatedProperties = new HashSet<>(); + + @Generated + private boolean jsonMergePatch; + + @Generated + private void serializeAsJsonMergePatch(boolean jsonMergePatch) { + this.jsonMergePatch = jsonMergePatch; + } + + static { + JsonMergePatchHelper.setLinkAccessor(new JsonMergePatchHelper.LinkAccessor() { + @Override + public Link prepareModelForJsonMergePatch(Link model, boolean jsonMergePatchEnabled) { + model.serializeAsJsonMergePatch(jsonMergePatchEnabled); + return model; + } + + @Override + public boolean isJsonMergePatch(Link model) { + return model.jsonMergePatch; + } + }); + } + + /** + * Creates an instance of Link class. + */ + @Generated + public Link() { + } + + /** + * Get the rel property: The relationship type of the link. + * + * @return the rel value. + */ + @Generated + public String getRel() { + return this.rel; + } + + /** + * Set the rel property: The relationship type of the link. + * + * @param rel the rel value to set. + * @return the Link object itself. + */ + @Generated + public Link setRel(String rel) { + this.rel = rel; + this.updatedProperties.add("rel"); + return this; + } + + /** + * Get the title property: The title of the link. + * + * @return the title value. + */ + @Generated + public String getTitle() { + return this.title; + } + + /** + * Set the title property: The title of the link. + * + * @param title the title value to set. + * @return the Link object itself. + */ + @Generated + public Link setTitle(String title) { + this.title = title; + this.updatedProperties.add("title"); + return this; + } + + /** + * Get the type property: The MIME type of the linked resource. + * + * @return the type value. + */ + @Generated + public LinkType getType() { + return this.type; + } + + /** + * Set the type property: The MIME type of the linked resource. + * + * @param type the type value to set. + * @return the Link object itself. + */ + @Generated + public Link setType(LinkType type) { + this.type = type; + this.updatedProperties.add("type"); + return this; + } + + /** + * Get the href property: The URL of the link. + * + * @return the href value. + */ + @Generated + public String getHref() { + return this.href; + } + + /** + * Set the href property: The URL of the link. + *

Required when create the resource.

+ * + * @param href the href value to set. + * @return the Link object itself. + */ + @Generated + public Link setHref(String href) { + this.href = href; + this.updatedProperties.add("href"); + return this; + } + + /** + * Get the hreflang property: The language of the linked resource. + * + * @return the hreflang value. + */ + @Generated + public String getHreflang() { + return this.hreflang; + } + + /** + * Set the hreflang property: The language of the linked resource. + * + * @param hreflang the hreflang value to set. + * @return the Link object itself. + */ + @Generated + public Link setHreflang(String hreflang) { + this.hreflang = hreflang; + this.updatedProperties.add("hreflang"); + return this; + } + + /** + * Get the length property: The length of the linked resource. + * + * @return the length value. + */ + @Generated + public Integer getLength() { + return this.length; + } + + /** + * Set the length property: The length of the linked resource. + * + * @param length the length value to set. + * @return the Link object itself. + */ + @Generated + public Link setLength(Integer length) { + this.length = length; + this.updatedProperties.add("length"); + return this; + } + + /** + * Get the method property: Specifies the HTTP method that the resource expects. + * Default: GET. + * + * @return the method value. + */ + @Generated + public LinkMethod getMethod() { + return this.method; + } + + /** + * Set the method property: Specifies the HTTP method that the resource expects. + * Default: GET. + * + * @param method the method value to set. + * @return the Link object itself. + */ + @Generated + public Link setMethod(LinkMethod method) { + this.method = method; + this.updatedProperties.add("method"); + return this; + } + + /** + * Get the headers property: Object key-value pairs that map to headers. + * Example: { "Accept": "application/json" }. + * + * @return the headers value. + */ + @Generated + public Map getHeaders() { + return this.headers; + } + + /** + * Set the headers property: Object key-value pairs that map to headers. + * Example: { "Accept": "application/json" }. + * + * @param headers the headers value to set. + * @return the Link object itself. + */ + @Generated + public Link setHeaders(Map headers) { + this.headers = headers; + this.updatedProperties.add("headers"); + return this; + } + + /** + * Get the body property: For POST requests, the resource can specify the HTTP body as a JSON object. + * + * @return the body value. + */ + @Generated + public Map getBody() { + return this.body; + } + + /** + * Set the body property: For POST requests, the resource can specify the HTTP body as a JSON object. + * + * @param body the body value to set. + * @return the Link object itself. + */ + @Generated + public Link setBody(Map body) { + this.body = body; + this.updatedProperties.add("body"); + return this; + } + + /** + * Get the merge property: Indicates whether the client is expected to merge the body value into the current request + * body before following the link. + * This is only valid when the server is responding to a POST request. + * Default: false. + * + * @return the merge value. + */ + @Generated + public Boolean isMerge() { + return this.merge; + } + + /** + * Set the merge property: Indicates whether the client is expected to merge the body value into the current request + * body before following the link. + * This is only valid when the server is responding to a POST request. + * Default: false. + * + * @param merge the merge value to set. + * @return the Link object itself. + */ + @Generated + public Link setMerge(Boolean merge) { + this.merge = merge; + this.updatedProperties.add("merge"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + if (jsonMergePatch) { + return toJsonMergePatch(jsonWriter); + } else { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("rel", this.rel); + jsonWriter.writeStringField("title", this.title); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("href", this.href); + jsonWriter.writeStringField("hreflang", this.hreflang); + jsonWriter.writeNumberField("length", this.length); + jsonWriter.writeStringField("method", this.method == null ? null : this.method.toString()); + jsonWriter.writeMapField("headers", this.headers, (writer, element) -> writer.writeString(element)); + jsonWriter.writeMapField("body", this.body, + (writer, element) -> writer.writeUntyped(element == null ? null : element.toObject(Object.class))); + jsonWriter.writeBooleanField("merge", this.merge); + return jsonWriter.writeEndObject(); + } + } + + @Generated + private JsonWriter toJsonMergePatch(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + if (updatedProperties.contains("rel")) { + if (this.rel == null) { + jsonWriter.writeNullField("rel"); + } else { + jsonWriter.writeStringField("rel", this.rel); + } + } + if (updatedProperties.contains("title")) { + if (this.title == null) { + jsonWriter.writeNullField("title"); + } else { + jsonWriter.writeStringField("title", this.title); + } + } + if (updatedProperties.contains("type")) { + if (this.type == null) { + jsonWriter.writeNullField("type"); + } else { + jsonWriter.writeStringField("type", this.type.toString()); + } + } + if (updatedProperties.contains("href")) { + if (this.href == null) { + jsonWriter.writeNullField("href"); + } else { + jsonWriter.writeStringField("href", this.href); + } + } + if (updatedProperties.contains("hreflang")) { + if (this.hreflang == null) { + jsonWriter.writeNullField("hreflang"); + } else { + jsonWriter.writeStringField("hreflang", this.hreflang); + } + } + if (updatedProperties.contains("length")) { + if (this.length == null) { + jsonWriter.writeNullField("length"); + } else { + jsonWriter.writeNumberField("length", this.length); + } + } + if (updatedProperties.contains("method")) { + if (this.method == null) { + jsonWriter.writeNullField("method"); + } else { + jsonWriter.writeStringField("method", this.method.toString()); + } + } + if (updatedProperties.contains("headers")) { + if (this.headers == null) { + jsonWriter.writeNullField("headers"); + } else { + jsonWriter.writeMapField("headers", this.headers, (writer, element) -> { + if (element != null) { + writer.writeString(element); + } else { + writer.writeNull(); + } + }); + } + } + if (updatedProperties.contains("body")) { + if (this.body == null) { + jsonWriter.writeNullField("body"); + } else { + jsonWriter.writeMapField("body", this.body, (writer, element) -> { + if (element != null) { + writer.writeUntyped(element == null ? null : element.toObject(Object.class)); + } else { + writer.writeNull(); + } + }); + } + } + if (updatedProperties.contains("merge")) { + if (this.merge == null) { + jsonWriter.writeNullField("merge"); + } else { + jsonWriter.writeBooleanField("merge", this.merge); + } + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of Link from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of Link if the JsonReader was pointing to an instance of it, or null if it was pointing to + * JSON null. + * @throws IOException If an error occurs while reading the Link. + */ + @Generated + public static Link fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + Link deserializedLink = new Link(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("rel".equals(fieldName)) { + deserializedLink.rel = reader.getString(); + } else if ("title".equals(fieldName)) { + deserializedLink.title = reader.getString(); + } else if ("type".equals(fieldName)) { + deserializedLink.type = LinkType.fromString(reader.getString()); + } else if ("href".equals(fieldName)) { + deserializedLink.href = reader.getString(); + } else if ("hreflang".equals(fieldName)) { + deserializedLink.hreflang = reader.getString(); + } else if ("length".equals(fieldName)) { + deserializedLink.length = reader.getNullable(JsonReader::getInt); + } else if ("method".equals(fieldName)) { + deserializedLink.method = LinkMethod.fromString(reader.getString()); + } else if ("headers".equals(fieldName)) { + Map headers = reader.readMap(reader1 -> reader1.getString()); + deserializedLink.headers = headers; + } else if ("body".equals(fieldName)) { + Map body = reader.readMap(reader1 -> reader1 + .getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()))); + deserializedLink.body = body; + } else if ("merge".equals(fieldName)) { + deserializedLink.merge = reader.getNullable(JsonReader::getBoolean); + } else { + reader.skipChildren(); + } + } + + return deserializedLink; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/LinkMethod.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/LinkMethod.java new file mode 100644 index 000000000000..f9503009ce15 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/LinkMethod.java @@ -0,0 +1,57 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Defines values for LinkMethod. + */ +public final class LinkMethod extends ExpandableStringEnum { + /** + * Static value GET for LinkMethod. + */ + @Generated + public static final LinkMethod GET = fromString("GET"); + + /** + * Static value POST for LinkMethod. + */ + @Generated + public static final LinkMethod POST = fromString("POST"); + + /** + * Creates a new instance of LinkMethod value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public LinkMethod() { + } + + /** + * Creates or finds a LinkMethod from its string representation. + * + * @param name a name to look for. + * @return the corresponding LinkMethod. + */ + @Generated + public static LinkMethod fromString(String name) { + return fromString(name, LinkMethod.class); + } + + /** + * Gets known LinkMethod values. + * + * @return known LinkMethod values. + */ + @Generated + public static Collection values() { + return values(LinkMethod.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/LinkType.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/LinkType.java new file mode 100644 index 000000000000..7aa066c94a88 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/LinkType.java @@ -0,0 +1,123 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * MIME types for links. + */ +public final class LinkType extends ExpandableStringEnum { + /** + * Represents an image/tiff with application=geotiff. + */ + @Generated + public static final LinkType IMAGE_TIFF_APPLICATION_GEOTIFF = fromString("image/tiff; application=geotiff"); + + /** + * Represents an image/jp2. + */ + @Generated + public static final LinkType IMAGE_JP2 = fromString("image/jp2"); + + /** + * Represents an image/png. + */ + @Generated + public static final LinkType IMAGE_PNG = fromString("image/png"); + + /** + * Represents an image/jpeg. + */ + @Generated + public static final LinkType IMAGE_JPEG = fromString("image/jpeg"); + + /** + * Represents an image/jpg. + */ + @Generated + public static final LinkType IMAGE_JPG = fromString("image/jpg"); + + /** + * Represents an image/webp. + */ + @Generated + public static final LinkType IMAGE_WEBP = fromString("image/webp"); + + /** + * Represents an application/x-binary. + */ + @Generated + public static final LinkType APPLICATION_X_BINARY = fromString("application/x-binary"); + + /** + * Represents an application/xml. + */ + @Generated + public static final LinkType APPLICATION_XML = fromString("application/xml"); + + /** + * Represents an application/json. + */ + @Generated + public static final LinkType APPLICATION_JSON = fromString("application/json"); + + /** + * Represents an application/geo+json. + */ + @Generated + public static final LinkType APPLICATION_GEO_JSON = fromString("application/geo+json"); + + /** + * Represents a text/html. + */ + @Generated + public static final LinkType TEXT_HTML = fromString("text/html"); + + /** + * Represents a text/plain. + */ + @Generated + public static final LinkType TEXT_PLAIN = fromString("text/plain"); + + /** + * Represents an application/x-protobuf. + */ + @Generated + public static final LinkType APPLICATION_X_PROTOBUF = fromString("application/x-protobuf"); + + /** + * Creates a new instance of LinkType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public LinkType() { + } + + /** + * Creates or finds a LinkType from its string representation. + * + * @param name a name to look for. + * @return the corresponding LinkType. + */ + @Generated + public static LinkType fromString(String name) { + return fromString(name, LinkType.class); + } + + /** + * Gets known LinkType values. + * + * @return known LinkType values. + */ + @Generated + public static Collection values() { + return values(LinkType.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Metadata.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Metadata.java new file mode 100644 index 000000000000..43f1efc7a6d0 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Metadata.java @@ -0,0 +1,282 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; +import java.util.Map; + +/** + * Metadata information for mosaic or search results. + */ +@Fluent +public final class Metadata implements JsonSerializable { + /* + * Type of metadata resource + */ + @Generated + private MetadataType type; + + /* + * Geographic bounding box in [west, south, east, north] format + */ + @Generated + private String bounds; + + /* + * Minimum zoom level supported + */ + @Generated + private Integer minzoom; + + /* + * Maximum zoom level supported + */ + @Generated + private Integer maxzoom; + + /* + * Human-readable name for the resource + */ + @Generated + private String name; + + /* + * List of asset identifiers included in the resource + */ + @Generated + private List assets; + + /* + * Defaults + */ + @Generated + private Map defaults; + + /** + * Creates an instance of Metadata class. + */ + @Generated + public Metadata() { + } + + /** + * Get the type property: Type of metadata resource. + * + * @return the type value. + */ + @Generated + public MetadataType getType() { + return this.type; + } + + /** + * Set the type property: Type of metadata resource. + * + * @param type the type value to set. + * @return the Metadata object itself. + */ + @Generated + public Metadata setType(MetadataType type) { + this.type = type; + return this; + } + + /** + * Get the bounds property: Geographic bounding box in [west, south, east, north] format. + * + * @return the bounds value. + */ + @Generated + public String getBounds() { + return this.bounds; + } + + /** + * Set the bounds property: Geographic bounding box in [west, south, east, north] format. + * + * @param bounds the bounds value to set. + * @return the Metadata object itself. + */ + @Generated + public Metadata setBounds(String bounds) { + this.bounds = bounds; + return this; + } + + /** + * Get the minzoom property: Minimum zoom level supported. + * + * @return the minzoom value. + */ + @Generated + public Integer getMinzoom() { + return this.minzoom; + } + + /** + * Set the minzoom property: Minimum zoom level supported. + * + * @param minzoom the minzoom value to set. + * @return the Metadata object itself. + */ + @Generated + public Metadata setMinzoom(Integer minzoom) { + this.minzoom = minzoom; + return this; + } + + /** + * Get the maxzoom property: Maximum zoom level supported. + * + * @return the maxzoom value. + */ + @Generated + public Integer getMaxzoom() { + return this.maxzoom; + } + + /** + * Set the maxzoom property: Maximum zoom level supported. + * + * @param maxzoom the maxzoom value to set. + * @return the Metadata object itself. + */ + @Generated + public Metadata setMaxzoom(Integer maxzoom) { + this.maxzoom = maxzoom; + return this; + } + + /** + * Get the name property: Human-readable name for the resource. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Set the name property: Human-readable name for the resource. + * + * @param name the name value to set. + * @return the Metadata object itself. + */ + @Generated + public Metadata setName(String name) { + this.name = name; + return this; + } + + /** + * Get the assets property: List of asset identifiers included in the resource. + * + * @return the assets value. + */ + @Generated + public List getAssets() { + return this.assets; + } + + /** + * Set the assets property: List of asset identifiers included in the resource. + * + * @param assets the assets value to set. + * @return the Metadata object itself. + */ + @Generated + public Metadata setAssets(List assets) { + this.assets = assets; + return this; + } + + /** + * Get the defaults property: Defaults. + * + * @return the defaults value. + */ + @Generated + public Map getDefaults() { + return this.defaults; + } + + /** + * Set the defaults property: Defaults. + * + * @param defaults the defaults value to set. + * @return the Metadata object itself. + */ + @Generated + public Metadata setDefaults(Map defaults) { + this.defaults = defaults; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("bounds", this.bounds); + jsonWriter.writeNumberField("minzoom", this.minzoom); + jsonWriter.writeNumberField("maxzoom", this.maxzoom); + jsonWriter.writeStringField("name", this.name); + jsonWriter.writeArrayField("assets", this.assets, (writer, element) -> writer.writeString(element)); + jsonWriter.writeMapField("defaults", this.defaults, (writer, element) -> writer.writeString(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of Metadata from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of Metadata if the JsonReader was pointing to an instance of it, or null if it was pointing + * to JSON null. + * @throws IOException If an error occurs while reading the Metadata. + */ + @Generated + public static Metadata fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + Metadata deserializedMetadata = new Metadata(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("type".equals(fieldName)) { + deserializedMetadata.type = MetadataType.fromString(reader.getString()); + } else if ("bounds".equals(fieldName)) { + deserializedMetadata.bounds = reader.getString(); + } else if ("minzoom".equals(fieldName)) { + deserializedMetadata.minzoom = reader.getNullable(JsonReader::getInt); + } else if ("maxzoom".equals(fieldName)) { + deserializedMetadata.maxzoom = reader.getNullable(JsonReader::getInt); + } else if ("name".equals(fieldName)) { + deserializedMetadata.name = reader.getString(); + } else if ("assets".equals(fieldName)) { + List assets = reader.readArray(reader1 -> reader1.getString()); + deserializedMetadata.assets = assets; + } else if ("defaults".equals(fieldName)) { + Map defaults = reader.readMap(reader1 -> reader1.getString()); + deserializedMetadata.defaults = defaults; + } else { + reader.skipChildren(); + } + } + + return deserializedMetadata; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/MetadataType.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/MetadataType.java new file mode 100644 index 000000000000..7bb163100bc5 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/MetadataType.java @@ -0,0 +1,57 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Type of metadata resource in the system. + */ +public final class MetadataType extends ExpandableStringEnum { + /** + * Metadata for a mosaic of multiple raster assets. + */ + @Generated + public static final MetadataType MOSAIC = fromString("mosaic"); + + /** + * Metadata for a search query result. + */ + @Generated + public static final MetadataType SEARCH = fromString("search"); + + /** + * Creates a new instance of MetadataType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public MetadataType() { + } + + /** + * Creates or finds a MetadataType from its string representation. + * + * @param name a name to look for. + * @return the corresponding MetadataType. + */ + @Generated + public static MetadataType fromString(String name) { + return fromString(name, MetadataType.class); + } + + /** + * Gets known MetadataType values. + * + * @return known MetadataType values. + */ + @Generated + public static Collection values() { + return values(MetadataType.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Mosaic.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Mosaic.java new file mode 100644 index 000000000000..38851cd0423e --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Mosaic.java @@ -0,0 +1,163 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Defines a named mosaic with filtering criteria. + */ +@Fluent +public final class Mosaic implements JsonSerializable { + /* + * Unique identifier for the mosaic. + */ + @Generated + private final String id; + + /* + * Short descriptive name for the mosaic. + */ + @Generated + private final String name; + + /* + * Detailed description of the mosaic. + */ + @Generated + private String description; + + /* + * A list of valid CQL2-JSON expressions used to filter the collection to moasic. + */ + @Generated + private final List cql; + + /** + * Creates an instance of Mosaic class. + * + * @param id the id value to set. + * @param name the name value to set. + * @param cql the cql value to set. + */ + @Generated + public Mosaic(String id, String name, List cql) { + this.id = id; + this.name = name; + this.cql = cql; + } + + /** + * Get the id property: Unique identifier for the mosaic. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the name property: Short descriptive name for the mosaic. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the description property: Detailed description of the mosaic. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: Detailed description of the mosaic. + * + * @param description the description value to set. + * @return the Mosaic object itself. + */ + @Generated + public Mosaic setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the cql property: A list of valid CQL2-JSON expressions used to filter the collection to moasic. + * + * @return the cql value. + */ + @Generated + public List getCql() { + return this.cql; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("name", this.name); + jsonWriter.writeArrayField("cql", this.cql, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("description", this.description); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of Mosaic from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of Mosaic if the JsonReader was pointing to an instance of it, or null if it was pointing to + * JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the Mosaic. + */ + @Generated + public static Mosaic fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + String name = null; + List cql = null; + String description = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("name".equals(fieldName)) { + name = reader.getString(); + } else if ("cql".equals(fieldName)) { + cql = reader.readArray(reader1 -> CqlFilter.fromJson(reader1)); + } else if ("description".equals(fieldName)) { + description = reader.getString(); + } else { + reader.skipChildren(); + } + } + Mosaic deserializedMosaic = new Mosaic(id, name, cql); + deserializedMosaic.description = description; + + return deserializedMosaic; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/MosaicInfo.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/MosaicInfo.java new file mode 100644 index 000000000000..94e7522e62b5 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/MosaicInfo.java @@ -0,0 +1,150 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Configuration for data mosaic visualization. + */ +@Immutable +public final class MosaicInfo implements JsonSerializable { + /* + * Predefined data mosaics available for this collection. + */ + @Generated + private final List mosaics; + + /* + * Available render options for visualizing the data. + */ + @Generated + private final List renderOptions; + + /* + * Default map location when displaying this collection. + */ + @Generated + private DefaultLocation defaultLocation; + + /* + * A list of CQL-JSON expressions to use as the default for this collection. + */ + @Generated + private CqlFilter defaultCustomQuery; + + /** + * Creates an instance of MosaicInfo class. + * + * @param mosaics the mosaics value to set. + * @param renderOptions the renderOptions value to set. + */ + @Generated + private MosaicInfo(List mosaics, List renderOptions) { + this.mosaics = mosaics; + this.renderOptions = renderOptions; + } + + /** + * Get the mosaics property: Predefined data mosaics available for this collection. + * + * @return the mosaics value. + */ + @Generated + public List getMosaics() { + return this.mosaics; + } + + /** + * Get the renderOptions property: Available render options for visualizing the data. + * + * @return the renderOptions value. + */ + @Generated + public List getRenderOptions() { + return this.renderOptions; + } + + /** + * Get the defaultLocation property: Default map location when displaying this collection. + * + * @return the defaultLocation value. + */ + @Generated + public DefaultLocation getDefaultLocation() { + return this.defaultLocation; + } + + /** + * Get the defaultCustomQuery property: A list of CQL-JSON expressions to use as the default for this collection. + * + * @return the defaultCustomQuery value. + */ + @Generated + public CqlFilter getDefaultCustomQuery() { + return this.defaultCustomQuery; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("mosaics", this.mosaics, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeArrayField("renderOptions", this.renderOptions, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeJsonField("defaultLocation", this.defaultLocation); + jsonWriter.writeJsonField("defaultCustomQuery", this.defaultCustomQuery); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of MosaicInfo from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of MosaicInfo if the JsonReader was pointing to an instance of it, or null if it was pointing + * to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the MosaicInfo. + */ + @Generated + public static MosaicInfo fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + List mosaics = null; + List renderOptions = null; + DefaultLocation defaultLocation = null; + CqlFilter defaultCustomQuery = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("mosaics".equals(fieldName)) { + mosaics = reader.readArray(reader1 -> Mosaic.fromJson(reader1)); + } else if ("renderOptions".equals(fieldName)) { + renderOptions = reader.readArray(reader1 -> RenderOptionModel.fromJson(reader1)); + } else if ("defaultLocation".equals(fieldName)) { + defaultLocation = DefaultLocation.fromJson(reader); + } else if ("defaultCustomQuery".equals(fieldName)) { + defaultCustomQuery = CqlFilter.fromJson(reader); + } else { + reader.skipChildren(); + } + } + MosaicInfo deserializedMosaicInfo = new MosaicInfo(mosaics, renderOptions); + deserializedMosaicInfo.defaultLocation = defaultLocation; + deserializedMosaicInfo.defaultCustomQuery = defaultCustomQuery; + + return deserializedMosaicInfo; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/MultiLineString.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/MultiLineString.java new file mode 100644 index 000000000000..7a8996783745 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/MultiLineString.java @@ -0,0 +1,167 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.azure.planetarycomputer.implementation.JsonMergePatchHelper; +import java.io.IOException; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** + * Represents a MultiLineString. + */ +@Fluent +public final class MultiLineString extends Geometry { + /* + * Discriminator property for Geometry. + */ + @Generated + private GeometryType type = GeometryType.MULTI_LINE_STRING; + + /* + * The coordinates of the multilinestring. + */ + @Generated + private List> coordinates; + + /** + * Stores updated model property, the value is property name, not serialized name. + */ + @Generated + private final Set updatedProperties = new HashSet<>(); + + /** + * Creates an instance of MultiLineString class. + */ + @Generated + public MultiLineString() { + } + + /** + * Get the type property: Discriminator property for Geometry. + * + * @return the type value. + */ + @Generated + @Override + public GeometryType getType() { + return this.type; + } + + /** + * Get the coordinates property: The coordinates of the multilinestring. + * + * @return the coordinates value. + */ + @Generated + public List> getCoordinates() { + return this.coordinates; + } + + /** + * Set the coordinates property: The coordinates of the multilinestring. + *

Required when create the resource.

+ * + * @param coordinates the coordinates value to set. + * @return the MultiLineString object itself. + */ + @Generated + public MultiLineString setCoordinates(List> coordinates) { + this.coordinates = coordinates; + this.updatedProperties.add("coordinates"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public MultiLineString setBbox(List bbox) { + super.setBbox(bbox); + this.updatedProperties.add("bbox"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + if (JsonMergePatchHelper.getGeometryAccessor().isJsonMergePatch(this)) { + return toJsonMergePatch(jsonWriter); + } else { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("bbox", getBbox(), (writer, element) -> writer.writeDouble(element)); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeArrayField("coordinates", this.coordinates, + (writer, element) -> writer.writeArray(element, (writer1, element1) -> writer1.writeDouble(element1))); + return jsonWriter.writeEndObject(); + } + } + + @Generated + private JsonWriter toJsonMergePatch(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + if (updatedProperties.contains("bbox")) { + if (getBbox() == null) { + jsonWriter.writeNullField("bbox"); + } else { + jsonWriter.writeArrayField("bbox", getBbox(), (writer, element) -> writer.writeDouble(element)); + } + } + jsonWriter.writeStringField("type", this.type.toString()); + if (updatedProperties.contains("coordinates")) { + if (this.coordinates == null) { + jsonWriter.writeNullField("coordinates"); + } else { + jsonWriter.writeArrayField("coordinates", this.coordinates, (writer, element) -> writer + .writeArray(element, (writer1, element1) -> writer1.writeDouble(element1))); + } + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of MultiLineString from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of MultiLineString if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IOException If an error occurs while reading the MultiLineString. + */ + @Generated + public static MultiLineString fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + MultiLineString deserializedMultiLineString = new MultiLineString(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("bbox".equals(fieldName)) { + List bbox = reader.readArray(reader1 -> reader1.getDouble()); + JsonMergePatchHelper.getGeometryAccessor().setBbox(deserializedMultiLineString, bbox); + } else if ("type".equals(fieldName)) { + deserializedMultiLineString.type = GeometryType.fromString(reader.getString()); + } else if ("coordinates".equals(fieldName)) { + List> coordinates + = reader.readArray(reader1 -> reader1.readArray(reader2 -> reader2.getDouble())); + deserializedMultiLineString.coordinates = coordinates; + } else { + reader.skipChildren(); + } + } + + return deserializedMultiLineString; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/MultiPoint.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/MultiPoint.java new file mode 100644 index 000000000000..bc31b7181e80 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/MultiPoint.java @@ -0,0 +1,166 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.azure.planetarycomputer.implementation.JsonMergePatchHelper; +import java.io.IOException; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** + * Represents a MultiPoint. + */ +@Fluent +public final class MultiPoint extends Geometry { + /* + * Discriminator property for Geometry. + */ + @Generated + private GeometryType type = GeometryType.MULTI_POINT; + + /* + * The coordinates of the multipoint. + */ + @Generated + private List coordinates; + + /** + * Stores updated model property, the value is property name, not serialized name. + */ + @Generated + private final Set updatedProperties = new HashSet<>(); + + /** + * Creates an instance of MultiPoint class. + */ + @Generated + public MultiPoint() { + } + + /** + * Get the type property: Discriminator property for Geometry. + * + * @return the type value. + */ + @Generated + @Override + public GeometryType getType() { + return this.type; + } + + /** + * Get the coordinates property: The coordinates of the multipoint. + * + * @return the coordinates value. + */ + @Generated + public List getCoordinates() { + return this.coordinates; + } + + /** + * Set the coordinates property: The coordinates of the multipoint. + *

Required when create the resource.

+ * + * @param coordinates the coordinates value to set. + * @return the MultiPoint object itself. + */ + @Generated + public MultiPoint setCoordinates(List coordinates) { + this.coordinates = coordinates; + this.updatedProperties.add("coordinates"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public MultiPoint setBbox(List bbox) { + super.setBbox(bbox); + this.updatedProperties.add("bbox"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + if (JsonMergePatchHelper.getGeometryAccessor().isJsonMergePatch(this)) { + return toJsonMergePatch(jsonWriter); + } else { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("bbox", getBbox(), (writer, element) -> writer.writeDouble(element)); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeArrayField("coordinates", this.coordinates, + (writer, element) -> writer.writeDouble(element)); + return jsonWriter.writeEndObject(); + } + } + + @Generated + private JsonWriter toJsonMergePatch(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + if (updatedProperties.contains("bbox")) { + if (getBbox() == null) { + jsonWriter.writeNullField("bbox"); + } else { + jsonWriter.writeArrayField("bbox", getBbox(), (writer, element) -> writer.writeDouble(element)); + } + } + jsonWriter.writeStringField("type", this.type.toString()); + if (updatedProperties.contains("coordinates")) { + if (this.coordinates == null) { + jsonWriter.writeNullField("coordinates"); + } else { + jsonWriter.writeArrayField("coordinates", this.coordinates, + (writer, element) -> writer.writeDouble(element)); + } + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of MultiPoint from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of MultiPoint if the JsonReader was pointing to an instance of it, or null if it was pointing + * to JSON null. + * @throws IOException If an error occurs while reading the MultiPoint. + */ + @Generated + public static MultiPoint fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + MultiPoint deserializedMultiPoint = new MultiPoint(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("bbox".equals(fieldName)) { + List bbox = reader.readArray(reader1 -> reader1.getDouble()); + JsonMergePatchHelper.getGeometryAccessor().setBbox(deserializedMultiPoint, bbox); + } else if ("type".equals(fieldName)) { + deserializedMultiPoint.type = GeometryType.fromString(reader.getString()); + } else if ("coordinates".equals(fieldName)) { + List coordinates = reader.readArray(reader1 -> reader1.getDouble()); + deserializedMultiPoint.coordinates = coordinates; + } else { + reader.skipChildren(); + } + } + + return deserializedMultiPoint; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/MultiPolygon.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/MultiPolygon.java new file mode 100644 index 000000000000..2f335b782743 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/MultiPolygon.java @@ -0,0 +1,169 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.azure.planetarycomputer.implementation.JsonMergePatchHelper; +import java.io.IOException; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** + * Represents a MultiPolygon. + */ +@Fluent +public final class MultiPolygon extends Geometry { + /* + * Discriminator property for Geometry. + */ + @Generated + private GeometryType type = GeometryType.MULTI_POLYGON; + + /* + * The coordinates of the multipolygon. + */ + @Generated + private List>> coordinates; + + /** + * Stores updated model property, the value is property name, not serialized name. + */ + @Generated + private final Set updatedProperties = new HashSet<>(); + + /** + * Creates an instance of MultiPolygon class. + */ + @Generated + public MultiPolygon() { + } + + /** + * Get the type property: Discriminator property for Geometry. + * + * @return the type value. + */ + @Generated + @Override + public GeometryType getType() { + return this.type; + } + + /** + * Get the coordinates property: The coordinates of the multipolygon. + * + * @return the coordinates value. + */ + @Generated + public List>> getCoordinates() { + return this.coordinates; + } + + /** + * Set the coordinates property: The coordinates of the multipolygon. + *

Required when create the resource.

+ * + * @param coordinates the coordinates value to set. + * @return the MultiPolygon object itself. + */ + @Generated + public MultiPolygon setCoordinates(List>> coordinates) { + this.coordinates = coordinates; + this.updatedProperties.add("coordinates"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public MultiPolygon setBbox(List bbox) { + super.setBbox(bbox); + this.updatedProperties.add("bbox"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + if (JsonMergePatchHelper.getGeometryAccessor().isJsonMergePatch(this)) { + return toJsonMergePatch(jsonWriter); + } else { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("bbox", getBbox(), (writer, element) -> writer.writeDouble(element)); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeArrayField("coordinates", this.coordinates, + (writer, element) -> writer.writeArray(element, (writer1, element1) -> writer1.writeArray(element1, + (writer2, element2) -> writer2.writeDouble(element2)))); + return jsonWriter.writeEndObject(); + } + } + + @Generated + private JsonWriter toJsonMergePatch(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + if (updatedProperties.contains("bbox")) { + if (getBbox() == null) { + jsonWriter.writeNullField("bbox"); + } else { + jsonWriter.writeArrayField("bbox", getBbox(), (writer, element) -> writer.writeDouble(element)); + } + } + jsonWriter.writeStringField("type", this.type.toString()); + if (updatedProperties.contains("coordinates")) { + if (this.coordinates == null) { + jsonWriter.writeNullField("coordinates"); + } else { + jsonWriter.writeArrayField("coordinates", this.coordinates, + (writer, element) -> writer.writeArray(element, (writer1, element1) -> writer1.writeArray(element1, + (writer2, element2) -> writer2.writeDouble(element2)))); + } + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of MultiPolygon from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of MultiPolygon if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IOException If an error occurs while reading the MultiPolygon. + */ + @Generated + public static MultiPolygon fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + MultiPolygon deserializedMultiPolygon = new MultiPolygon(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("bbox".equals(fieldName)) { + List bbox = reader.readArray(reader1 -> reader1.getDouble()); + JsonMergePatchHelper.getGeometryAccessor().setBbox(deserializedMultiPolygon, bbox); + } else if ("type".equals(fieldName)) { + deserializedMultiPolygon.type = GeometryType.fromString(reader.getString()); + } else if ("coordinates".equals(fieldName)) { + List>> coordinates = reader.readArray( + reader1 -> reader1.readArray(reader2 -> reader2.readArray(reader3 -> reader3.getDouble()))); + deserializedMultiPolygon.coordinates = coordinates; + } else { + reader.skipChildren(); + } + } + + return deserializedMultiPolygon; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/NoDataType.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/NoDataType.java new file mode 100644 index 000000000000..1beeeb6bd7e4 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/NoDataType.java @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * NoDataType. + */ +public final class NoDataType extends ExpandableStringEnum { + /** + * Nodata represented by alpha channel. + */ + @Generated + public static final NoDataType ALPHA = fromString("Alpha"); + + /** + * Nodata represented by a mask. + */ + @Generated + public static final NoDataType MASK = fromString("Mask"); + + /** + * Nodata represented internally in the dataset. + */ + @Generated + public static final NoDataType INTERNAL = fromString("Internal"); + + /** + * Explicit nodata value defined in the dataset. + */ + @Generated + public static final NoDataType NODATA = fromString("Nodata"); + + /** + * No nodata value defined. + */ + @Generated + public static final NoDataType NONE = fromString("None"); + + /** + * Creates a new instance of NoDataType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public NoDataType() { + } + + /** + * Creates or finds a NoDataType from its string representation. + * + * @param name a name to look for. + * @return the corresponding NoDataType. + */ + @Generated + public static NoDataType fromString(String name) { + return fromString(name, NoDataType.class); + } + + /** + * Gets known NoDataType values. + * + * @return known NoDataType values. + */ + @Generated + public static Collection values() { + return values(NoDataType.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Operation.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Operation.java new file mode 100644 index 000000000000..70256cccd103 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Operation.java @@ -0,0 +1,292 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.core.models.ResponseError; +import com.azure.core.util.CoreUtils; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.time.format.DateTimeFormatter; +import java.util.List; +import java.util.Map; + +/** + * Microsoft Planetary Computer Pro geo-catalog operation. + */ +@Immutable +public final class Operation implements JsonSerializable { + /* + * Operation id + */ + @Generated + private final String id; + + /* + * Operation status + */ + @Generated + private final OperationStatus status; + + /* + * Operation type + */ + @Generated + private final String type; + + /* + * The UTC time at which the operation was created + */ + @Generated + private final OffsetDateTime creationTime; + + /* + * Collection ID + */ + @Generated + private String collectionId; + + /* + * The history of the operation status in time + */ + @Generated + private final List statusHistory; + + /* + * The UTC time at which the operation was started + */ + @Generated + private OffsetDateTime startTime; + + /* + * The UTC time at which the operation finished its execution + */ + @Generated + private OffsetDateTime finishTime; + + /* + * Additional information elements about the particular operation type + */ + @Generated + private Map additionalInformation; + + /* + * Error information + */ + @Generated + private ResponseError error; + + /** + * Creates an instance of Operation class. + * + * @param id the id value to set. + * @param status the status value to set. + * @param type the type value to set. + * @param creationTime the creationTime value to set. + * @param statusHistory the statusHistory value to set. + */ + @Generated + private Operation(String id, OperationStatus status, String type, OffsetDateTime creationTime, + List statusHistory) { + this.id = id; + this.status = status; + this.type = type; + this.creationTime = creationTime; + this.statusHistory = statusHistory; + } + + /** + * Get the id property: Operation id. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the status property: Operation status. + * + * @return the status value. + */ + @Generated + public OperationStatus getStatus() { + return this.status; + } + + /** + * Get the type property: Operation type. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * Get the creationTime property: The UTC time at which the operation was created. + * + * @return the creationTime value. + */ + @Generated + public OffsetDateTime getCreationTime() { + return this.creationTime; + } + + /** + * Get the collectionId property: Collection ID. + * + * @return the collectionId value. + */ + @Generated + public String getCollectionId() { + return this.collectionId; + } + + /** + * Get the statusHistory property: The history of the operation status in time. + * + * @return the statusHistory value. + */ + @Generated + public List getStatusHistory() { + return this.statusHistory; + } + + /** + * Get the startTime property: The UTC time at which the operation was started. + * + * @return the startTime value. + */ + @Generated + public OffsetDateTime getStartTime() { + return this.startTime; + } + + /** + * Get the finishTime property: The UTC time at which the operation finished its execution. + * + * @return the finishTime value. + */ + @Generated + public OffsetDateTime getFinishTime() { + return this.finishTime; + } + + /** + * Get the additionalInformation property: Additional information elements about the particular operation type. + * + * @return the additionalInformation value. + */ + @Generated + public Map getAdditionalInformation() { + return this.additionalInformation; + } + + /** + * Get the error property: Error information. + * + * @return the error value. + */ + @Generated + public ResponseError getError() { + return this.error; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString()); + jsonWriter.writeStringField("type", this.type); + jsonWriter.writeStringField("creationTime", + this.creationTime == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.creationTime)); + jsonWriter.writeArrayField("statusHistory", this.statusHistory, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("collectionId", this.collectionId); + jsonWriter.writeStringField("startTime", + this.startTime == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.startTime)); + jsonWriter.writeStringField("finishTime", + this.finishTime == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.finishTime)); + jsonWriter.writeMapField("additionalInformation", this.additionalInformation, + (writer, element) -> writer.writeString(element)); + jsonWriter.writeJsonField("error", this.error); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of Operation from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of Operation if the JsonReader was pointing to an instance of it, or null if it was pointing + * to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the Operation. + */ + @Generated + public static Operation fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + OperationStatus status = null; + String type = null; + OffsetDateTime creationTime = null; + List statusHistory = null; + String collectionId = null; + OffsetDateTime startTime = null; + OffsetDateTime finishTime = null; + Map additionalInformation = null; + ResponseError error = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("status".equals(fieldName)) { + status = OperationStatus.fromString(reader.getString()); + } else if ("type".equals(fieldName)) { + type = reader.getString(); + } else if ("creationTime".equals(fieldName)) { + creationTime = reader + .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString())); + } else if ("statusHistory".equals(fieldName)) { + statusHistory = reader.readArray(reader1 -> OperationStatusHistoryItem.fromJson(reader1)); + } else if ("collectionId".equals(fieldName)) { + collectionId = reader.getString(); + } else if ("startTime".equals(fieldName)) { + startTime = reader + .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString())); + } else if ("finishTime".equals(fieldName)) { + finishTime = reader + .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString())); + } else if ("additionalInformation".equals(fieldName)) { + additionalInformation = reader.readMap(reader1 -> reader1.getString()); + } else if ("error".equals(fieldName)) { + error = ResponseError.fromJson(reader); + } else { + reader.skipChildren(); + } + } + Operation deserializedOperation = new Operation(id, status, type, creationTime, statusHistory); + deserializedOperation.collectionId = collectionId; + deserializedOperation.startTime = startTime; + deserializedOperation.finishTime = finishTime; + deserializedOperation.additionalInformation = additionalInformation; + deserializedOperation.error = error; + + return deserializedOperation; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/OperationStatus.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/OperationStatus.java new file mode 100644 index 000000000000..c77b086130e1 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/OperationStatus.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Operation status. + */ +public final class OperationStatus extends ExpandableStringEnum { + /** + * Operation accepted and ready to be run. + */ + @Generated + public static final OperationStatus PENDING = fromString("Pending"); + + /** + * Operation is running. + */ + @Generated + public static final OperationStatus RUNNING = fromString("Running"); + + /** + * Operation has already finished its execution. + */ + @Generated + public static final OperationStatus SUCCEEDED = fromString("Succeeded"); + + /** + * Operation canceled by the user. + */ + @Generated + public static final OperationStatus CANCELED = fromString("Canceled"); + + /** + * Operation is being canceling. + */ + @Generated + public static final OperationStatus CANCELING = fromString("Canceling"); + + /** + * Operation failed. + */ + @Generated + public static final OperationStatus FAILED = fromString("Failed"); + + /** + * Creates a new instance of OperationStatus value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public OperationStatus() { + } + + /** + * Creates or finds a OperationStatus from its string representation. + * + * @param name a name to look for. + * @return the corresponding OperationStatus. + */ + @Generated + public static OperationStatus fromString(String name) { + return fromString(name, OperationStatus.class); + } + + /** + * Gets known OperationStatus values. + * + * @return known OperationStatus values. + */ + @Generated + public static Collection values() { + return values(OperationStatus.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/OperationStatusHistoryItem.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/OperationStatusHistoryItem.java new file mode 100644 index 000000000000..c5b96d537c7b --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/OperationStatusHistoryItem.java @@ -0,0 +1,155 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.core.util.CoreUtils; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.time.format.DateTimeFormatter; + +/** + * Operation status history item. + */ +@Immutable +public final class OperationStatusHistoryItem implements JsonSerializable { + /* + * The UTC time at which the status was set + */ + @Generated + private final OffsetDateTime timestamp; + + /* + * The status of the operation + */ + @Generated + private final OperationStatus status; + + /* + * If the status is failed, the error code + */ + @Generated + private String errorCode; + + /* + * If the status is failed, the error message + */ + @Generated + private String errorMessage; + + /** + * Creates an instance of OperationStatusHistoryItem class. + * + * @param timestamp the timestamp value to set. + * @param status the status value to set. + */ + @Generated + private OperationStatusHistoryItem(OffsetDateTime timestamp, OperationStatus status) { + this.timestamp = timestamp; + this.status = status; + } + + /** + * Get the timestamp property: The UTC time at which the status was set. + * + * @return the timestamp value. + */ + @Generated + public OffsetDateTime getTimestamp() { + return this.timestamp; + } + + /** + * Get the status property: The status of the operation. + * + * @return the status value. + */ + @Generated + public OperationStatus getStatus() { + return this.status; + } + + /** + * Get the errorCode property: If the status is failed, the error code. + * + * @return the errorCode value. + */ + @Generated + public String getErrorCode() { + return this.errorCode; + } + + /** + * Get the errorMessage property: If the status is failed, the error message. + * + * @return the errorMessage value. + */ + @Generated + public String getErrorMessage() { + return this.errorMessage; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("timestamp", + this.timestamp == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.timestamp)); + jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString()); + jsonWriter.writeStringField("errorCode", this.errorCode); + jsonWriter.writeStringField("errorMessage", this.errorMessage); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of OperationStatusHistoryItem from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of OperationStatusHistoryItem if the JsonReader was pointing to an instance of it, or null if + * it was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the OperationStatusHistoryItem. + */ + @Generated + public static OperationStatusHistoryItem fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + OffsetDateTime timestamp = null; + OperationStatus status = null; + String errorCode = null; + String errorMessage = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("timestamp".equals(fieldName)) { + timestamp = reader + .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString())); + } else if ("status".equals(fieldName)) { + status = OperationStatus.fromString(reader.getString()); + } else if ("errorCode".equals(fieldName)) { + errorCode = reader.getString(); + } else if ("errorMessage".equals(fieldName)) { + errorMessage = reader.getString(); + } else { + reader.skipChildren(); + } + } + OperationStatusHistoryItem deserializedOperationStatusHistoryItem + = new OperationStatusHistoryItem(timestamp, status); + deserializedOperationStatusHistoryItem.errorCode = errorCode; + deserializedOperationStatusHistoryItem.errorMessage = errorMessage; + + return deserializedOperationStatusHistoryItem; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/OperationsPagedResponse.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/OperationsPagedResponse.java new file mode 100644 index 000000000000..b111db1d8b4b --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/OperationsPagedResponse.java @@ -0,0 +1,107 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Operations paged response. + */ +@Immutable +public final class OperationsPagedResponse implements JsonSerializable { + /* + * Operations + */ + @Generated + private final List value; + + /* + * Next page + */ + @Generated + private String nextLink; + + /** + * Creates an instance of OperationsPagedResponse class. + * + * @param value the value value to set. + */ + @Generated + private OperationsPagedResponse(List value) { + this.value = value; + } + + /** + * Get the value property: Operations. + * + * @return the value value. + */ + @Generated + public List getValue() { + return this.value; + } + + /** + * Get the nextLink property: Next page. + * + * @return the nextLink value. + */ + @Generated + public String getNextLink() { + return this.nextLink; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("value", this.value, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("nextLink", this.nextLink); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of OperationsPagedResponse from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of OperationsPagedResponse if the JsonReader was pointing to an instance of it, or null if it + * was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the OperationsPagedResponse. + */ + @Generated + public static OperationsPagedResponse fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + List value = null; + String nextLink = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("value".equals(fieldName)) { + value = reader.readArray(reader1 -> Operation.fromJson(reader1)); + } else if ("nextLink".equals(fieldName)) { + nextLink = reader.getString(); + } else { + reader.skipChildren(); + } + } + OperationsPagedResponse deserializedOperationsPagedResponse = new OperationsPagedResponse(value); + deserializedOperationsPagedResponse.nextLink = nextLink; + + return deserializedOperationsPagedResponse; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/PartitionType.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/PartitionType.java new file mode 100644 index 000000000000..c37be7b5b81a --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/PartitionType.java @@ -0,0 +1,92 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Defines how data is partitioned for efficient storage and retrieval. + */ +@Fluent +public final class PartitionType implements JsonSerializable { + /* + * Partitioning scheme to use for data organization. + */ + @Generated + private PartitionTypeScheme scheme; + + /** + * Creates an instance of PartitionType class. + */ + @Generated + public PartitionType() { + } + + /** + * Get the scheme property: Partitioning scheme to use for data organization. + * + * @return the scheme value. + */ + @Generated + public PartitionTypeScheme getScheme() { + return this.scheme; + } + + /** + * Set the scheme property: Partitioning scheme to use for data organization. + * + * @param scheme the scheme value to set. + * @return the PartitionType object itself. + */ + @Generated + public PartitionType setScheme(PartitionTypeScheme scheme) { + this.scheme = scheme; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("scheme", this.scheme == null ? null : this.scheme.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of PartitionType from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of PartitionType if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IOException If an error occurs while reading the PartitionType. + */ + @Generated + public static PartitionType fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + PartitionType deserializedPartitionType = new PartitionType(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("scheme".equals(fieldName)) { + deserializedPartitionType.scheme = PartitionTypeScheme.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + + return deserializedPartitionType; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/PartitionTypeScheme.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/PartitionTypeScheme.java new file mode 100644 index 000000000000..19ab3aa6b5a5 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/PartitionTypeScheme.java @@ -0,0 +1,63 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Defines partitioning schemes for temporal data organization. + */ +public final class PartitionTypeScheme extends ExpandableStringEnum { + /** + * Partition data by year. + */ + @Generated + public static final PartitionTypeScheme YEAR = fromString("year"); + + /** + * Partition data by month. + */ + @Generated + public static final PartitionTypeScheme MONTH = fromString("month"); + + /** + * No partitioning. + */ + @Generated + public static final PartitionTypeScheme NONE = fromString("none"); + + /** + * Creates a new instance of PartitionTypeScheme value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public PartitionTypeScheme() { + } + + /** + * Creates or finds a PartitionTypeScheme from its string representation. + * + * @param name a name to look for. + * @return the corresponding PartitionTypeScheme. + */ + @Generated + public static PartitionTypeScheme fromString(String name) { + return fromString(name, PartitionTypeScheme.class); + } + + /** + * Gets known PartitionTypeScheme values. + * + * @return known PartitionTypeScheme values. + */ + @Generated + public static Collection values() { + return values(PartitionTypeScheme.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/PgStacSearch.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/PgStacSearch.java new file mode 100644 index 000000000000..a27074160e9c --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/PgStacSearch.java @@ -0,0 +1,225 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.core.util.CoreUtils; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.time.format.DateTimeFormatter; + +/** + * PgSTAC Search entry. + * + * ref: + * https://github.com/stac-utils/pgstac/blob/3499daa2bfa700ae7bb07503795c169bf2ebafc7/sql/004_search.sql#L907-L915Stored + * search query in the PgSTAC database. + */ +@Immutable +public final class PgStacSearch implements JsonSerializable { + /* + * Unique hash identifier for the search query + */ + @Generated + private final String hash; + + /* + * Search + */ + @Generated + private final CqlFilter search; + + /* + * SQL WHERE clause representing the search filters + */ + @Generated + private final String where; + + /* + * SQL ORDER BY clause for sorting results + */ + @Generated + private final String orderby; + + /* + * Timestamp when the search was last accessed + */ + @Generated + private final OffsetDateTime lastused; + + /* + * Number of times the search has been accessed + */ + @Generated + private final int usecount; + + /* + * Additional metadata associated with the search + */ + @Generated + private final Metadata metadata; + + /** + * Creates an instance of PgStacSearch class. + * + * @param hash the hash value to set. + * @param search the search value to set. + * @param where the where value to set. + * @param orderby the orderby value to set. + * @param lastused the lastused value to set. + * @param usecount the usecount value to set. + * @param metadata the metadata value to set. + */ + @Generated + private PgStacSearch(String hash, CqlFilter search, String where, String orderby, OffsetDateTime lastused, + int usecount, Metadata metadata) { + this.hash = hash; + this.search = search; + this.where = where; + this.orderby = orderby; + this.lastused = lastused; + this.usecount = usecount; + this.metadata = metadata; + } + + /** + * Get the hash property: Unique hash identifier for the search query. + * + * @return the hash value. + */ + @Generated + public String getHash() { + return this.hash; + } + + /** + * Get the search property: Search. + * + * @return the search value. + */ + @Generated + public CqlFilter getSearch() { + return this.search; + } + + /** + * Get the where property: SQL WHERE clause representing the search filters. + * + * @return the where value. + */ + @Generated + public String getWhere() { + return this.where; + } + + /** + * Get the orderby property: SQL ORDER BY clause for sorting results. + * + * @return the orderby value. + */ + @Generated + public String getOrderby() { + return this.orderby; + } + + /** + * Get the lastused property: Timestamp when the search was last accessed. + * + * @return the lastused value. + */ + @Generated + public OffsetDateTime getLastused() { + return this.lastused; + } + + /** + * Get the usecount property: Number of times the search has been accessed. + * + * @return the usecount value. + */ + @Generated + public int getUsecount() { + return this.usecount; + } + + /** + * Get the metadata property: Additional metadata associated with the search. + * + * @return the metadata value. + */ + @Generated + public Metadata getMetadata() { + return this.metadata; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("hash", this.hash); + jsonWriter.writeJsonField("search", this.search); + jsonWriter.writeStringField("_where", this.where); + jsonWriter.writeStringField("orderby", this.orderby); + jsonWriter.writeStringField("lastused", + this.lastused == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.lastused)); + jsonWriter.writeIntField("usecount", this.usecount); + jsonWriter.writeJsonField("metadata", this.metadata); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of PgStacSearch from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of PgStacSearch if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the PgStacSearch. + */ + @Generated + public static PgStacSearch fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String hash = null; + CqlFilter search = null; + String where = null; + String orderby = null; + OffsetDateTime lastused = null; + int usecount = 0; + Metadata metadata = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("hash".equals(fieldName)) { + hash = reader.getString(); + } else if ("search".equals(fieldName)) { + search = CqlFilter.fromJson(reader); + } else if ("_where".equals(fieldName)) { + where = reader.getString(); + } else if ("orderby".equals(fieldName)) { + orderby = reader.getString(); + } else if ("lastused".equals(fieldName)) { + lastused = reader + .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString())); + } else if ("usecount".equals(fieldName)) { + usecount = reader.getInt(); + } else if ("metadata".equals(fieldName)) { + metadata = Metadata.fromJson(reader); + } else { + reader.skipChildren(); + } + } + return new PgStacSearch(hash, search, where, orderby, lastused, usecount, metadata); + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/PixelSelection.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/PixelSelection.java new file mode 100644 index 000000000000..01d423d5ef23 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/PixelSelection.java @@ -0,0 +1,95 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Identifier selecting one of the TileMatrixSetId supported (default: + * 'WebMercatorQuad')Identifier selecting one of the TileMatrixSetId supported (default: + * 'WebMercatorQuad')Method used to select or compute pixels when creating composites from multiple sources. + */ +public final class PixelSelection extends ExpandableStringEnum { + /** + * Select pixel from the first available image. + */ + @Generated + public static final PixelSelection FIRST = fromString("first"); + + /** + * Select pixel with the highest value. + */ + @Generated + public static final PixelSelection HIGHEST = fromString("highest"); + + /** + * Select pixel with the lowest value. + */ + @Generated + public static final PixelSelection LOWEST = fromString("lowest"); + + /** + * Calculate mean of available pixels. + */ + @Generated + public static final PixelSelection MEAN = fromString("mean"); + + /** + * Calculate median of available pixels. + */ + @Generated + public static final PixelSelection MEDIAN = fromString("median"); + + /** + * Calculate standard deviation of available pixels. + */ + @Generated + public static final PixelSelection STDEV = fromString("stdev"); + + /** + * Select image with lowest value in the last band. + */ + @Generated + public static final PixelSelection LASTBANDLOW = fromString("lastbandlow"); + + /** + * Select image with highest value in the last band. + */ + @Generated + public static final PixelSelection LASTBANDHIGHT = fromString("lastbandhight"); + + /** + * Creates a new instance of PixelSelection value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public PixelSelection() { + } + + /** + * Creates or finds a PixelSelection from its string representation. + * + * @param name a name to look for. + * @return the corresponding PixelSelection. + */ + @Generated + public static PixelSelection fromString(String name) { + return fromString(name, PixelSelection.class); + } + + /** + * Gets known PixelSelection values. + * + * @return known PixelSelection values. + */ + @Generated + public static Collection values() { + return values(PixelSelection.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Point.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Point.java new file mode 100644 index 000000000000..74aad3204aa3 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Point.java @@ -0,0 +1,163 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.azure.planetarycomputer.implementation.JsonMergePatchHelper; +import java.io.IOException; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** + * Represents a GeoJSON Point geometry. + */ +@Fluent +public final class Point extends Geometry { + /* + * Discriminator property for Geometry. + */ + @Generated + private GeometryType type = GeometryType.POINT; + + /* + * The coordinates of the point as [longitude, latitude]. + */ + @Generated + private String coordinates; + + /** + * Stores updated model property, the value is property name, not serialized name. + */ + @Generated + private final Set updatedProperties = new HashSet<>(); + + /** + * Creates an instance of Point class. + */ + @Generated + public Point() { + } + + /** + * Get the type property: Discriminator property for Geometry. + * + * @return the type value. + */ + @Generated + @Override + public GeometryType getType() { + return this.type; + } + + /** + * Get the coordinates property: The coordinates of the point as [longitude, latitude]. + * + * @return the coordinates value. + */ + @Generated + public String getCoordinates() { + return this.coordinates; + } + + /** + * Set the coordinates property: The coordinates of the point as [longitude, latitude]. + *

Required when create the resource.

+ * + * @param coordinates the coordinates value to set. + * @return the Point object itself. + */ + @Generated + public Point setCoordinates(String coordinates) { + this.coordinates = coordinates; + this.updatedProperties.add("coordinates"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public Point setBbox(List bbox) { + super.setBbox(bbox); + this.updatedProperties.add("bbox"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + if (JsonMergePatchHelper.getGeometryAccessor().isJsonMergePatch(this)) { + return toJsonMergePatch(jsonWriter); + } else { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("bbox", getBbox(), (writer, element) -> writer.writeDouble(element)); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("coordinates", this.coordinates); + return jsonWriter.writeEndObject(); + } + } + + @Generated + private JsonWriter toJsonMergePatch(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + if (updatedProperties.contains("bbox")) { + if (getBbox() == null) { + jsonWriter.writeNullField("bbox"); + } else { + jsonWriter.writeArrayField("bbox", getBbox(), (writer, element) -> writer.writeDouble(element)); + } + } + jsonWriter.writeStringField("type", this.type.toString()); + if (updatedProperties.contains("coordinates")) { + if (this.coordinates == null) { + jsonWriter.writeNullField("coordinates"); + } else { + jsonWriter.writeStringField("coordinates", this.coordinates); + } + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of Point from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of Point if the JsonReader was pointing to an instance of it, or null if it was pointing to + * JSON null. + * @throws IOException If an error occurs while reading the Point. + */ + @Generated + public static Point fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + Point deserializedPoint = new Point(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("bbox".equals(fieldName)) { + List bbox = reader.readArray(reader1 -> reader1.getDouble()); + JsonMergePatchHelper.getGeometryAccessor().setBbox(deserializedPoint, bbox); + } else if ("type".equals(fieldName)) { + deserializedPoint.type = GeometryType.fromString(reader.getString()); + } else if ("coordinates".equals(fieldName)) { + deserializedPoint.coordinates = reader.getString(); + } else { + reader.skipChildren(); + } + } + + return deserializedPoint; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Polygon.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Polygon.java new file mode 100644 index 000000000000..1946a770e3f4 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Polygon.java @@ -0,0 +1,169 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.azure.planetarycomputer.implementation.JsonMergePatchHelper; +import java.io.IOException; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** + * Represents a Polygon. + */ +@Fluent +public final class Polygon extends Geometry { + /* + * Discriminator property for Geometry. + */ + @Generated + private GeometryType type = GeometryType.POLYGON; + + /* + * The coordinates of the polygon. + */ + @Generated + private List>> coordinates; + + /** + * Stores updated model property, the value is property name, not serialized name. + */ + @Generated + private final Set updatedProperties = new HashSet<>(); + + /** + * Creates an instance of Polygon class. + */ + @Generated + public Polygon() { + } + + /** + * Get the type property: Discriminator property for Geometry. + * + * @return the type value. + */ + @Generated + @Override + public GeometryType getType() { + return this.type; + } + + /** + * Get the coordinates property: The coordinates of the polygon. + * + * @return the coordinates value. + */ + @Generated + public List>> getCoordinates() { + return this.coordinates; + } + + /** + * Set the coordinates property: The coordinates of the polygon. + *

Required when create the resource.

+ * + * @param coordinates the coordinates value to set. + * @return the Polygon object itself. + */ + @Generated + public Polygon setCoordinates(List>> coordinates) { + this.coordinates = coordinates; + this.updatedProperties.add("coordinates"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public Polygon setBbox(List bbox) { + super.setBbox(bbox); + this.updatedProperties.add("bbox"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + if (JsonMergePatchHelper.getGeometryAccessor().isJsonMergePatch(this)) { + return toJsonMergePatch(jsonWriter); + } else { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("bbox", getBbox(), (writer, element) -> writer.writeDouble(element)); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeArrayField("coordinates", this.coordinates, + (writer, element) -> writer.writeArray(element, (writer1, element1) -> writer1.writeArray(element1, + (writer2, element2) -> writer2.writeDouble(element2)))); + return jsonWriter.writeEndObject(); + } + } + + @Generated + private JsonWriter toJsonMergePatch(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + if (updatedProperties.contains("bbox")) { + if (getBbox() == null) { + jsonWriter.writeNullField("bbox"); + } else { + jsonWriter.writeArrayField("bbox", getBbox(), (writer, element) -> writer.writeDouble(element)); + } + } + jsonWriter.writeStringField("type", this.type.toString()); + if (updatedProperties.contains("coordinates")) { + if (this.coordinates == null) { + jsonWriter.writeNullField("coordinates"); + } else { + jsonWriter.writeArrayField("coordinates", this.coordinates, + (writer, element) -> writer.writeArray(element, (writer1, element1) -> writer1.writeArray(element1, + (writer2, element2) -> writer2.writeDouble(element2)))); + } + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of Polygon from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of Polygon if the JsonReader was pointing to an instance of it, or null if it was pointing to + * JSON null. + * @throws IOException If an error occurs while reading the Polygon. + */ + @Generated + public static Polygon fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + Polygon deserializedPolygon = new Polygon(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("bbox".equals(fieldName)) { + List bbox = reader.readArray(reader1 -> reader1.getDouble()); + JsonMergePatchHelper.getGeometryAccessor().setBbox(deserializedPolygon, bbox); + } else if ("type".equals(fieldName)) { + deserializedPolygon.type = GeometryType.fromString(reader.getString()); + } else if ("coordinates".equals(fieldName)) { + List>> coordinates = reader.readArray( + reader1 -> reader1.readArray(reader2 -> reader2.readArray(reader3 -> reader3.getDouble()))); + deserializedPolygon.coordinates = coordinates; + } else { + reader.skipChildren(); + } + } + + return deserializedPolygon; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Provider.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Provider.java new file mode 100644 index 000000000000..2564c188d76d --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Provider.java @@ -0,0 +1,264 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.azure.planetarycomputer.implementation.JsonMergePatchHelper; +import java.io.IOException; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** + * https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md#provider-object + * + * Represents information about a data provider for STAC collections and items. + */ +@Fluent +public final class Provider implements JsonSerializable { + /* + * Name of the provider organization or individual. + */ + @Generated + private String name; + + /* + * Description of the provider. + */ + @Generated + private String description; + + /* + * Roles played by the provider (e.g., producer, processor, host). + */ + @Generated + private List roles; + + /* + * URL to the provider's website. + */ + @Generated + private String url; + + /** + * Stores updated model property, the value is property name, not serialized name. + */ + @Generated + private final Set updatedProperties = new HashSet<>(); + + @Generated + private boolean jsonMergePatch; + + @Generated + private void serializeAsJsonMergePatch(boolean jsonMergePatch) { + this.jsonMergePatch = jsonMergePatch; + } + + static { + JsonMergePatchHelper.setProviderAccessor(new JsonMergePatchHelper.ProviderAccessor() { + @Override + public Provider prepareModelForJsonMergePatch(Provider model, boolean jsonMergePatchEnabled) { + model.serializeAsJsonMergePatch(jsonMergePatchEnabled); + return model; + } + + @Override + public boolean isJsonMergePatch(Provider model) { + return model.jsonMergePatch; + } + }); + } + + /** + * Creates an instance of Provider class. + */ + @Generated + public Provider() { + } + + /** + * Get the name property: Name of the provider organization or individual. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Set the name property: Name of the provider organization or individual. + *

Required when create the resource.

+ * + * @param name the name value to set. + * @return the Provider object itself. + */ + @Generated + public Provider setName(String name) { + this.name = name; + this.updatedProperties.add("name"); + return this; + } + + /** + * Get the description property: Description of the provider. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: Description of the provider. + * + * @param description the description value to set. + * @return the Provider object itself. + */ + @Generated + public Provider setDescription(String description) { + this.description = description; + this.updatedProperties.add("description"); + return this; + } + + /** + * Get the roles property: Roles played by the provider (e.g., producer, processor, host). + * + * @return the roles value. + */ + @Generated + public List getRoles() { + return this.roles; + } + + /** + * Set the roles property: Roles played by the provider (e.g., producer, processor, host). + * + * @param roles the roles value to set. + * @return the Provider object itself. + */ + @Generated + public Provider setRoles(List roles) { + this.roles = roles; + this.updatedProperties.add("roles"); + return this; + } + + /** + * Get the url property: URL to the provider's website. + * + * @return the url value. + */ + @Generated + public String getUrl() { + return this.url; + } + + /** + * Set the url property: URL to the provider's website. + * + * @param url the url value to set. + * @return the Provider object itself. + */ + @Generated + public Provider setUrl(String url) { + this.url = url; + this.updatedProperties.add("url"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + if (jsonMergePatch) { + return toJsonMergePatch(jsonWriter); + } else { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("name", this.name); + jsonWriter.writeStringField("description", this.description); + jsonWriter.writeArrayField("roles", this.roles, (writer, element) -> writer.writeString(element)); + jsonWriter.writeStringField("url", this.url); + return jsonWriter.writeEndObject(); + } + } + + @Generated + private JsonWriter toJsonMergePatch(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + if (updatedProperties.contains("name")) { + if (this.name == null) { + jsonWriter.writeNullField("name"); + } else { + jsonWriter.writeStringField("name", this.name); + } + } + if (updatedProperties.contains("description")) { + if (this.description == null) { + jsonWriter.writeNullField("description"); + } else { + jsonWriter.writeStringField("description", this.description); + } + } + if (updatedProperties.contains("roles")) { + if (this.roles == null) { + jsonWriter.writeNullField("roles"); + } else { + jsonWriter.writeArrayField("roles", this.roles, (writer, element) -> writer.writeString(element)); + } + } + if (updatedProperties.contains("url")) { + if (this.url == null) { + jsonWriter.writeNullField("url"); + } else { + jsonWriter.writeStringField("url", this.url); + } + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of Provider from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of Provider if the JsonReader was pointing to an instance of it, or null if it was pointing + * to JSON null. + * @throws IOException If an error occurs while reading the Provider. + */ + @Generated + public static Provider fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + Provider deserializedProvider = new Provider(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("name".equals(fieldName)) { + deserializedProvider.name = reader.getString(); + } else if ("description".equals(fieldName)) { + deserializedProvider.description = reader.getString(); + } else if ("roles".equals(fieldName)) { + List roles = reader.readArray(reader1 -> reader1.getString()); + deserializedProvider.roles = roles; + } else if ("url".equals(fieldName)) { + deserializedProvider.url = reader.getString(); + } else { + reader.skipChildren(); + } + } + + return deserializedProvider; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/QueryableDefinition.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/QueryableDefinition.java new file mode 100644 index 000000000000..9739bf7377b3 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/QueryableDefinition.java @@ -0,0 +1,173 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Definition of a queryable field for STAC API filtering. + */ +@Fluent +public final class QueryableDefinition implements JsonSerializable { + /* + * Name of the queryable field. + */ + @Generated + private final String name; + + /* + * Metadata for the queryable field. + */ + @Generated + private final QueryableDefinitionType definition; + + /* + * Whether to create a database index for this field. + */ + @Generated + private Boolean createIndex; + + /* + * Data type of the queryable field. + */ + @Generated + private QueryableDefinitionDataType dataType; + + /** + * Creates an instance of QueryableDefinition class. + * + * @param name the name value to set. + * @param definition the definition value to set. + */ + @Generated + public QueryableDefinition(String name, QueryableDefinitionType definition) { + this.name = name; + this.definition = definition; + } + + /** + * Get the name property: Name of the queryable field. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the definition property: Metadata for the queryable field. + * + * @return the definition value. + */ + @Generated + public QueryableDefinitionType getDefinition() { + return this.definition; + } + + /** + * Get the createIndex property: Whether to create a database index for this field. + * + * @return the createIndex value. + */ + @Generated + public Boolean isCreateIndex() { + return this.createIndex; + } + + /** + * Set the createIndex property: Whether to create a database index for this field. + * + * @param createIndex the createIndex value to set. + * @return the QueryableDefinition object itself. + */ + @Generated + public QueryableDefinition setCreateIndex(Boolean createIndex) { + this.createIndex = createIndex; + return this; + } + + /** + * Get the dataType property: Data type of the queryable field. + * + * @return the dataType value. + */ + @Generated + public QueryableDefinitionDataType getDataType() { + return this.dataType; + } + + /** + * Set the dataType property: Data type of the queryable field. + * + * @param dataType the dataType value to set. + * @return the QueryableDefinition object itself. + */ + @Generated + public QueryableDefinition setDataType(QueryableDefinitionDataType dataType) { + this.dataType = dataType; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("name", this.name); + jsonWriter.writeJsonField("definition", this.definition); + jsonWriter.writeBooleanField("create_index", this.createIndex); + jsonWriter.writeStringField("data_type", this.dataType == null ? null : this.dataType.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of QueryableDefinition from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of QueryableDefinition if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the QueryableDefinition. + */ + @Generated + public static QueryableDefinition fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String name = null; + QueryableDefinitionType definition = null; + Boolean createIndex = null; + QueryableDefinitionDataType dataType = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("name".equals(fieldName)) { + name = reader.getString(); + } else if ("definition".equals(fieldName)) { + definition = QueryableDefinitionType.fromJson(reader); + } else if ("create_index".equals(fieldName)) { + createIndex = reader.getNullable(JsonReader::getBoolean); + } else if ("data_type".equals(fieldName)) { + dataType = QueryableDefinitionDataType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + QueryableDefinition deserializedQueryableDefinition = new QueryableDefinition(name, definition); + deserializedQueryableDefinition.createIndex = createIndex; + deserializedQueryableDefinition.dataType = dataType; + + return deserializedQueryableDefinition; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/QueryableDefinitionDataType.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/QueryableDefinitionDataType.java new file mode 100644 index 000000000000..5beba7fc3cc2 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/QueryableDefinitionDataType.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Queryable data types for the queryables extension. + * These are the data types supported by Basic CQL2. + */ +public final class QueryableDefinitionDataType extends ExpandableStringEnum { + /** + * Character strings. + * Example: 'This is a literal string.'. + */ + @Generated + public static final QueryableDefinitionDataType STRING = fromString("string"); + + /** + * Numbers including integers and floating point values. + * Examples: -100, 3.14159. + */ + @Generated + public static final QueryableDefinitionDataType NUMBER = fromString("number"); + + /** + * Booleans. + * Examples: true, false. + */ + @Generated + public static final QueryableDefinitionDataType BOOLEAN = fromString("boolean"); + + /** + * An instant with a granularity of a second or smaller. + * Example (JSON): { "timestamp": "1969-07-20T20:17:40Z" }. + */ + @Generated + public static final QueryableDefinitionDataType TIMESTAMP = fromString("timestamp"); + + /** + * An instant with a granularity of a day. + * Example (JSON): { "date": "1969-07-20" }. + */ + @Generated + public static final QueryableDefinitionDataType DATE = fromString("date"); + + /** + * Creates a new instance of QueryableDefinitionDataType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public QueryableDefinitionDataType() { + } + + /** + * Creates or finds a QueryableDefinitionDataType from its string representation. + * + * @param name a name to look for. + * @return the corresponding QueryableDefinitionDataType. + */ + @Generated + public static QueryableDefinitionDataType fromString(String name) { + return fromString(name, QueryableDefinitionDataType.class); + } + + /** + * Gets known QueryableDefinitionDataType values. + * + * @return known QueryableDefinitionDataType values. + */ + @Generated + public static Collection values() { + return values(QueryableDefinitionDataType.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/QueryableDefinitionType.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/QueryableDefinitionType.java new file mode 100644 index 000000000000..2d337cf4c9b5 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/QueryableDefinitionType.java @@ -0,0 +1,107 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.core.util.BinaryData; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * QueryableDefinitionType. + */ +@Fluent +public final class QueryableDefinitionType implements JsonSerializable { + /* + * QueryableDefinitionType + */ + @Generated + private Map additionalProperties; + + /** + * Creates an instance of QueryableDefinitionType class. + */ + @Generated + public QueryableDefinitionType() { + } + + /** + * Get the additionalProperties property: QueryableDefinitionType. + * + * @return the additionalProperties value. + */ + @Generated + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + /** + * Set the additionalProperties property: QueryableDefinitionType. + * + * @param additionalProperties the additionalProperties value to set. + * @return the QueryableDefinitionType object itself. + */ + @Generated + public QueryableDefinitionType setAdditionalProperties(Map additionalProperties) { + this.additionalProperties = additionalProperties; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + if (additionalProperties != null) { + for (Map.Entry additionalProperty : additionalProperties.entrySet()) { + jsonWriter.writeFieldName(additionalProperty.getKey()); + if (additionalProperty.getValue() == null) { + jsonWriter.writeNull(); + } else { + additionalProperty.getValue().writeTo(jsonWriter); + } + } + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of QueryableDefinitionType from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of QueryableDefinitionType if the JsonReader was pointing to an instance of it, or null if it + * was pointing to JSON null. + * @throws IOException If an error occurs while reading the QueryableDefinitionType. + */ + @Generated + public static QueryableDefinitionType fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + QueryableDefinitionType deserializedQueryableDefinitionType = new QueryableDefinitionType(); + Map additionalProperties = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if (additionalProperties == null) { + additionalProperties = new LinkedHashMap<>(); + } + + additionalProperties.put(fieldName, + reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()))); + } + deserializedQueryableDefinitionType.additionalProperties = additionalProperties; + + return deserializedQueryableDefinitionType; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/RegisterResponse.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/RegisterResponse.java new file mode 100644 index 000000000000..54b3789de253 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/RegisterResponse.java @@ -0,0 +1,107 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Response from a successful mosaic registration with search ID and related links. + */ +@Immutable +public final class RegisterResponse implements JsonSerializable { + /* + * Unique identifier for the registered search + */ + @Generated + private final String searchId; + + /* + * Related links for the registered mosaic + */ + @Generated + private List links; + + /** + * Creates an instance of RegisterResponse class. + * + * @param searchId the searchId value to set. + */ + @Generated + private RegisterResponse(String searchId) { + this.searchId = searchId; + } + + /** + * Get the searchId property: Unique identifier for the registered search. + * + * @return the searchId value. + */ + @Generated + public String getSearchId() { + return this.searchId; + } + + /** + * Get the links property: Related links for the registered mosaic. + * + * @return the links value. + */ + @Generated + public List getLinks() { + return this.links; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("searchId", this.searchId); + jsonWriter.writeArrayField("links", this.links, (writer, element) -> writer.writeJson(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RegisterResponse from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RegisterResponse if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the RegisterResponse. + */ + @Generated + public static RegisterResponse fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String searchId = null; + List links = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("searchId".equals(fieldName)) { + searchId = reader.getString(); + } else if ("links".equals(fieldName)) { + links = reader.readArray(reader1 -> Link.fromJson(reader1)); + } else { + reader.skipChildren(); + } + } + RegisterResponse deserializedRegisterResponse = new RegisterResponse(searchId); + deserializedRegisterResponse.links = links; + + return deserializedRegisterResponse; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/RegisterSearchOptions.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/RegisterSearchOptions.java new file mode 100644 index 000000000000..d293f314dcc8 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/RegisterSearchOptions.java @@ -0,0 +1,302 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import java.util.List; + +/** + * Options for registerSearch API. + */ +@Fluent +public final class RegisterSearchOptions { + /* + * List of STAC collection IDs to include in the mosaic + */ + @Generated + private List collections; + + /* + * List of specific STAC item IDs to include in the mosaic + */ + @Generated + private List ids; + + /* + * Geographic bounding box to filter items [west, south, east, north] + */ + @Generated + private Double bbox; + + /* + * GeoJSON geometry to spatially filter items by intersection + */ + @Generated + private Geometry intersects; + + /* + * Query + */ + @Generated + private StacQuery query; + + /* + * Filter + */ + @Generated + private String filter; + + /* + * Temporal filter in RFC 3339 format or interval + */ + @Generated + private String datetime; + + /* + * Criteria for ordering items in the mosaic + */ + @Generated + private List sortBy; + + /* + * Query language format used in the filter parameter + */ + @Generated + private FilterLang filterLang; + + /* + * Additional metadata to associate with the mosaic + */ + @Generated + private Metadata metadata; + + /** + * Creates an instance of RegisterSearchOptions class. + */ + @Generated + public RegisterSearchOptions() { + } + + /** + * Get the collections property: List of STAC collection IDs to include in the mosaic. + * + * @return the collections value. + */ + @Generated + public List getCollections() { + return this.collections; + } + + /** + * Set the collections property: List of STAC collection IDs to include in the mosaic. + * + * @param collections the collections value to set. + * @return the RegisterSearchOptions object itself. + */ + @Generated + public RegisterSearchOptions setCollections(List collections) { + this.collections = collections; + return this; + } + + /** + * Get the ids property: List of specific STAC item IDs to include in the mosaic. + * + * @return the ids value. + */ + @Generated + public List getIds() { + return this.ids; + } + + /** + * Set the ids property: List of specific STAC item IDs to include in the mosaic. + * + * @param ids the ids value to set. + * @return the RegisterSearchOptions object itself. + */ + @Generated + public RegisterSearchOptions setIds(List ids) { + this.ids = ids; + return this; + } + + /** + * Get the bbox property: Geographic bounding box to filter items [west, south, east, north]. + * + * @return the bbox value. + */ + @Generated + public Double getBbox() { + return this.bbox; + } + + /** + * Set the bbox property: Geographic bounding box to filter items [west, south, east, north]. + * + * @param bbox the bbox value to set. + * @return the RegisterSearchOptions object itself. + */ + @Generated + public RegisterSearchOptions setBbox(Double bbox) { + this.bbox = bbox; + return this; + } + + /** + * Get the intersects property: GeoJSON geometry to spatially filter items by intersection. + * + * @return the intersects value. + */ + @Generated + public Geometry getIntersects() { + return this.intersects; + } + + /** + * Set the intersects property: GeoJSON geometry to spatially filter items by intersection. + * + * @param intersects the intersects value to set. + * @return the RegisterSearchOptions object itself. + */ + @Generated + public RegisterSearchOptions setIntersects(Geometry intersects) { + this.intersects = intersects; + return this; + } + + /** + * Get the query property: Query. + * + * @return the query value. + */ + @Generated + public StacQuery getQuery() { + return this.query; + } + + /** + * Set the query property: Query. + * + * @param query the query value to set. + * @return the RegisterSearchOptions object itself. + */ + @Generated + public RegisterSearchOptions setQuery(StacQuery query) { + this.query = query; + return this; + } + + /** + * Get the filter property: Filter. + * + * @return the filter value. + */ + @Generated + public String getFilter() { + return this.filter; + } + + /** + * Set the filter property: Filter. + * + * @param filter the filter value to set. + * @return the RegisterSearchOptions object itself. + */ + @Generated + public RegisterSearchOptions setFilter(String filter) { + this.filter = filter; + return this; + } + + /** + * Get the datetime property: Temporal filter in RFC 3339 format or interval. + * + * @return the datetime value. + */ + @Generated + public String getDatetime() { + return this.datetime; + } + + /** + * Set the datetime property: Temporal filter in RFC 3339 format or interval. + * + * @param datetime the datetime value to set. + * @return the RegisterSearchOptions object itself. + */ + @Generated + public RegisterSearchOptions setDatetime(String datetime) { + this.datetime = datetime; + return this; + } + + /** + * Get the sortBy property: Criteria for ordering items in the mosaic. + * + * @return the sortBy value. + */ + @Generated + public List getSortBy() { + return this.sortBy; + } + + /** + * Set the sortBy property: Criteria for ordering items in the mosaic. + * + * @param sortBy the sortBy value to set. + * @return the RegisterSearchOptions object itself. + */ + @Generated + public RegisterSearchOptions setSortBy(List sortBy) { + this.sortBy = sortBy; + return this; + } + + /** + * Get the filterLang property: Query language format used in the filter parameter. + * + * @return the filterLang value. + */ + @Generated + public FilterLang getFilterLang() { + return this.filterLang; + } + + /** + * Set the filterLang property: Query language format used in the filter parameter. + * + * @param filterLang the filterLang value to set. + * @return the RegisterSearchOptions object itself. + */ + @Generated + public RegisterSearchOptions setFilterLang(FilterLang filterLang) { + this.filterLang = filterLang; + return this; + } + + /** + * Get the metadata property: Additional metadata to associate with the mosaic. + * + * @return the metadata value. + */ + @Generated + public Metadata getMetadata() { + return this.metadata; + } + + /** + * Set the metadata property: Additional metadata to associate with the mosaic. + * + * @param metadata the metadata value to set. + * @return the RegisterSearchOptions object itself. + */ + @Generated + public RegisterSearchOptions setMetadata(Metadata metadata) { + this.metadata = metadata; + return this; + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/RenderOptionCondition.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/RenderOptionCondition.java new file mode 100644 index 000000000000..4d54430520af --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/RenderOptionCondition.java @@ -0,0 +1,118 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Defines a condition for enabling a render option. + */ +@Fluent +public final class RenderOptionCondition implements JsonSerializable { + /* + * Property name to check in the active CQL filter. + */ + @Generated + private final String property; + + /* + * Value that the property must equal. + */ + @Generated + private String value; + + /** + * Creates an instance of RenderOptionCondition class. + * + * @param property the property value to set. + */ + @Generated + public RenderOptionCondition(String property) { + this.property = property; + } + + /** + * Get the property property: Property name to check in the active CQL filter. + * + * @return the property value. + */ + @Generated + public String getProperty() { + return this.property; + } + + /** + * Get the value property: Value that the property must equal. + * + * @return the value value. + */ + @Generated + public String getValue() { + return this.value; + } + + /** + * Set the value property: Value that the property must equal. + * + * @param value the value value to set. + * @return the RenderOptionCondition object itself. + */ + @Generated + public RenderOptionCondition setValue(String value) { + this.value = value; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("property", this.property); + jsonWriter.writeStringField("value", this.value); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RenderOptionCondition from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RenderOptionCondition if the JsonReader was pointing to an instance of it, or null if it + * was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the RenderOptionCondition. + */ + @Generated + public static RenderOptionCondition fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String property = null; + String value = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("property".equals(fieldName)) { + property = reader.getString(); + } else if ("value".equals(fieldName)) { + value = reader.getString(); + } else { + reader.skipChildren(); + } + } + RenderOptionCondition deserializedRenderOptionCondition = new RenderOptionCondition(property); + deserializedRenderOptionCondition.value = value; + + return deserializedRenderOptionCondition; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/RenderOptionLegend.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/RenderOptionLegend.java new file mode 100644 index 000000000000..84ec9039bafb --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/RenderOptionLegend.java @@ -0,0 +1,242 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Configuration for generating a data legend. + */ +@Fluent +public final class RenderOptionLegend implements JsonSerializable { + /* + * Legend type to make, + * one of: `continuous`, + * `classmap`, + * `interval` or `none` + * (note, `none` is a string literal). + */ + @Generated + private LegendConfigType type; + + /* + * Text labels to display on the legend. + */ + @Generated + private List labels; + + /* + * The number of items to trim from the start of the legend definition. Used if + * there are values important for rendering (e.g. nodata) that aren't desirable in + * the legend. + */ + @Generated + private Integer trimStart; + + /* + * Number of items to trim from the end of the legend. + */ + @Generated + private Integer trimEnd; + + /* + * A factor to multiply interval legend labels by. Useful for scaled rasters whose + * colormap definitions map to unscaled values, effectively showing legend labels + * as scaled values. + */ + @Generated + private Double scaleFactor; + + /** + * Creates an instance of RenderOptionLegend class. + */ + @Generated + public RenderOptionLegend() { + } + + /** + * Get the type property: Legend type to make, + * one of: `continuous`, + * `classmap`, + * `interval` or `none` + * (note, `none` is a string literal). + * + * @return the type value. + */ + @Generated + public LegendConfigType getType() { + return this.type; + } + + /** + * Set the type property: Legend type to make, + * one of: `continuous`, + * `classmap`, + * `interval` or `none` + * (note, `none` is a string literal). + * + * @param type the type value to set. + * @return the RenderOptionLegend object itself. + */ + @Generated + public RenderOptionLegend setType(LegendConfigType type) { + this.type = type; + return this; + } + + /** + * Get the labels property: Text labels to display on the legend. + * + * @return the labels value. + */ + @Generated + public List getLabels() { + return this.labels; + } + + /** + * Set the labels property: Text labels to display on the legend. + * + * @param labels the labels value to set. + * @return the RenderOptionLegend object itself. + */ + @Generated + public RenderOptionLegend setLabels(List labels) { + this.labels = labels; + return this; + } + + /** + * Get the trimStart property: The number of items to trim from the start of the legend definition. Used if + * there are values important for rendering (e.g. nodata) that aren't desirable in + * the legend. + * + * @return the trimStart value. + */ + @Generated + public Integer getTrimStart() { + return this.trimStart; + } + + /** + * Set the trimStart property: The number of items to trim from the start of the legend definition. Used if + * there are values important for rendering (e.g. nodata) that aren't desirable in + * the legend. + * + * @param trimStart the trimStart value to set. + * @return the RenderOptionLegend object itself. + */ + @Generated + public RenderOptionLegend setTrimStart(Integer trimStart) { + this.trimStart = trimStart; + return this; + } + + /** + * Get the trimEnd property: Number of items to trim from the end of the legend. + * + * @return the trimEnd value. + */ + @Generated + public Integer getTrimEnd() { + return this.trimEnd; + } + + /** + * Set the trimEnd property: Number of items to trim from the end of the legend. + * + * @param trimEnd the trimEnd value to set. + * @return the RenderOptionLegend object itself. + */ + @Generated + public RenderOptionLegend setTrimEnd(Integer trimEnd) { + this.trimEnd = trimEnd; + return this; + } + + /** + * Get the scaleFactor property: A factor to multiply interval legend labels by. Useful for scaled rasters whose + * colormap definitions map to unscaled values, effectively showing legend labels + * as scaled values. + * + * @return the scaleFactor value. + */ + @Generated + public Double getScaleFactor() { + return this.scaleFactor; + } + + /** + * Set the scaleFactor property: A factor to multiply interval legend labels by. Useful for scaled rasters whose + * colormap definitions map to unscaled values, effectively showing legend labels + * as scaled values. + * + * @param scaleFactor the scaleFactor value to set. + * @return the RenderOptionLegend object itself. + */ + @Generated + public RenderOptionLegend setScaleFactor(Double scaleFactor) { + this.scaleFactor = scaleFactor; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeArrayField("labels", this.labels, (writer, element) -> writer.writeString(element)); + jsonWriter.writeNumberField("trimStart", this.trimStart); + jsonWriter.writeNumberField("trimEnd", this.trimEnd); + jsonWriter.writeNumberField("scaleFactor", this.scaleFactor); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RenderOptionLegend from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RenderOptionLegend if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IOException If an error occurs while reading the RenderOptionLegend. + */ + @Generated + public static RenderOptionLegend fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RenderOptionLegend deserializedRenderOptionLegend = new RenderOptionLegend(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("type".equals(fieldName)) { + deserializedRenderOptionLegend.type = LegendConfigType.fromString(reader.getString()); + } else if ("labels".equals(fieldName)) { + List labels = reader.readArray(reader1 -> reader1.getString()); + deserializedRenderOptionLegend.labels = labels; + } else if ("trimStart".equals(fieldName)) { + deserializedRenderOptionLegend.trimStart = reader.getNullable(JsonReader::getInt); + } else if ("trimEnd".equals(fieldName)) { + deserializedRenderOptionLegend.trimEnd = reader.getNullable(JsonReader::getInt); + } else if ("scaleFactor".equals(fieldName)) { + deserializedRenderOptionLegend.scaleFactor = reader.getNullable(JsonReader::getDouble); + } else { + reader.skipChildren(); + } + } + + return deserializedRenderOptionLegend; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/RenderOptionModel.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/RenderOptionModel.java new file mode 100644 index 000000000000..9d994b0eaae8 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/RenderOptionModel.java @@ -0,0 +1,357 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Defines visualization parameters for rendering data on a map. + */ +@Fluent +public final class RenderOptionModel implements JsonSerializable { + /* + * Unique identifier for the render option. + */ + @Generated + private final String id; + + /* + * Short descriptive name for the render option. + */ + @Generated + private final String name; + + /* + * A longer description of the render option that can be used to explain its + * content. + */ + @Generated + private String description; + + /* + * The type of rendering to apply (raster or vector). + */ + @Generated + private RenderOptionType type; + + /* + * A URL query-string encoded string of TiTiler rendering options. Valid only for + * `raster-tile` types. + * + * See [Query Parameters](https://developmentseed.org/titiler/endpoints/cog/#description). + */ + @Generated + private String options; + + /* + * Options for rendering vector tiles. Valid only for `vt-polygon` and `vt-line` + * types. + */ + @Generated + private RenderOptionVectorOptions vectorOptions; + + /* + * Minimum zoom level at which to display this layer. + */ + @Generated + private Integer minZoom; + + /* + * Legend configuration for this render option. + */ + @Generated + private RenderOptionLegend legend; + + /* + * A list of property/value conditions that must be in the active mosaic CQL for + * this render option to be enabled + */ + @Generated + private List conditions; + + /** + * Creates an instance of RenderOptionModel class. + * + * @param id the id value to set. + * @param name the name value to set. + */ + @Generated + public RenderOptionModel(String id, String name) { + this.id = id; + this.name = name; + } + + /** + * Get the id property: Unique identifier for the render option. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the name property: Short descriptive name for the render option. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the description property: A longer description of the render option that can be used to explain its + * content. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: A longer description of the render option that can be used to explain its + * content. + * + * @param description the description value to set. + * @return the RenderOptionModel object itself. + */ + @Generated + public RenderOptionModel setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the type property: The type of rendering to apply (raster or vector). + * + * @return the type value. + */ + @Generated + public RenderOptionType getType() { + return this.type; + } + + /** + * Set the type property: The type of rendering to apply (raster or vector). + * + * @param type the type value to set. + * @return the RenderOptionModel object itself. + */ + @Generated + public RenderOptionModel setType(RenderOptionType type) { + this.type = type; + return this; + } + + /** + * Get the options property: A URL query-string encoded string of TiTiler rendering options. Valid only for + * `raster-tile` types. + * + * See [Query Parameters](https://developmentseed.org/titiler/endpoints/cog/#description). + * + * @return the options value. + */ + @Generated + public String getOptions() { + return this.options; + } + + /** + * Set the options property: A URL query-string encoded string of TiTiler rendering options. Valid only for + * `raster-tile` types. + * + * See [Query Parameters](https://developmentseed.org/titiler/endpoints/cog/#description). + * + * @param options the options value to set. + * @return the RenderOptionModel object itself. + */ + @Generated + public RenderOptionModel setOptions(String options) { + this.options = options; + return this; + } + + /** + * Get the vectorOptions property: Options for rendering vector tiles. Valid only for `vt-polygon` and `vt-line` + * types. + * + * @return the vectorOptions value. + */ + @Generated + public RenderOptionVectorOptions getVectorOptions() { + return this.vectorOptions; + } + + /** + * Set the vectorOptions property: Options for rendering vector tiles. Valid only for `vt-polygon` and `vt-line` + * types. + * + * @param vectorOptions the vectorOptions value to set. + * @return the RenderOptionModel object itself. + */ + @Generated + public RenderOptionModel setVectorOptions(RenderOptionVectorOptions vectorOptions) { + this.vectorOptions = vectorOptions; + return this; + } + + /** + * Get the minZoom property: Minimum zoom level at which to display this layer. + * + * @return the minZoom value. + */ + @Generated + public Integer getMinZoom() { + return this.minZoom; + } + + /** + * Set the minZoom property: Minimum zoom level at which to display this layer. + * + * @param minZoom the minZoom value to set. + * @return the RenderOptionModel object itself. + */ + @Generated + public RenderOptionModel setMinZoom(Integer minZoom) { + this.minZoom = minZoom; + return this; + } + + /** + * Get the legend property: Legend configuration for this render option. + * + * @return the legend value. + */ + @Generated + public RenderOptionLegend getLegend() { + return this.legend; + } + + /** + * Set the legend property: Legend configuration for this render option. + * + * @param legend the legend value to set. + * @return the RenderOptionModel object itself. + */ + @Generated + public RenderOptionModel setLegend(RenderOptionLegend legend) { + this.legend = legend; + return this; + } + + /** + * Get the conditions property: A list of property/value conditions that must be in the active mosaic CQL for + * this render option to be enabled. + * + * @return the conditions value. + */ + @Generated + public List getConditions() { + return this.conditions; + } + + /** + * Set the conditions property: A list of property/value conditions that must be in the active mosaic CQL for + * this render option to be enabled. + * + * @param conditions the conditions value to set. + * @return the RenderOptionModel object itself. + */ + @Generated + public RenderOptionModel setConditions(List conditions) { + this.conditions = conditions; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("name", this.name); + jsonWriter.writeStringField("description", this.description); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("options", this.options); + jsonWriter.writeJsonField("vectorOptions", this.vectorOptions); + jsonWriter.writeNumberField("minZoom", this.minZoom); + jsonWriter.writeJsonField("legend", this.legend); + jsonWriter.writeArrayField("conditions", this.conditions, (writer, element) -> writer.writeJson(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RenderOptionModel from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RenderOptionModel if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the RenderOptionModel. + */ + @Generated + public static RenderOptionModel fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + String name = null; + String description = null; + RenderOptionType type = null; + String options = null; + RenderOptionVectorOptions vectorOptions = null; + Integer minZoom = null; + RenderOptionLegend legend = null; + List conditions = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("name".equals(fieldName)) { + name = reader.getString(); + } else if ("description".equals(fieldName)) { + description = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RenderOptionType.fromString(reader.getString()); + } else if ("options".equals(fieldName)) { + options = reader.getString(); + } else if ("vectorOptions".equals(fieldName)) { + vectorOptions = RenderOptionVectorOptions.fromJson(reader); + } else if ("minZoom".equals(fieldName)) { + minZoom = reader.getNullable(JsonReader::getInt); + } else if ("legend".equals(fieldName)) { + legend = RenderOptionLegend.fromJson(reader); + } else if ("conditions".equals(fieldName)) { + conditions = reader.readArray(reader1 -> RenderOptionCondition.fromJson(reader1)); + } else { + reader.skipChildren(); + } + } + RenderOptionModel deserializedRenderOptionModel = new RenderOptionModel(id, name); + deserializedRenderOptionModel.description = description; + deserializedRenderOptionModel.type = type; + deserializedRenderOptionModel.options = options; + deserializedRenderOptionModel.vectorOptions = vectorOptions; + deserializedRenderOptionModel.minZoom = minZoom; + deserializedRenderOptionModel.legend = legend; + deserializedRenderOptionModel.conditions = conditions; + + return deserializedRenderOptionModel; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/RenderOptionType.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/RenderOptionType.java new file mode 100644 index 000000000000..5d1899a68b36 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/RenderOptionType.java @@ -0,0 +1,63 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Specifies the types of render options for map visualization. + */ +public final class RenderOptionType extends ExpandableStringEnum { + /** + * Raster tile rendering type. + */ + @Generated + public static final RenderOptionType RASTER_TILE = fromString("raster-tile"); + + /** + * Vector tile polygon rendering type. + */ + @Generated + public static final RenderOptionType VT_POLYGON = fromString("vt-polygon"); + + /** + * Vector tile line rendering type. + */ + @Generated + public static final RenderOptionType VT_LINE = fromString("vt-line"); + + /** + * Creates a new instance of RenderOptionType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public RenderOptionType() { + } + + /** + * Creates or finds a RenderOptionType from its string representation. + * + * @param name a name to look for. + * @return the corresponding RenderOptionType. + */ + @Generated + public static RenderOptionType fromString(String name) { + return fromString(name, RenderOptionType.class); + } + + /** + * Gets known RenderOptionType values. + * + * @return known RenderOptionType values. + */ + @Generated + public static Collection values() { + return values(RenderOptionType.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/RenderOptionVectorOptions.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/RenderOptionVectorOptions.java new file mode 100644 index 000000000000..8a8d41515a61 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/RenderOptionVectorOptions.java @@ -0,0 +1,241 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Defines parameters for vector tile rendering. + */ +@Fluent +public final class RenderOptionVectorOptions implements JsonSerializable { + /* + * Asset key containing the TileJSON URL. + */ + @Generated + private final String tilejsonKey; + + /* + * Name of the source layer in the vector tiles. + */ + @Generated + private final String sourceLayer; + + /* + * Fill color for polygon features. + */ + @Generated + private String fillColor; + + /* + * Stroke color for line features. + */ + @Generated + private String strokeColor; + + /* + * Width of line strokes in pixels. + */ + @Generated + private Integer strokeWidth; + + /* + * MapBox GL filter expression to filter features. + */ + @Generated + private List filter; + + /** + * Creates an instance of RenderOptionVectorOptions class. + * + * @param tilejsonKey the tilejsonKey value to set. + * @param sourceLayer the sourceLayer value to set. + */ + @Generated + public RenderOptionVectorOptions(String tilejsonKey, String sourceLayer) { + this.tilejsonKey = tilejsonKey; + this.sourceLayer = sourceLayer; + } + + /** + * Get the tilejsonKey property: Asset key containing the TileJSON URL. + * + * @return the tilejsonKey value. + */ + @Generated + public String getTilejsonKey() { + return this.tilejsonKey; + } + + /** + * Get the sourceLayer property: Name of the source layer in the vector tiles. + * + * @return the sourceLayer value. + */ + @Generated + public String getSourceLayer() { + return this.sourceLayer; + } + + /** + * Get the fillColor property: Fill color for polygon features. + * + * @return the fillColor value. + */ + @Generated + public String getFillColor() { + return this.fillColor; + } + + /** + * Set the fillColor property: Fill color for polygon features. + * + * @param fillColor the fillColor value to set. + * @return the RenderOptionVectorOptions object itself. + */ + @Generated + public RenderOptionVectorOptions setFillColor(String fillColor) { + this.fillColor = fillColor; + return this; + } + + /** + * Get the strokeColor property: Stroke color for line features. + * + * @return the strokeColor value. + */ + @Generated + public String getStrokeColor() { + return this.strokeColor; + } + + /** + * Set the strokeColor property: Stroke color for line features. + * + * @param strokeColor the strokeColor value to set. + * @return the RenderOptionVectorOptions object itself. + */ + @Generated + public RenderOptionVectorOptions setStrokeColor(String strokeColor) { + this.strokeColor = strokeColor; + return this; + } + + /** + * Get the strokeWidth property: Width of line strokes in pixels. + * + * @return the strokeWidth value. + */ + @Generated + public Integer getStrokeWidth() { + return this.strokeWidth; + } + + /** + * Set the strokeWidth property: Width of line strokes in pixels. + * + * @param strokeWidth the strokeWidth value to set. + * @return the RenderOptionVectorOptions object itself. + */ + @Generated + public RenderOptionVectorOptions setStrokeWidth(Integer strokeWidth) { + this.strokeWidth = strokeWidth; + return this; + } + + /** + * Get the filter property: MapBox GL filter expression to filter features. + * + * @return the filter value. + */ + @Generated + public List getFilter() { + return this.filter; + } + + /** + * Set the filter property: MapBox GL filter expression to filter features. + * + * @param filter the filter value to set. + * @return the RenderOptionVectorOptions object itself. + */ + @Generated + public RenderOptionVectorOptions setFilter(List filter) { + this.filter = filter; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("tilejsonKey", this.tilejsonKey); + jsonWriter.writeStringField("sourceLayer", this.sourceLayer); + jsonWriter.writeStringField("fillColor", this.fillColor); + jsonWriter.writeStringField("strokeColor", this.strokeColor); + jsonWriter.writeNumberField("strokeWidth", this.strokeWidth); + jsonWriter.writeArrayField("filter", this.filter, (writer, element) -> writer.writeString(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RenderOptionVectorOptions from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RenderOptionVectorOptions if the JsonReader was pointing to an instance of it, or null if + * it was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the RenderOptionVectorOptions. + */ + @Generated + public static RenderOptionVectorOptions fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String tilejsonKey = null; + String sourceLayer = null; + String fillColor = null; + String strokeColor = null; + Integer strokeWidth = null; + List filter = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("tilejsonKey".equals(fieldName)) { + tilejsonKey = reader.getString(); + } else if ("sourceLayer".equals(fieldName)) { + sourceLayer = reader.getString(); + } else if ("fillColor".equals(fieldName)) { + fillColor = reader.getString(); + } else if ("strokeColor".equals(fieldName)) { + strokeColor = reader.getString(); + } else if ("strokeWidth".equals(fieldName)) { + strokeWidth = reader.getNullable(JsonReader::getInt); + } else if ("filter".equals(fieldName)) { + filter = reader.readArray(reader1 -> reader1.getString()); + } else { + reader.skipChildren(); + } + } + RenderOptionVectorOptions deserializedRenderOptionVectorOptions + = new RenderOptionVectorOptions(tilejsonKey, sourceLayer); + deserializedRenderOptionVectorOptions.fillColor = fillColor; + deserializedRenderOptionVectorOptions.strokeColor = strokeColor; + deserializedRenderOptionVectorOptions.strokeWidth = strokeWidth; + deserializedRenderOptionVectorOptions.filter = filter; + + return deserializedRenderOptionVectorOptions; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Resampling.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Resampling.java new file mode 100644 index 000000000000..27d989c084d9 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Resampling.java @@ -0,0 +1,99 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Resampling algorithm to use when reading source raster data at different resolutions. + */ +public final class Resampling extends ExpandableStringEnum { + /** + * Nearest neighbor - fastest method that selects the closest pixel value. + */ + @Generated + public static final Resampling NEAREST = fromString("nearest"); + + /** + * Bilinear interpolation - calculates output values using a weighted average of 2x2 input cells. + */ + @Generated + public static final Resampling BILINEAR = fromString("bilinear"); + + /** + * Cubic interpolation - uses a weighted average of 4x4 input cells for smoother results. + */ + @Generated + public static final Resampling CUBIC = fromString("cubic"); + + /** + * Cubic spline interpolation - similar to cubic but preserves edges better. + */ + @Generated + public static final Resampling CUBIC_SPLINE = fromString("cubic_spline"); + + /** + * Lanczos windowed sinc resampling - high-quality with minimal artifacts. + */ + @Generated + public static final Resampling LANCZOS = fromString("lanczos"); + + /** + * Average resampling - calculates the mean of all contributing pixels. + */ + @Generated + public static final Resampling AVERAGE = fromString("average"); + + /** + * Mode resampling - selects the most common value from contributing pixels. + */ + @Generated + public static final Resampling MODE = fromString("mode"); + + /** + * Gaussian weighted resampling - applies a gaussian weighting to contributing pixels. + */ + @Generated + public static final Resampling GAUSS = fromString("gauss"); + + /** + * Root mean square resampling - useful for resampling error or deviation grids. + */ + @Generated + public static final Resampling RMS = fromString("rms"); + + /** + * Creates a new instance of Resampling value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public Resampling() { + } + + /** + * Creates or finds a Resampling from its string representation. + * + * @param name a name to look for. + * @return the corresponding Resampling. + */ + @Generated + public static Resampling fromString(String name) { + return fromString(name, Resampling.class); + } + + /** + * Gets known Resampling values. + * + * @return known Resampling values. + */ + @Generated + public static Collection values() { + return values(Resampling.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/SasToken.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/SasToken.java new file mode 100644 index 000000000000..aa386f7e7d34 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/SasToken.java @@ -0,0 +1,120 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.core.util.CoreUtils; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.time.format.DateTimeFormatter; + +/** + * SasToken + * + * Represents a Shared Access Signature (SAS) token response for accessing Azure Blob Storage. + */ +@Immutable +public final class SasToken implements JsonSerializable { + /* + * Msft:Expiry + * + * The expiration date and time of the SAS token in UTC. + */ + @Generated + private final OffsetDateTime msftExpiry; + + /* + * Token + * + * The SAS token string used for authentication. + */ + @Generated + private final String token; + + /** + * Creates an instance of SasToken class. + * + * @param msftExpiry the msftExpiry value to set. + * @param token the token value to set. + */ + @Generated + private SasToken(OffsetDateTime msftExpiry, String token) { + this.msftExpiry = msftExpiry; + this.token = token; + } + + /** + * Get the msftExpiry property: Msft:Expiry + * + * The expiration date and time of the SAS token in UTC. + * + * @return the msftExpiry value. + */ + @Generated + public OffsetDateTime getMsftExpiry() { + return this.msftExpiry; + } + + /** + * Get the token property: Token + * + * The SAS token string used for authentication. + * + * @return the token value. + */ + @Generated + public String getToken() { + return this.token; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("msft:expiry", + this.msftExpiry == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.msftExpiry)); + jsonWriter.writeStringField("token", this.token); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of SasToken from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of SasToken if the JsonReader was pointing to an instance of it, or null if it was pointing + * to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the SasToken. + */ + @Generated + public static SasToken fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + OffsetDateTime msftExpiry = null; + String token = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("msft:expiry".equals(fieldName)) { + msftExpiry = reader + .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString())); + } else if ("token".equals(fieldName)) { + token = reader.getString(); + } else { + reader.skipChildren(); + } + } + return new SasToken(msftExpiry, token); + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/SearchPostRequest.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/SearchPostRequest.java new file mode 100644 index 000000000000..77385dc58ee8 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/SearchPostRequest.java @@ -0,0 +1,603 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.core.util.BinaryData; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; +import java.util.Map; + +/** + * Search model. + * + * Overrides the validation for datetime from the base request model. + * + * Defines parameters for a STAC search POST request. + */ +@Fluent +public final class SearchPostRequest implements JsonSerializable { + /* + * List of collection IDs to search within. + */ + @Generated + private List collections; + + /* + * List of specific item IDs to return. + */ + @Generated + private List ids; + + /* + * Bounding box for spatial filtering in format [west, south, east, north]. + */ + @Generated + private List bbox; + + /* + * GeoJSON geometry for spatial filtering. + */ + @Generated + private Geometry intersects; + + /* + * Temporal filter in RFC 3339 format, can be a single time or range. + */ + @Generated + private String datetime; + + /* + * Maximum number of results to return. + */ + @Generated + private Integer limit; + + /* + * Conf + * + * Overrides datetime validation from the base request model. + */ + @Generated + private Map conf; + + /* + * Whether to sign asset URLs in the response. + */ + @Generated + private SignType sign; + + /* + * URL signature duration in seconds. + */ + @Generated + private Integer duration; + + /* + * STAC Query + * + * See the [STAC Query Extension](https://github.com/stac-api-extensions/query). + */ + @Generated + private StacQuery query; + + /* + * Sort criteria for the search results. + * + * See the [STAC Sort Extension](https://github.com/stac-api-extensions/sort). + */ + @Generated + private List sortBy; + + /* + * Specifies which fields to include or exclude in the STAC search results. + * + * See the [STAC Fields Extension](https://github.com/stac-api-extensions/fields). + */ + @Generated + private List fields; + + /* + * CQL2 Filter + * + * See the [STAC Filter Extension](https://github.com/stac-api-extensions/filter). + */ + @Generated + private String filter; + + /* + * Coordinate reference system for the filter. + */ + @Generated + private String filterCrs; + + /* + * Filter language to use for the filter expression. + */ + @Generated + private FilterLang filterLang; + + /* + * Pagination token for fetching the next set of results. + */ + @Generated + private String token; + + /** + * Creates an instance of SearchPostRequest class. + */ + @Generated + public SearchPostRequest() { + } + + /** + * Get the collections property: List of collection IDs to search within. + * + * @return the collections value. + */ + @Generated + public List getCollections() { + return this.collections; + } + + /** + * Set the collections property: List of collection IDs to search within. + * + * @param collections the collections value to set. + * @return the SearchPostRequest object itself. + */ + @Generated + public SearchPostRequest setCollections(List collections) { + this.collections = collections; + return this; + } + + /** + * Get the ids property: List of specific item IDs to return. + * + * @return the ids value. + */ + @Generated + public List getIds() { + return this.ids; + } + + /** + * Set the ids property: List of specific item IDs to return. + * + * @param ids the ids value to set. + * @return the SearchPostRequest object itself. + */ + @Generated + public SearchPostRequest setIds(List ids) { + this.ids = ids; + return this; + } + + /** + * Get the bbox property: Bounding box for spatial filtering in format [west, south, east, north]. + * + * @return the bbox value. + */ + @Generated + public List getBbox() { + return this.bbox; + } + + /** + * Set the bbox property: Bounding box for spatial filtering in format [west, south, east, north]. + * + * @param bbox the bbox value to set. + * @return the SearchPostRequest object itself. + */ + @Generated + public SearchPostRequest setBbox(List bbox) { + this.bbox = bbox; + return this; + } + + /** + * Get the intersects property: GeoJSON geometry for spatial filtering. + * + * @return the intersects value. + */ + @Generated + public Geometry getIntersects() { + return this.intersects; + } + + /** + * Set the intersects property: GeoJSON geometry for spatial filtering. + * + * @param intersects the intersects value to set. + * @return the SearchPostRequest object itself. + */ + @Generated + public SearchPostRequest setIntersects(Geometry intersects) { + this.intersects = intersects; + return this; + } + + /** + * Get the datetime property: Temporal filter in RFC 3339 format, can be a single time or range. + * + * @return the datetime value. + */ + @Generated + public String getDatetime() { + return this.datetime; + } + + /** + * Set the datetime property: Temporal filter in RFC 3339 format, can be a single time or range. + * + * @param datetime the datetime value to set. + * @return the SearchPostRequest object itself. + */ + @Generated + public SearchPostRequest setDatetime(String datetime) { + this.datetime = datetime; + return this; + } + + /** + * Get the limit property: Maximum number of results to return. + * + * @return the limit value. + */ + @Generated + public Integer getLimit() { + return this.limit; + } + + /** + * Set the limit property: Maximum number of results to return. + * + * @param limit the limit value to set. + * @return the SearchPostRequest object itself. + */ + @Generated + public SearchPostRequest setLimit(Integer limit) { + this.limit = limit; + return this; + } + + /** + * Get the conf property: Conf + * + * Overrides datetime validation from the base request model. + * + * @return the conf value. + */ + @Generated + public Map getConf() { + return this.conf; + } + + /** + * Set the conf property: Conf + * + * Overrides datetime validation from the base request model. + * + * @param conf the conf value to set. + * @return the SearchPostRequest object itself. + */ + @Generated + public SearchPostRequest setConf(Map conf) { + this.conf = conf; + return this; + } + + /** + * Get the sign property: Whether to sign asset URLs in the response. + * + * @return the sign value. + */ + @Generated + public SignType getSign() { + return this.sign; + } + + /** + * Set the sign property: Whether to sign asset URLs in the response. + * + * @param sign the sign value to set. + * @return the SearchPostRequest object itself. + */ + @Generated + public SearchPostRequest setSign(SignType sign) { + this.sign = sign; + return this; + } + + /** + * Get the duration property: URL signature duration in seconds. + * + * @return the duration value. + */ + @Generated + public Integer getDuration() { + return this.duration; + } + + /** + * Set the duration property: URL signature duration in seconds. + * + * @param duration the duration value to set. + * @return the SearchPostRequest object itself. + */ + @Generated + public SearchPostRequest setDuration(Integer duration) { + this.duration = duration; + return this; + } + + /** + * Get the query property: STAC Query + * + * See the [STAC Query Extension](https://github.com/stac-api-extensions/query). + * + * @return the query value. + */ + @Generated + public StacQuery getQuery() { + return this.query; + } + + /** + * Set the query property: STAC Query + * + * See the [STAC Query Extension](https://github.com/stac-api-extensions/query). + * + * @param query the query value to set. + * @return the SearchPostRequest object itself. + */ + @Generated + public SearchPostRequest setQuery(StacQuery query) { + this.query = query; + return this; + } + + /** + * Get the sortBy property: Sort criteria for the search results. + * + * See the [STAC Sort Extension](https://github.com/stac-api-extensions/sort). + * + * @return the sortBy value. + */ + @Generated + public List getSortBy() { + return this.sortBy; + } + + /** + * Set the sortBy property: Sort criteria for the search results. + * + * See the [STAC Sort Extension](https://github.com/stac-api-extensions/sort). + * + * @param sortBy the sortBy value to set. + * @return the SearchPostRequest object itself. + */ + @Generated + public SearchPostRequest setSortBy(List sortBy) { + this.sortBy = sortBy; + return this; + } + + /** + * Get the fields property: Specifies which fields to include or exclude in the STAC search results. + * + * See the [STAC Fields Extension](https://github.com/stac-api-extensions/fields). + * + * @return the fields value. + */ + @Generated + public List getFields() { + return this.fields; + } + + /** + * Set the fields property: Specifies which fields to include or exclude in the STAC search results. + * + * See the [STAC Fields Extension](https://github.com/stac-api-extensions/fields). + * + * @param fields the fields value to set. + * @return the SearchPostRequest object itself. + */ + @Generated + public SearchPostRequest setFields(List fields) { + this.fields = fields; + return this; + } + + /** + * Get the filter property: CQL2 Filter + * + * See the [STAC Filter Extension](https://github.com/stac-api-extensions/filter). + * + * @return the filter value. + */ + @Generated + public String getFilter() { + return this.filter; + } + + /** + * Set the filter property: CQL2 Filter + * + * See the [STAC Filter Extension](https://github.com/stac-api-extensions/filter). + * + * @param filter the filter value to set. + * @return the SearchPostRequest object itself. + */ + @Generated + public SearchPostRequest setFilter(String filter) { + this.filter = filter; + return this; + } + + /** + * Get the filterCrs property: Coordinate reference system for the filter. + * + * @return the filterCrs value. + */ + @Generated + public String getFilterCrs() { + return this.filterCrs; + } + + /** + * Set the filterCrs property: Coordinate reference system for the filter. + * + * @param filterCrs the filterCrs value to set. + * @return the SearchPostRequest object itself. + */ + @Generated + public SearchPostRequest setFilterCrs(String filterCrs) { + this.filterCrs = filterCrs; + return this; + } + + /** + * Get the filterLang property: Filter language to use for the filter expression. + * + * @return the filterLang value. + */ + @Generated + public FilterLang getFilterLang() { + return this.filterLang; + } + + /** + * Set the filterLang property: Filter language to use for the filter expression. + * + * @param filterLang the filterLang value to set. + * @return the SearchPostRequest object itself. + */ + @Generated + public SearchPostRequest setFilterLang(FilterLang filterLang) { + this.filterLang = filterLang; + return this; + } + + /** + * Get the token property: Pagination token for fetching the next set of results. + * + * @return the token value. + */ + @Generated + public String getToken() { + return this.token; + } + + /** + * Set the token property: Pagination token for fetching the next set of results. + * + * @param token the token value to set. + * @return the SearchPostRequest object itself. + */ + @Generated + public SearchPostRequest setToken(String token) { + this.token = token; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("collections", this.collections, (writer, element) -> writer.writeString(element)); + jsonWriter.writeArrayField("ids", this.ids, (writer, element) -> writer.writeString(element)); + jsonWriter.writeArrayField("bbox", this.bbox, (writer, element) -> writer.writeDouble(element)); + jsonWriter.writeJsonField("intersects", this.intersects); + jsonWriter.writeStringField("datetime", this.datetime); + jsonWriter.writeNumberField("limit", this.limit); + jsonWriter.writeMapField("conf", this.conf, + (writer, element) -> writer.writeUntyped(element == null ? null : element.toObject(Object.class))); + jsonWriter.writeStringField("sign", this.sign == null ? null : this.sign.toString()); + jsonWriter.writeNumberField("duration", this.duration); + jsonWriter.writeJsonField("query", this.query); + jsonWriter.writeArrayField("sortby", this.sortBy, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeArrayField("fields", this.fields, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("filter", this.filter); + jsonWriter.writeStringField("filter-crs", this.filterCrs); + jsonWriter.writeStringField("filter-lang", this.filterLang == null ? null : this.filterLang.toString()); + jsonWriter.writeStringField("token", this.token); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of SearchPostRequest from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of SearchPostRequest if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IOException If an error occurs while reading the SearchPostRequest. + */ + @Generated + public static SearchPostRequest fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + SearchPostRequest deserializedSearchPostRequest = new SearchPostRequest(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("collections".equals(fieldName)) { + List collections = reader.readArray(reader1 -> reader1.getString()); + deserializedSearchPostRequest.collections = collections; + } else if ("ids".equals(fieldName)) { + List ids = reader.readArray(reader1 -> reader1.getString()); + deserializedSearchPostRequest.ids = ids; + } else if ("bbox".equals(fieldName)) { + List bbox = reader.readArray(reader1 -> reader1.getDouble()); + deserializedSearchPostRequest.bbox = bbox; + } else if ("intersects".equals(fieldName)) { + deserializedSearchPostRequest.intersects = Geometry.fromJson(reader); + } else if ("datetime".equals(fieldName)) { + deserializedSearchPostRequest.datetime = reader.getString(); + } else if ("limit".equals(fieldName)) { + deserializedSearchPostRequest.limit = reader.getNullable(JsonReader::getInt); + } else if ("conf".equals(fieldName)) { + Map conf = reader.readMap(reader1 -> reader1 + .getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()))); + deserializedSearchPostRequest.conf = conf; + } else if ("sign".equals(fieldName)) { + deserializedSearchPostRequest.sign = SignType.fromString(reader.getString()); + } else if ("duration".equals(fieldName)) { + deserializedSearchPostRequest.duration = reader.getNullable(JsonReader::getInt); + } else if ("query".equals(fieldName)) { + deserializedSearchPostRequest.query = StacQuery.fromJson(reader); + } else if ("sortby".equals(fieldName)) { + List sortBy = reader.readArray(reader1 -> SortExtension.fromJson(reader1)); + deserializedSearchPostRequest.sortBy = sortBy; + } else if ("fields".equals(fieldName)) { + List fields + = reader.readArray(reader1 -> SearchPostRequestFields.fromJson(reader1)); + deserializedSearchPostRequest.fields = fields; + } else if ("filter".equals(fieldName)) { + deserializedSearchPostRequest.filter = reader.getString(); + } else if ("filter-crs".equals(fieldName)) { + deserializedSearchPostRequest.filterCrs = reader.getString(); + } else if ("filter-lang".equals(fieldName)) { + deserializedSearchPostRequest.filterLang = FilterLang.fromString(reader.getString()); + } else if ("token".equals(fieldName)) { + deserializedSearchPostRequest.token = reader.getString(); + } else { + reader.skipChildren(); + } + } + + return deserializedSearchPostRequest; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/SearchPostRequestFields.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/SearchPostRequestFields.java new file mode 100644 index 000000000000..823b33314d0f --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/SearchPostRequestFields.java @@ -0,0 +1,132 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * FieldsExtension. + * + * Attributes: + * include: set of fields to include. + * exclude: set of fields to exclude. + * + * Controls which fields to include or exclude from the response. + */ +@Fluent +public final class SearchPostRequestFields implements JsonSerializable { + /* + * Array of field names to include in the response. + */ + @Generated + private List include; + + /* + * Array of field names to exclude from the response. + */ + @Generated + private List exclude; + + /** + * Creates an instance of SearchPostRequestFields class. + */ + @Generated + public SearchPostRequestFields() { + } + + /** + * Get the include property: Array of field names to include in the response. + * + * @return the include value. + */ + @Generated + public List getInclude() { + return this.include; + } + + /** + * Set the include property: Array of field names to include in the response. + * + * @param include the include value to set. + * @return the SearchPostRequestFields object itself. + */ + @Generated + public SearchPostRequestFields setInclude(List include) { + this.include = include; + return this; + } + + /** + * Get the exclude property: Array of field names to exclude from the response. + * + * @return the exclude value. + */ + @Generated + public List getExclude() { + return this.exclude; + } + + /** + * Set the exclude property: Array of field names to exclude from the response. + * + * @param exclude the exclude value to set. + * @return the SearchPostRequestFields object itself. + */ + @Generated + public SearchPostRequestFields setExclude(List exclude) { + this.exclude = exclude; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("include", this.include, (writer, element) -> writer.writeString(element)); + jsonWriter.writeArrayField("exclude", this.exclude, (writer, element) -> writer.writeString(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of SearchPostRequestFields from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of SearchPostRequestFields if the JsonReader was pointing to an instance of it, or null if it + * was pointing to JSON null. + * @throws IOException If an error occurs while reading the SearchPostRequestFields. + */ + @Generated + public static SearchPostRequestFields fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + SearchPostRequestFields deserializedSearchPostRequestFields = new SearchPostRequestFields(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("include".equals(fieldName)) { + List include = reader.readArray(reader1 -> reader1.getString()); + deserializedSearchPostRequestFields.include = include; + } else if ("exclude".equals(fieldName)) { + List exclude = reader.readArray(reader1 -> reader1.getString()); + deserializedSearchPostRequestFields.exclude = exclude; + } else { + reader.skipChildren(); + } + } + + return deserializedSearchPostRequestFields; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/SignType.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/SignType.java new file mode 100644 index 000000000000..51e735f57efb --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/SignType.java @@ -0,0 +1,57 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Represent the signature type for asset URLs. + */ +public final class SignType extends ExpandableStringEnum { + /** + * Sign asset URLs in the response. + */ + @Generated + public static final SignType TRUE = fromString("true"); + + /** + * Do not sign asset URLs in the response. + */ + @Generated + public static final SignType FALSE = fromString("false"); + + /** + * Creates a new instance of SignType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public SignType() { + } + + /** + * Creates or finds a SignType from its string representation. + * + * @param name a name to look for. + * @return the corresponding SignType. + */ + @Generated + public static SignType fromString(String name) { + return fromString(name, SignType.class); + } + + /** + * Gets known SignType values. + * + * @return known SignType values. + */ + @Generated + public static Collection values() { + return values(SignType.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/SortDirections.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/SortDirections.java new file mode 100644 index 000000000000..65c17b17229c --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/SortDirections.java @@ -0,0 +1,57 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Defines the sorting directions for query results in STAC API. + */ +public final class SortDirections extends ExpandableStringEnum { + /** + * Sort results in ascending order. + */ + @Generated + public static final SortDirections ASC = fromString("asc"); + + /** + * Sort results in descending order. + */ + @Generated + public static final SortDirections DESC = fromString("desc"); + + /** + * Creates a new instance of SortDirections value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public SortDirections() { + } + + /** + * Creates or finds a SortDirections from its string representation. + * + * @param name a name to look for. + * @return the corresponding SortDirections. + */ + @Generated + public static SortDirections fromString(String name) { + return fromString(name, SortDirections.class); + } + + /** + * Gets known SortDirections values. + * + * @return known SortDirections values. + */ + @Generated + public static Collection values() { + return values(SortDirections.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/SortExtension.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/SortExtension.java new file mode 100644 index 000000000000..fa9f5d12dc59 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/SortExtension.java @@ -0,0 +1,107 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * https://github.com/radiantearth/stac-api-spec/tree/master/extensions/sort#sort-api-extension + * + * Represents a sort specification for STAC API queries. + */ +@Immutable +public final class SortExtension implements JsonSerializable { + /* + * The field name to sort by. + */ + @Generated + private final String field; + + /* + * The sort direction (ascending or descending). + */ + @Generated + private final SortDirections direction; + + /** + * Creates an instance of SortExtension class. + * + * @param field the field value to set. + * @param direction the direction value to set. + */ + @Generated + public SortExtension(String field, SortDirections direction) { + this.field = field; + this.direction = direction; + } + + /** + * Get the field property: The field name to sort by. + * + * @return the field value. + */ + @Generated + public String getField() { + return this.field; + } + + /** + * Get the direction property: The sort direction (ascending or descending). + * + * @return the direction value. + */ + @Generated + public SortDirections getDirection() { + return this.direction; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("field", this.field); + jsonWriter.writeStringField("direction", this.direction == null ? null : this.direction.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of SortExtension from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of SortExtension if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the SortExtension. + */ + @Generated + public static SortExtension fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String field = null; + SortDirections direction = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("field".equals(fieldName)) { + field = reader.getString(); + } else if ("direction".equals(fieldName)) { + direction = SortDirections.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + return new SortExtension(field, direction); + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/SpatialExtent.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/SpatialExtent.java new file mode 100644 index 000000000000..da5432585a17 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/SpatialExtent.java @@ -0,0 +1,100 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md#spatial-extent-object + * + * Represents the spatial extent of a STAC collection with bounding boxes. + */ +@Fluent +public final class SpatialExtent implements JsonSerializable { + /* + * Array of bounding boxes defining the spatial extent, in format [[west, south, east, north]]. + */ + @Generated + private List> bbox; + + /** + * Creates an instance of SpatialExtent class. + */ + @Generated + public SpatialExtent() { + } + + /** + * Get the bbox property: Array of bounding boxes defining the spatial extent, in format [[west, south, east, + * north]]. + * + * @return the bbox value. + */ + @Generated + public List> getBbox() { + return this.bbox; + } + + /** + * Set the bbox property: Array of bounding boxes defining the spatial extent, in format [[west, south, east, + * north]]. + * + * @param bbox the bbox value to set. + * @return the SpatialExtent object itself. + */ + @Generated + public SpatialExtent setBbox(List> bbox) { + this.bbox = bbox; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("bbox", this.bbox, + (writer, element) -> writer.writeArray(element, (writer1, element1) -> writer1.writeDouble(element1))); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of SpatialExtent from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of SpatialExtent if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IOException If an error occurs while reading the SpatialExtent. + */ + @Generated + public static SpatialExtent fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + SpatialExtent deserializedSpatialExtent = new SpatialExtent(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("bbox".equals(fieldName)) { + List> bbox + = reader.readArray(reader1 -> reader1.readArray(reader2 -> reader2.getDouble())); + deserializedSpatialExtent.bbox = bbox; + } else { + reader.skipChildren(); + } + } + + return deserializedSpatialExtent; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/StacCollectionModel.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/StacCollectionModel.java new file mode 100644 index 000000000000..b4dcf9ae2fff --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/StacCollectionModel.java @@ -0,0 +1,550 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; +import java.util.Map; + +/** + * https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md + * + * Represents a STAC collection. + */ +@Fluent +public final class StacCollectionModel implements JsonSerializable { + /* + * MSFT Created + */ + @Generated + private String msftCreated; + + /* + * MSFT Updated + */ + @Generated + private String msftUpdated; + + /* + * MSFT Short Description + */ + @Generated + private String msftShortDescription; + + /* + * URLs to STAC extensions implemented by this STAC resource. + */ + @Generated + private List stacExtensions; + + /* + * Unique identifier for the collection. + */ + @Generated + private String id; + + /* + * Detailed description of the collection. + */ + @Generated + private final String description; + + /* + * Stac Version + */ + @Generated + private String stacVersion; + + /* + * Links to related resources and endpoints. + */ + @Generated + private final List links; + + /* + * Human-readable title for the collection. + */ + @Generated + private String title; + + /* + * Type + */ + @Generated + private String type; + + /* + * Assets + */ + @Generated + private Map assets; + + /* + * License identifier for the collection data. + */ + @Generated + private final String license; + + /* + * Spatial and temporal extent of the collection. + */ + @Generated + private final Extent extent; + + /* + * Keywords describing the collection. + */ + @Generated + private List keywords; + + /* + * Organizations or individuals who provide the collection data. + */ + @Generated + private List providers; + + /* + * Summaries + * + * See the [STAC Collection + * Spec](https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md#spatial-extent- + * object). + */ + @Generated + private StacCollectionSummaries summaries; + + /** + * Creates an instance of StacCollectionModel class. + * + * @param description the description value to set. + * @param links the links value to set. + * @param license the license value to set. + * @param extent the extent value to set. + */ + @Generated + public StacCollectionModel(String description, List links, String license, Extent extent) { + this.description = description; + this.links = links; + this.license = license; + this.extent = extent; + } + + /** + * Get the msftCreated property: MSFT Created. + * + * @return the msftCreated value. + */ + @Generated + public String getMsftCreated() { + return this.msftCreated; + } + + /** + * Set the msftCreated property: MSFT Created. + * + * @param msftCreated the msftCreated value to set. + * @return the StacCollectionModel object itself. + */ + @Generated + public StacCollectionModel setMsftCreated(String msftCreated) { + this.msftCreated = msftCreated; + return this; + } + + /** + * Get the msftUpdated property: MSFT Updated. + * + * @return the msftUpdated value. + */ + @Generated + public String getMsftUpdated() { + return this.msftUpdated; + } + + /** + * Set the msftUpdated property: MSFT Updated. + * + * @param msftUpdated the msftUpdated value to set. + * @return the StacCollectionModel object itself. + */ + @Generated + public StacCollectionModel setMsftUpdated(String msftUpdated) { + this.msftUpdated = msftUpdated; + return this; + } + + /** + * Get the msftShortDescription property: MSFT Short Description. + * + * @return the msftShortDescription value. + */ + @Generated + public String getMsftShortDescription() { + return this.msftShortDescription; + } + + /** + * Set the msftShortDescription property: MSFT Short Description. + * + * @param msftShortDescription the msftShortDescription value to set. + * @return the StacCollectionModel object itself. + */ + @Generated + public StacCollectionModel setMsftShortDescription(String msftShortDescription) { + this.msftShortDescription = msftShortDescription; + return this; + } + + /** + * Get the stacExtensions property: URLs to STAC extensions implemented by this STAC resource. + * + * @return the stacExtensions value. + */ + @Generated + public List getStacExtensions() { + return this.stacExtensions; + } + + /** + * Set the stacExtensions property: URLs to STAC extensions implemented by this STAC resource. + * + * @param stacExtensions the stacExtensions value to set. + * @return the StacCollectionModel object itself. + */ + @Generated + public StacCollectionModel setStacExtensions(List stacExtensions) { + this.stacExtensions = stacExtensions; + return this; + } + + /** + * Get the id property: Unique identifier for the collection. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the description property: Detailed description of the collection. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Get the stacVersion property: Stac Version. + * + * @return the stacVersion value. + */ + @Generated + public String getStacVersion() { + return this.stacVersion; + } + + /** + * Set the stacVersion property: Stac Version. + * + * @param stacVersion the stacVersion value to set. + * @return the StacCollectionModel object itself. + */ + @Generated + public StacCollectionModel setStacVersion(String stacVersion) { + this.stacVersion = stacVersion; + return this; + } + + /** + * Get the links property: Links to related resources and endpoints. + * + * @return the links value. + */ + @Generated + public List getLinks() { + return this.links; + } + + /** + * Get the title property: Human-readable title for the collection. + * + * @return the title value. + */ + @Generated + public String getTitle() { + return this.title; + } + + /** + * Set the title property: Human-readable title for the collection. + * + * @param title the title value to set. + * @return the StacCollectionModel object itself. + */ + @Generated + public StacCollectionModel setTitle(String title) { + this.title = title; + return this; + } + + /** + * Get the type property: Type. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * Set the type property: Type. + * + * @param type the type value to set. + * @return the StacCollectionModel object itself. + */ + @Generated + public StacCollectionModel setType(String type) { + this.type = type; + return this; + } + + /** + * Get the assets property: Assets. + * + * @return the assets value. + */ + @Generated + public Map getAssets() { + return this.assets; + } + + /** + * Set the assets property: Assets. + * + * @param assets the assets value to set. + * @return the StacCollectionModel object itself. + */ + @Generated + public StacCollectionModel setAssets(Map assets) { + this.assets = assets; + return this; + } + + /** + * Get the license property: License identifier for the collection data. + * + * @return the license value. + */ + @Generated + public String getLicense() { + return this.license; + } + + /** + * Get the extent property: Spatial and temporal extent of the collection. + * + * @return the extent value. + */ + @Generated + public Extent getExtent() { + return this.extent; + } + + /** + * Get the keywords property: Keywords describing the collection. + * + * @return the keywords value. + */ + @Generated + public List getKeywords() { + return this.keywords; + } + + /** + * Set the keywords property: Keywords describing the collection. + * + * @param keywords the keywords value to set. + * @return the StacCollectionModel object itself. + */ + @Generated + public StacCollectionModel setKeywords(List keywords) { + this.keywords = keywords; + return this; + } + + /** + * Get the providers property: Organizations or individuals who provide the collection data. + * + * @return the providers value. + */ + @Generated + public List getProviders() { + return this.providers; + } + + /** + * Set the providers property: Organizations or individuals who provide the collection data. + * + * @param providers the providers value to set. + * @return the StacCollectionModel object itself. + */ + @Generated + public StacCollectionModel setProviders(List providers) { + this.providers = providers; + return this; + } + + /** + * Get the summaries property: Summaries + * + * See the [STAC Collection + * Spec](https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md#spatial-extent-object). + * + * @return the summaries value. + */ + @Generated + public StacCollectionSummaries getSummaries() { + return this.summaries; + } + + /** + * Set the summaries property: Summaries + * + * See the [STAC Collection + * Spec](https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md#spatial-extent-object). + * + * @param summaries the summaries value to set. + * @return the StacCollectionModel object itself. + */ + @Generated + public StacCollectionModel setSummaries(StacCollectionSummaries summaries) { + this.summaries = summaries; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("description", this.description); + jsonWriter.writeArrayField("links", this.links, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("license", this.license); + jsonWriter.writeJsonField("extent", this.extent); + jsonWriter.writeStringField("msft:_created", this.msftCreated); + jsonWriter.writeStringField("msft:_updated", this.msftUpdated); + jsonWriter.writeStringField("msft:short_description", this.msftShortDescription); + jsonWriter.writeArrayField("stac_extensions", this.stacExtensions, + (writer, element) -> writer.writeString(element)); + jsonWriter.writeStringField("stac_version", this.stacVersion); + jsonWriter.writeStringField("title", this.title); + jsonWriter.writeStringField("type", this.type); + jsonWriter.writeMapField("assets", this.assets, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeArrayField("keywords", this.keywords, (writer, element) -> writer.writeString(element)); + jsonWriter.writeArrayField("providers", this.providers, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeJsonField("summaries", this.summaries); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of StacCollectionModel from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of StacCollectionModel if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the StacCollectionModel. + */ + @Generated + public static StacCollectionModel fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + String description = null; + List links = null; + String license = null; + Extent extent = null; + String msftCreated = null; + String msftUpdated = null; + String msftShortDescription = null; + List stacExtensions = null; + String stacVersion = null; + String title = null; + String type = null; + Map assets = null; + List keywords = null; + List providers = null; + StacCollectionSummaries summaries = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("description".equals(fieldName)) { + description = reader.getString(); + } else if ("links".equals(fieldName)) { + links = reader.readArray(reader1 -> Link.fromJson(reader1)); + } else if ("license".equals(fieldName)) { + license = reader.getString(); + } else if ("extent".equals(fieldName)) { + extent = Extent.fromJson(reader); + } else if ("msft:_created".equals(fieldName)) { + msftCreated = reader.getString(); + } else if ("msft:_updated".equals(fieldName)) { + msftUpdated = reader.getString(); + } else if ("msft:short_description".equals(fieldName)) { + msftShortDescription = reader.getString(); + } else if ("stac_extensions".equals(fieldName)) { + stacExtensions = reader.readArray(reader1 -> reader1.getString()); + } else if ("stac_version".equals(fieldName)) { + stacVersion = reader.getString(); + } else if ("title".equals(fieldName)) { + title = reader.getString(); + } else if ("type".equals(fieldName)) { + type = reader.getString(); + } else if ("assets".equals(fieldName)) { + assets = reader.readMap(reader1 -> Asset.fromJson(reader1)); + } else if ("keywords".equals(fieldName)) { + keywords = reader.readArray(reader1 -> reader1.getString()); + } else if ("providers".equals(fieldName)) { + providers = reader.readArray(reader1 -> Provider.fromJson(reader1)); + } else if ("summaries".equals(fieldName)) { + summaries = StacCollectionSummaries.fromJson(reader); + } else { + reader.skipChildren(); + } + } + StacCollectionModel deserializedStacCollectionModel + = new StacCollectionModel(description, links, license, extent); + deserializedStacCollectionModel.id = id; + deserializedStacCollectionModel.msftCreated = msftCreated; + deserializedStacCollectionModel.msftUpdated = msftUpdated; + deserializedStacCollectionModel.msftShortDescription = msftShortDescription; + deserializedStacCollectionModel.stacExtensions = stacExtensions; + deserializedStacCollectionModel.stacVersion = stacVersion; + deserializedStacCollectionModel.title = title; + deserializedStacCollectionModel.type = type; + deserializedStacCollectionModel.assets = assets; + deserializedStacCollectionModel.keywords = keywords; + deserializedStacCollectionModel.providers = providers; + deserializedStacCollectionModel.summaries = summaries; + + return deserializedStacCollectionModel; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/StacCollectionSummaries.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/StacCollectionSummaries.java new file mode 100644 index 000000000000..d3005e996c45 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/StacCollectionSummaries.java @@ -0,0 +1,107 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.core.util.BinaryData; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * Represents a collection summary. + */ +@Fluent +public final class StacCollectionSummaries implements JsonSerializable { + /* + * Represents a collection summary + */ + @Generated + private Map additionalProperties; + + /** + * Creates an instance of StacCollectionSummaries class. + */ + @Generated + public StacCollectionSummaries() { + } + + /** + * Get the additionalProperties property: Represents a collection summary. + * + * @return the additionalProperties value. + */ + @Generated + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + /** + * Set the additionalProperties property: Represents a collection summary. + * + * @param additionalProperties the additionalProperties value to set. + * @return the StacCollectionSummaries object itself. + */ + @Generated + public StacCollectionSummaries setAdditionalProperties(Map additionalProperties) { + this.additionalProperties = additionalProperties; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + if (additionalProperties != null) { + for (Map.Entry additionalProperty : additionalProperties.entrySet()) { + jsonWriter.writeFieldName(additionalProperty.getKey()); + if (additionalProperty.getValue() == null) { + jsonWriter.writeNull(); + } else { + additionalProperty.getValue().writeTo(jsonWriter); + } + } + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of StacCollectionSummaries from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of StacCollectionSummaries if the JsonReader was pointing to an instance of it, or null if it + * was pointing to JSON null. + * @throws IOException If an error occurs while reading the StacCollectionSummaries. + */ + @Generated + public static StacCollectionSummaries fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + StacCollectionSummaries deserializedStacCollectionSummaries = new StacCollectionSummaries(); + Map additionalProperties = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if (additionalProperties == null) { + additionalProperties = new LinkedHashMap<>(); + } + + additionalProperties.put(fieldName, + reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()))); + } + deserializedStacCollectionSummaries.additionalProperties = additionalProperties; + + return deserializedStacCollectionSummaries; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/StacItemModel.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/StacItemModel.java new file mode 100644 index 000000000000..cc12bd8494f7 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/StacItemModel.java @@ -0,0 +1,548 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.azure.planetarycomputer.implementation.JsonMergePatchHelper; +import java.io.IOException; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * Represents a STAC Item, which is a GeoJSON Feature with additional metadata. + */ +@Fluent +public final class StacItemModel extends StacItemOrItemCollection { + /* + * Discriminator property for StacItemOrItemCollection. + */ + @Generated + private StacModelType type = StacModelType.FEATURE; + + /* + * Geometry object defining the feature's shape + */ + @Generated + private Geometry geometry; + + /* + * Bounding box coordinates for the feature + */ + @Generated + private List bbox; + + /* + * Unique identifier for the feature + */ + @Generated + private String id; + + /* + * ID of the STAC collection this item belongs to. + */ + @Generated + private String collection; + + /* + * Attributes associated with the feature + */ + @Generated + private ItemProperties properties; + + /* + * Assets + */ + @Generated + private Map assets; + + /* + * MSFT Timestamp + */ + @Generated + private String msftTimestamp; + + /* + * MSFT ETag + */ + @Generated + private String msftEtag; + + /** + * Stores updated model property, the value is property name, not serialized name. + */ + @Generated + private final Set updatedProperties = new HashSet<>(); + + /** + * Creates an instance of StacItemModel class. + */ + @Generated + public StacItemModel() { + } + + /** + * Get the type property: Discriminator property for StacItemOrItemCollection. + * + * @return the type value. + */ + @Generated + @Override + public StacModelType getType() { + return this.type; + } + + /** + * Get the geometry property: Geometry object defining the feature's shape. + * + * @return the geometry value. + */ + @Generated + public Geometry getGeometry() { + return this.geometry; + } + + /** + * Set the geometry property: Geometry object defining the feature's shape. + *

Required when create the resource.

+ * + * @param geometry the geometry value to set. + * @return the StacItemModel object itself. + */ + @Generated + public StacItemModel setGeometry(Geometry geometry) { + this.geometry = geometry; + this.updatedProperties.add("geometry"); + return this; + } + + /** + * Get the bbox property: Bounding box coordinates for the feature. + * + * @return the bbox value. + */ + @Generated + public List getBbox() { + return this.bbox; + } + + /** + * Set the bbox property: Bounding box coordinates for the feature. + *

Required when create the resource.

+ * + * @param bbox the bbox value to set. + * @return the StacItemModel object itself. + */ + @Generated + public StacItemModel setBbox(List bbox) { + this.bbox = bbox; + this.updatedProperties.add("bbox"); + return this; + } + + /** + * Get the id property: Unique identifier for the feature. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the collection property: ID of the STAC collection this item belongs to. + * + * @return the collection value. + */ + @Generated + public String getCollection() { + return this.collection; + } + + /** + * Set the collection property: ID of the STAC collection this item belongs to. + * + * @param collection the collection value to set. + * @return the StacItemModel object itself. + */ + @Generated + public StacItemModel setCollection(String collection) { + this.collection = collection; + this.updatedProperties.add("collection"); + return this; + } + + /** + * Get the properties property: Attributes associated with the feature. + * + * @return the properties value. + */ + @Generated + public ItemProperties getProperties() { + return this.properties; + } + + /** + * Set the properties property: Attributes associated with the feature. + *

Required when create the resource.

+ * + * @param properties the properties value to set. + * @return the StacItemModel object itself. + */ + @Generated + public StacItemModel setProperties(ItemProperties properties) { + this.properties = properties; + this.updatedProperties.add("properties"); + return this; + } + + /** + * Get the assets property: Assets. + * + * @return the assets value. + */ + @Generated + public Map getAssets() { + return this.assets; + } + + /** + * Set the assets property: Assets. + *

Required when create the resource.

+ * + * @param assets the assets value to set. + * @return the StacItemModel object itself. + */ + @Generated + public StacItemModel setAssets(Map assets) { + this.assets = assets; + this.updatedProperties.add("assets"); + return this; + } + + /** + * Get the msftTimestamp property: MSFT Timestamp. + * + * @return the msftTimestamp value. + */ + @Generated + public String getMsftTimestamp() { + return this.msftTimestamp; + } + + /** + * Set the msftTimestamp property: MSFT Timestamp. + * + * @param msftTimestamp the msftTimestamp value to set. + * @return the StacItemModel object itself. + */ + @Generated + public StacItemModel setMsftTimestamp(String msftTimestamp) { + this.msftTimestamp = msftTimestamp; + this.updatedProperties.add("msftTimestamp"); + return this; + } + + /** + * Get the msftEtag property: MSFT ETag. + * + * @return the msftEtag value. + */ + @Generated + public String getMsftEtag() { + return this.msftEtag; + } + + /** + * Set the msftEtag property: MSFT ETag. + * + * @param msftEtag the msftEtag value to set. + * @return the StacItemModel object itself. + */ + @Generated + public StacItemModel setMsftEtag(String msftEtag) { + this.msftEtag = msftEtag; + this.updatedProperties.add("msftEtag"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public StacItemModel setStacVersion(String stacVersion) { + super.setStacVersion(stacVersion); + this.updatedProperties.add("stacVersion"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public StacItemModel setLinks(List links) { + super.setLinks(links); + this.updatedProperties.add("links"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public StacItemModel setMsftCreated(String msftCreated) { + super.setMsftCreated(msftCreated); + this.updatedProperties.add("msftCreated"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public StacItemModel setMsftUpdated(String msftUpdated) { + super.setMsftUpdated(msftUpdated); + this.updatedProperties.add("msftUpdated"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public StacItemModel setMsftShortDescription(String msftShortDescription) { + super.setMsftShortDescription(msftShortDescription); + this.updatedProperties.add("msftShortDescription"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public StacItemModel setStacExtensions(List stacExtensions) { + super.setStacExtensions(stacExtensions); + this.updatedProperties.add("stacExtensions"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + if (JsonMergePatchHelper.getStacItemOrItemCollectionAccessor().isJsonMergePatch(this)) { + return toJsonMergePatch(jsonWriter); + } else { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("stac_version", getStacVersion()); + jsonWriter.writeArrayField("links", getLinks(), (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("msft:_created", getMsftCreated()); + jsonWriter.writeStringField("msft:_updated", getMsftUpdated()); + jsonWriter.writeStringField("msft:short_description", getMsftShortDescription()); + jsonWriter.writeArrayField("stac_extensions", getStacExtensions(), + (writer, element) -> writer.writeString(element)); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeJsonField("geometry", this.geometry); + jsonWriter.writeArrayField("bbox", this.bbox, (writer, element) -> writer.writeDouble(element)); + jsonWriter.writeStringField("collection", this.collection); + jsonWriter.writeJsonField("properties", this.properties); + jsonWriter.writeMapField("assets", this.assets, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("_msft:ts", this.msftTimestamp); + jsonWriter.writeStringField("_msft:etag", this.msftEtag); + return jsonWriter.writeEndObject(); + } + } + + @Generated + private JsonWriter toJsonMergePatch(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + if (updatedProperties.contains("stacVersion")) { + if (getStacVersion() == null) { + jsonWriter.writeNullField("stac_version"); + } else { + jsonWriter.writeStringField("stac_version", getStacVersion()); + } + } + if (updatedProperties.contains("links")) { + if (getLinks() == null) { + jsonWriter.writeNullField("links"); + } else { + jsonWriter.writeArrayField("links", getLinks(), (writer, element) -> writer.writeJson(element)); + } + } + if (updatedProperties.contains("msftCreated")) { + if (getMsftCreated() == null) { + jsonWriter.writeNullField("msft:_created"); + } else { + jsonWriter.writeStringField("msft:_created", getMsftCreated()); + } + } + if (updatedProperties.contains("msftUpdated")) { + if (getMsftUpdated() == null) { + jsonWriter.writeNullField("msft:_updated"); + } else { + jsonWriter.writeStringField("msft:_updated", getMsftUpdated()); + } + } + if (updatedProperties.contains("msftShortDescription")) { + if (getMsftShortDescription() == null) { + jsonWriter.writeNullField("msft:short_description"); + } else { + jsonWriter.writeStringField("msft:short_description", getMsftShortDescription()); + } + } + if (updatedProperties.contains("stacExtensions")) { + if (getStacExtensions() == null) { + jsonWriter.writeNullField("stac_extensions"); + } else { + jsonWriter.writeArrayField("stac_extensions", getStacExtensions(), + (writer, element) -> writer.writeString(element)); + } + } + jsonWriter.writeStringField("type", this.type.toString()); + if (updatedProperties.contains("geometry")) { + if (this.geometry == null) { + jsonWriter.writeNullField("geometry"); + } else { + JsonMergePatchHelper.getGeometryAccessor().prepareModelForJsonMergePatch(this.geometry, true); + jsonWriter.writeJsonField("geometry", this.geometry); + JsonMergePatchHelper.getGeometryAccessor().prepareModelForJsonMergePatch(this.geometry, false); + } + } + if (updatedProperties.contains("bbox")) { + if (this.bbox == null) { + jsonWriter.writeNullField("bbox"); + } else { + jsonWriter.writeArrayField("bbox", this.bbox, (writer, element) -> writer.writeDouble(element)); + } + } + if (updatedProperties.contains("collection")) { + if (this.collection == null) { + jsonWriter.writeNullField("collection"); + } else { + jsonWriter.writeStringField("collection", this.collection); + } + } + if (updatedProperties.contains("properties")) { + if (this.properties == null) { + jsonWriter.writeNullField("properties"); + } else { + JsonMergePatchHelper.getItemPropertiesAccessor().prepareModelForJsonMergePatch(this.properties, true); + jsonWriter.writeJsonField("properties", this.properties); + JsonMergePatchHelper.getItemPropertiesAccessor().prepareModelForJsonMergePatch(this.properties, false); + } + } + if (updatedProperties.contains("assets")) { + if (this.assets == null) { + jsonWriter.writeNullField("assets"); + } else { + jsonWriter.writeMapField("assets", this.assets, (writer, element) -> { + if (element != null) { + JsonMergePatchHelper.getAssetAccessor().prepareModelForJsonMergePatch(element, true); + writer.writeJson(element); + JsonMergePatchHelper.getAssetAccessor().prepareModelForJsonMergePatch(element, false); + } else { + writer.writeNull(); + } + }); + } + } + if (updatedProperties.contains("msftTimestamp")) { + if (this.msftTimestamp == null) { + jsonWriter.writeNullField("_msft:ts"); + } else { + jsonWriter.writeStringField("_msft:ts", this.msftTimestamp); + } + } + if (updatedProperties.contains("msftEtag")) { + if (this.msftEtag == null) { + jsonWriter.writeNullField("_msft:etag"); + } else { + jsonWriter.writeStringField("_msft:etag", this.msftEtag); + } + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of StacItemModel from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of StacItemModel if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the StacItemModel. + */ + @Generated + public static StacItemModel fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + StacItemModel deserializedStacItemModel = new StacItemModel(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("stac_version".equals(fieldName)) { + JsonMergePatchHelper.getStacItemOrItemCollectionAccessor() + .setStacVersion(deserializedStacItemModel, reader.getString()); + } else if ("links".equals(fieldName)) { + List links = reader.readArray(reader1 -> Link.fromJson(reader1)); + JsonMergePatchHelper.getStacItemOrItemCollectionAccessor() + .setLinks(deserializedStacItemModel, links); + } else if ("msft:_created".equals(fieldName)) { + JsonMergePatchHelper.getStacItemOrItemCollectionAccessor() + .setMsftCreated(deserializedStacItemModel, reader.getString()); + } else if ("msft:_updated".equals(fieldName)) { + JsonMergePatchHelper.getStacItemOrItemCollectionAccessor() + .setMsftUpdated(deserializedStacItemModel, reader.getString()); + } else if ("msft:short_description".equals(fieldName)) { + JsonMergePatchHelper.getStacItemOrItemCollectionAccessor() + .setMsftShortDescription(deserializedStacItemModel, reader.getString()); + } else if ("stac_extensions".equals(fieldName)) { + List stacExtensions = reader.readArray(reader1 -> reader1.getString()); + JsonMergePatchHelper.getStacItemOrItemCollectionAccessor() + .setStacExtensions(deserializedStacItemModel, stacExtensions); + } else if ("id".equals(fieldName)) { + deserializedStacItemModel.id = reader.getString(); + } else if ("type".equals(fieldName)) { + deserializedStacItemModel.type = StacModelType.fromString(reader.getString()); + } else if ("geometry".equals(fieldName)) { + deserializedStacItemModel.geometry = Geometry.fromJson(reader); + } else if ("bbox".equals(fieldName)) { + List bbox = reader.readArray(reader1 -> reader1.getDouble()); + deserializedStacItemModel.bbox = bbox; + } else if ("collection".equals(fieldName)) { + deserializedStacItemModel.collection = reader.getString(); + } else if ("properties".equals(fieldName)) { + deserializedStacItemModel.properties = ItemProperties.fromJson(reader); + } else if ("assets".equals(fieldName)) { + Map assets = reader.readMap(reader1 -> Asset.fromJson(reader1)); + deserializedStacItemModel.assets = assets; + } else if ("_msft:ts".equals(fieldName)) { + deserializedStacItemModel.msftTimestamp = reader.getString(); + } else if ("_msft:etag".equals(fieldName)) { + deserializedStacItemModel.msftEtag = reader.getString(); + } else { + reader.skipChildren(); + } + } + + return deserializedStacItemModel; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/StacItemOrItemCollection.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/StacItemOrItemCollection.java new file mode 100644 index 000000000000..caa349d2e080 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/StacItemOrItemCollection.java @@ -0,0 +1,422 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.azure.planetarycomputer.implementation.JsonMergePatchHelper; +import java.io.IOException; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** + * Base type for STAC items and collections with discriminator. + */ +@Fluent +public class StacItemOrItemCollection implements JsonSerializable { + /* + * Discriminator property for StacItemOrItemCollection. + */ + @Generated + private StacModelType type = StacModelType.fromString("StacItemOrItemCollection"); + + /* + * Stac Version + */ + @Generated + private String stacVersion; + + /* + * Links to related resources and endpoints. + */ + @Generated + private List links; + + /* + * MSFT Created + */ + @Generated + private String msftCreated; + + /* + * MSFT Updated + */ + @Generated + private String msftUpdated; + + /* + * MSFT Short Description + */ + @Generated + private String msftShortDescription; + + /* + * URLs to STAC extensions implemented by this STAC resource. + */ + @Generated + private List stacExtensions; + + /** + * Stores updated model property, the value is property name, not serialized name. + */ + @Generated + private final Set updatedProperties = new HashSet<>(); + + @Generated + private boolean jsonMergePatch; + + @Generated + private void serializeAsJsonMergePatch(boolean jsonMergePatch) { + this.jsonMergePatch = jsonMergePatch; + } + + static { + JsonMergePatchHelper + .setStacItemOrItemCollectionAccessor(new JsonMergePatchHelper.StacItemOrItemCollectionAccessor() { + @Override + public StacItemOrItemCollection prepareModelForJsonMergePatch(StacItemOrItemCollection model, + boolean jsonMergePatchEnabled) { + model.serializeAsJsonMergePatch(jsonMergePatchEnabled); + return model; + } + + @Override + public boolean isJsonMergePatch(StacItemOrItemCollection model) { + return model.jsonMergePatch; + } + + @Override + public void setStacVersion(StacItemOrItemCollection model, String stacVersion) { + model.stacVersion = stacVersion; + } + + @Override + public void setLinks(StacItemOrItemCollection model, List links) { + model.links = links; + } + + @Override + public void setMsftCreated(StacItemOrItemCollection model, String msftCreated) { + model.msftCreated = msftCreated; + } + + @Override + public void setMsftUpdated(StacItemOrItemCollection model, String msftUpdated) { + model.msftUpdated = msftUpdated; + } + + @Override + public void setMsftShortDescription(StacItemOrItemCollection model, String msftShortDescription) { + model.msftShortDescription = msftShortDescription; + } + + @Override + public void setStacExtensions(StacItemOrItemCollection model, List stacExtensions) { + model.stacExtensions = stacExtensions; + } + }); + } + + /** + * Creates an instance of StacItemOrItemCollection class. + */ + @Generated + public StacItemOrItemCollection() { + } + + /** + * Get the type property: Discriminator property for StacItemOrItemCollection. + * + * @return the type value. + */ + @Generated + public StacModelType getType() { + return this.type; + } + + /** + * Get the stacVersion property: Stac Version. + * + * @return the stacVersion value. + */ + @Generated + public String getStacVersion() { + return this.stacVersion; + } + + /** + * Set the stacVersion property: Stac Version. + * + * @param stacVersion the stacVersion value to set. + * @return the StacItemOrItemCollection object itself. + */ + @Generated + public StacItemOrItemCollection setStacVersion(String stacVersion) { + this.stacVersion = stacVersion; + this.updatedProperties.add("stacVersion"); + return this; + } + + /** + * Get the links property: Links to related resources and endpoints. + * + * @return the links value. + */ + @Generated + public List getLinks() { + return this.links; + } + + /** + * Set the links property: Links to related resources and endpoints. + * + * @param links the links value to set. + * @return the StacItemOrItemCollection object itself. + */ + @Generated + public StacItemOrItemCollection setLinks(List links) { + this.links = links; + this.updatedProperties.add("links"); + return this; + } + + /** + * Get the msftCreated property: MSFT Created. + * + * @return the msftCreated value. + */ + @Generated + public String getMsftCreated() { + return this.msftCreated; + } + + /** + * Set the msftCreated property: MSFT Created. + * + * @param msftCreated the msftCreated value to set. + * @return the StacItemOrItemCollection object itself. + */ + @Generated + public StacItemOrItemCollection setMsftCreated(String msftCreated) { + this.msftCreated = msftCreated; + this.updatedProperties.add("msftCreated"); + return this; + } + + /** + * Get the msftUpdated property: MSFT Updated. + * + * @return the msftUpdated value. + */ + @Generated + public String getMsftUpdated() { + return this.msftUpdated; + } + + /** + * Set the msftUpdated property: MSFT Updated. + * + * @param msftUpdated the msftUpdated value to set. + * @return the StacItemOrItemCollection object itself. + */ + @Generated + public StacItemOrItemCollection setMsftUpdated(String msftUpdated) { + this.msftUpdated = msftUpdated; + this.updatedProperties.add("msftUpdated"); + return this; + } + + /** + * Get the msftShortDescription property: MSFT Short Description. + * + * @return the msftShortDescription value. + */ + @Generated + public String getMsftShortDescription() { + return this.msftShortDescription; + } + + /** + * Set the msftShortDescription property: MSFT Short Description. + * + * @param msftShortDescription the msftShortDescription value to set. + * @return the StacItemOrItemCollection object itself. + */ + @Generated + public StacItemOrItemCollection setMsftShortDescription(String msftShortDescription) { + this.msftShortDescription = msftShortDescription; + this.updatedProperties.add("msftShortDescription"); + return this; + } + + /** + * Get the stacExtensions property: URLs to STAC extensions implemented by this STAC resource. + * + * @return the stacExtensions value. + */ + @Generated + public List getStacExtensions() { + return this.stacExtensions; + } + + /** + * Set the stacExtensions property: URLs to STAC extensions implemented by this STAC resource. + * + * @param stacExtensions the stacExtensions value to set. + * @return the StacItemOrItemCollection object itself. + */ + @Generated + public StacItemOrItemCollection setStacExtensions(List stacExtensions) { + this.stacExtensions = stacExtensions; + this.updatedProperties.add("stacExtensions"); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + if (jsonMergePatch) { + return toJsonMergePatch(jsonWriter); + } else { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("stac_version", this.stacVersion); + jsonWriter.writeArrayField("links", this.links, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("msft:_created", this.msftCreated); + jsonWriter.writeStringField("msft:_updated", this.msftUpdated); + jsonWriter.writeStringField("msft:short_description", this.msftShortDescription); + jsonWriter.writeArrayField("stac_extensions", this.stacExtensions, + (writer, element) -> writer.writeString(element)); + return jsonWriter.writeEndObject(); + } + } + + @Generated + private JsonWriter toJsonMergePatch(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type.toString()); + if (updatedProperties.contains("stacVersion")) { + if (this.stacVersion == null) { + jsonWriter.writeNullField("stac_version"); + } else { + jsonWriter.writeStringField("stac_version", this.stacVersion); + } + } + if (updatedProperties.contains("links")) { + if (this.links == null) { + jsonWriter.writeNullField("links"); + } else { + jsonWriter.writeArrayField("links", this.links, (writer, element) -> writer.writeJson(element)); + } + } + if (updatedProperties.contains("msftCreated")) { + if (this.msftCreated == null) { + jsonWriter.writeNullField("msft:_created"); + } else { + jsonWriter.writeStringField("msft:_created", this.msftCreated); + } + } + if (updatedProperties.contains("msftUpdated")) { + if (this.msftUpdated == null) { + jsonWriter.writeNullField("msft:_updated"); + } else { + jsonWriter.writeStringField("msft:_updated", this.msftUpdated); + } + } + if (updatedProperties.contains("msftShortDescription")) { + if (this.msftShortDescription == null) { + jsonWriter.writeNullField("msft:short_description"); + } else { + jsonWriter.writeStringField("msft:short_description", this.msftShortDescription); + } + } + if (updatedProperties.contains("stacExtensions")) { + if (this.stacExtensions == null) { + jsonWriter.writeNullField("stac_extensions"); + } else { + jsonWriter.writeArrayField("stac_extensions", this.stacExtensions, + (writer, element) -> writer.writeString(element)); + } + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of StacItemOrItemCollection from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of StacItemOrItemCollection if the JsonReader was pointing to an instance of it, or null if + * it was pointing to JSON null. + * @throws IOException If an error occurs while reading the StacItemOrItemCollection. + */ + @Generated + public static StacItemOrItemCollection fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + readerToUse.nextToken(); // Prepare for reading + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("type".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("Feature".equals(discriminatorValue)) { + return StacItemModel.fromJson(readerToUse.reset()); + } else if ("FeatureCollection".equals(discriminatorValue)) { + return ItemCollectionModel.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static StacItemOrItemCollection fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + StacItemOrItemCollection deserializedStacItemOrItemCollection = new StacItemOrItemCollection(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("type".equals(fieldName)) { + deserializedStacItemOrItemCollection.type = StacModelType.fromString(reader.getString()); + } else if ("stac_version".equals(fieldName)) { + deserializedStacItemOrItemCollection.stacVersion = reader.getString(); + } else if ("links".equals(fieldName)) { + List links = reader.readArray(reader1 -> Link.fromJson(reader1)); + deserializedStacItemOrItemCollection.links = links; + } else if ("msft:_created".equals(fieldName)) { + deserializedStacItemOrItemCollection.msftCreated = reader.getString(); + } else if ("msft:_updated".equals(fieldName)) { + deserializedStacItemOrItemCollection.msftUpdated = reader.getString(); + } else if ("msft:short_description".equals(fieldName)) { + deserializedStacItemOrItemCollection.msftShortDescription = reader.getString(); + } else if ("stac_extensions".equals(fieldName)) { + List stacExtensions = reader.readArray(reader1 -> reader1.getString()); + deserializedStacItemOrItemCollection.stacExtensions = stacExtensions; + } else { + reader.skipChildren(); + } + } + + return deserializedStacItemOrItemCollection; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/StacModelType.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/StacModelType.java new file mode 100644 index 000000000000..27db3e83babc --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/StacModelType.java @@ -0,0 +1,57 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Enum discriminator for STAC item and collection types. + */ +public final class StacModelType extends ExpandableStringEnum { + /** + * GeoJSON Feature type. + */ + @Generated + public static final StacModelType FEATURE = fromString("Feature"); + + /** + * GeoJSON FeatureCollection type. + */ + @Generated + public static final StacModelType FEATURE_COLLECTION = fromString("FeatureCollection"); + + /** + * Creates a new instance of StacModelType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public StacModelType() { + } + + /** + * Creates or finds a StacModelType from its string representation. + * + * @param name a name to look for. + * @return the corresponding StacModelType. + */ + @Generated + public static StacModelType fromString(String name) { + return fromString(name, StacModelType.class); + } + + /** + * Gets known StacModelType values. + * + * @return known StacModelType values. + */ + @Generated + public static Collection values() { + return values(StacModelType.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/StacQuery.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/StacQuery.java new file mode 100644 index 000000000000..9ccee70e4aee --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/StacQuery.java @@ -0,0 +1,115 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.core.util.BinaryData; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * Represent a STAC query + * + * https://github.com/stac-api-extensions/query. + */ +@Fluent +public final class StacQuery implements JsonSerializable { + /* + * Represent a STAC query + * + * https://github.com/stac-api-extensions/query + */ + @Generated + private Map additionalProperties; + + /** + * Creates an instance of StacQuery class. + */ + @Generated + public StacQuery() { + } + + /** + * Get the additionalProperties property: Represent a STAC query + * + * https://github.com/stac-api-extensions/query. + * + * @return the additionalProperties value. + */ + @Generated + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + /** + * Set the additionalProperties property: Represent a STAC query + * + * https://github.com/stac-api-extensions/query. + * + * @param additionalProperties the additionalProperties value to set. + * @return the StacQuery object itself. + */ + @Generated + public StacQuery setAdditionalProperties(Map additionalProperties) { + this.additionalProperties = additionalProperties; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + if (additionalProperties != null) { + for (Map.Entry additionalProperty : additionalProperties.entrySet()) { + jsonWriter.writeFieldName(additionalProperty.getKey()); + if (additionalProperty.getValue() == null) { + jsonWriter.writeNull(); + } else { + additionalProperty.getValue().writeTo(jsonWriter); + } + } + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of StacQuery from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of StacQuery if the JsonReader was pointing to an instance of it, or null if it was pointing + * to JSON null. + * @throws IOException If an error occurs while reading the StacQuery. + */ + @Generated + public static StacQuery fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + StacQuery deserializedStacQuery = new StacQuery(); + Map additionalProperties = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if (additionalProperties == null) { + additionalProperties = new LinkedHashMap<>(); + } + + additionalProperties.put(fieldName, + reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()))); + } + deserializedStacQuery.additionalProperties = additionalProperties; + + return deserializedStacQuery; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/StatisticsResponse.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/StatisticsResponse.java new file mode 100644 index 000000000000..5f8b578d96bd --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/StatisticsResponse.java @@ -0,0 +1,88 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * Return dataset's statistics. + */ +@Immutable +public final class StatisticsResponse implements JsonSerializable { + /* + * Return dataset's statistics. + */ + @Generated + private Map additionalProperties; + + /** + * Creates an instance of StatisticsResponse class. + */ + @Generated + private StatisticsResponse() { + } + + /** + * Get the additionalProperties property: Return dataset's statistics. + * + * @return the additionalProperties value. + */ + @Generated + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + if (additionalProperties != null) { + for (Map.Entry additionalProperty : additionalProperties.entrySet()) { + jsonWriter.writeUntypedField(additionalProperty.getKey(), additionalProperty.getValue()); + } + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of StatisticsResponse from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of StatisticsResponse if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IOException If an error occurs while reading the StatisticsResponse. + */ + @Generated + public static StatisticsResponse fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + StatisticsResponse deserializedStatisticsResponse = new StatisticsResponse(); + Map additionalProperties = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if (additionalProperties == null) { + additionalProperties = new LinkedHashMap<>(); + } + + additionalProperties.put(fieldName, BandStatistics.fromJson(reader)); + } + deserializedStatisticsResponse.additionalProperties = additionalProperties; + + return deserializedStatisticsResponse; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TileJsonResponse.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TileJsonResponse.java new file mode 100644 index 000000000000..a479f9ad3157 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TileJsonResponse.java @@ -0,0 +1,383 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * TileJSON model. + * + * Based on https://github.com/mapbox/tilejson-spec/tree/master/2.2.0TileJSON metadata describing a tile set according + * to the TileJSON specification. + */ +@Immutable +public final class TileJsonResponse implements JsonSerializable { + /* + * Tilejson + */ + @Generated + private String tilejson; + + /* + * Human-readable name of the tile set + */ + @Generated + private String name; + + /* + * Human-readable description of the tile set + */ + @Generated + private String description; + + /* + * Version + */ + @Generated + private String version; + + /* + * Attribution text for the data sources + */ + @Generated + private String attribution; + + /* + * URL template for feature info queries + */ + @Generated + private String template; + + /* + * URL to legend content for the tile set + */ + @Generated + private String legend; + + /* + * Tile addressing scheme (xyz or tms) + */ + @Generated + private TileJsonScheme scheme; + + /* + * Array of tile URL templates + */ + @Generated + private final List tiles; + + /* + * Array of UTFGrid URL templates + */ + @Generated + private List grids; + + /* + * Array of data file URL templates + */ + @Generated + private List data; + + /* + * Minimum zoom level available in the tile set + */ + @Generated + private Integer minzoom; + + /* + * Maximum zoom level available in the tile set + */ + @Generated + private Integer maxzoom; + + /* + * Bounds + */ + @Generated + private List bounds; + + /* + * Default center point [longitude, latitude, zoom] for the tile set + */ + @Generated + private List center; + + /** + * Creates an instance of TileJsonResponse class. + * + * @param tiles the tiles value to set. + */ + @Generated + private TileJsonResponse(List tiles) { + this.tiles = tiles; + } + + /** + * Get the tilejson property: Tilejson. + * + * @return the tilejson value. + */ + @Generated + public String getTilejson() { + return this.tilejson; + } + + /** + * Get the name property: Human-readable name of the tile set. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the description property: Human-readable description of the tile set. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Get the version property: Version. + * + * @return the version value. + */ + @Generated + public String getVersion() { + return this.version; + } + + /** + * Get the attribution property: Attribution text for the data sources. + * + * @return the attribution value. + */ + @Generated + public String getAttribution() { + return this.attribution; + } + + /** + * Get the template property: URL template for feature info queries. + * + * @return the template value. + */ + @Generated + public String getTemplate() { + return this.template; + } + + /** + * Get the legend property: URL to legend content for the tile set. + * + * @return the legend value. + */ + @Generated + public String getLegend() { + return this.legend; + } + + /** + * Get the scheme property: Tile addressing scheme (xyz or tms). + * + * @return the scheme value. + */ + @Generated + public TileJsonScheme getScheme() { + return this.scheme; + } + + /** + * Get the tiles property: Array of tile URL templates. + * + * @return the tiles value. + */ + @Generated + public List getTiles() { + return this.tiles; + } + + /** + * Get the grids property: Array of UTFGrid URL templates. + * + * @return the grids value. + */ + @Generated + public List getGrids() { + return this.grids; + } + + /** + * Get the data property: Array of data file URL templates. + * + * @return the data value. + */ + @Generated + public List getData() { + return this.data; + } + + /** + * Get the minzoom property: Minimum zoom level available in the tile set. + * + * @return the minzoom value. + */ + @Generated + public Integer getMinzoom() { + return this.minzoom; + } + + /** + * Get the maxzoom property: Maximum zoom level available in the tile set. + * + * @return the maxzoom value. + */ + @Generated + public Integer getMaxzoom() { + return this.maxzoom; + } + + /** + * Get the bounds property: Bounds. + * + * @return the bounds value. + */ + @Generated + public List getBounds() { + return this.bounds; + } + + /** + * Get the center property: Default center point [longitude, latitude, zoom] for the tile set. + * + * @return the center value. + */ + @Generated + public List getCenter() { + return this.center; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("tiles", this.tiles, (writer, element) -> writer.writeString(element)); + jsonWriter.writeStringField("tilejson", this.tilejson); + jsonWriter.writeStringField("name", this.name); + jsonWriter.writeStringField("description", this.description); + jsonWriter.writeStringField("version", this.version); + jsonWriter.writeStringField("attribution", this.attribution); + jsonWriter.writeStringField("template", this.template); + jsonWriter.writeStringField("legend", this.legend); + jsonWriter.writeStringField("scheme", this.scheme == null ? null : this.scheme.toString()); + jsonWriter.writeArrayField("grids", this.grids, (writer, element) -> writer.writeString(element)); + jsonWriter.writeArrayField("data", this.data, (writer, element) -> writer.writeString(element)); + jsonWriter.writeNumberField("minzoom", this.minzoom); + jsonWriter.writeNumberField("maxzoom", this.maxzoom); + jsonWriter.writeArrayField("bounds", this.bounds, (writer, element) -> writer.writeDouble(element)); + jsonWriter.writeArrayField("center", this.center, (writer, element) -> writer.writeDouble(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TileJsonResponse from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TileJsonResponse if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the TileJsonResponse. + */ + @Generated + public static TileJsonResponse fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + List tiles = null; + String tilejson = null; + String name = null; + String description = null; + String version = null; + String attribution = null; + String template = null; + String legend = null; + TileJsonScheme scheme = null; + List grids = null; + List data = null; + Integer minzoom = null; + Integer maxzoom = null; + List bounds = null; + List center = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("tiles".equals(fieldName)) { + tiles = reader.readArray(reader1 -> reader1.getString()); + } else if ("tilejson".equals(fieldName)) { + tilejson = reader.getString(); + } else if ("name".equals(fieldName)) { + name = reader.getString(); + } else if ("description".equals(fieldName)) { + description = reader.getString(); + } else if ("version".equals(fieldName)) { + version = reader.getString(); + } else if ("attribution".equals(fieldName)) { + attribution = reader.getString(); + } else if ("template".equals(fieldName)) { + template = reader.getString(); + } else if ("legend".equals(fieldName)) { + legend = reader.getString(); + } else if ("scheme".equals(fieldName)) { + scheme = TileJsonScheme.fromString(reader.getString()); + } else if ("grids".equals(fieldName)) { + grids = reader.readArray(reader1 -> reader1.getString()); + } else if ("data".equals(fieldName)) { + data = reader.readArray(reader1 -> reader1.getString()); + } else if ("minzoom".equals(fieldName)) { + minzoom = reader.getNullable(JsonReader::getInt); + } else if ("maxzoom".equals(fieldName)) { + maxzoom = reader.getNullable(JsonReader::getInt); + } else if ("bounds".equals(fieldName)) { + bounds = reader.readArray(reader1 -> reader1.getDouble()); + } else if ("center".equals(fieldName)) { + center = reader.readArray(reader1 -> reader1.getDouble()); + } else { + reader.skipChildren(); + } + } + TileJsonResponse deserializedTileJsonResponse = new TileJsonResponse(tiles); + deserializedTileJsonResponse.tilejson = tilejson; + deserializedTileJsonResponse.name = name; + deserializedTileJsonResponse.description = description; + deserializedTileJsonResponse.version = version; + deserializedTileJsonResponse.attribution = attribution; + deserializedTileJsonResponse.template = template; + deserializedTileJsonResponse.legend = legend; + deserializedTileJsonResponse.scheme = scheme; + deserializedTileJsonResponse.grids = grids; + deserializedTileJsonResponse.data = data; + deserializedTileJsonResponse.minzoom = minzoom; + deserializedTileJsonResponse.maxzoom = maxzoom; + deserializedTileJsonResponse.bounds = bounds; + deserializedTileJsonResponse.center = center; + + return deserializedTileJsonResponse; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TileJsonScheme.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TileJsonScheme.java new file mode 100644 index 000000000000..81245ea5aa43 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TileJsonScheme.java @@ -0,0 +1,57 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Scheme for tile addressing in TileJSON specification. + */ +public final class TileJsonScheme extends ExpandableStringEnum { + /** + * XYZ tile addressing scheme with origin at top-left. + */ + @Generated + public static final TileJsonScheme XYZ = fromString("xyz"); + + /** + * TMS tile addressing scheme with origin at bottom-left. + */ + @Generated + public static final TileJsonScheme TMS = fromString("tms"); + + /** + * Creates a new instance of TileJsonScheme value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public TileJsonScheme() { + } + + /** + * Creates or finds a TileJsonScheme from its string representation. + * + * @param name a name to look for. + * @return the corresponding TileJsonScheme. + */ + @Generated + public static TileJsonScheme fromString(String name) { + return fromString(name, TileJsonScheme.class); + } + + /** + * Gets known TileJsonScheme values. + * + * @return known TileJsonScheme values. + */ + @Generated + public static Collection values() { + return values(TileJsonScheme.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TileMatrix.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TileMatrix.java new file mode 100644 index 000000000000..7784ceb90c7b --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TileMatrix.java @@ -0,0 +1,376 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Tile Matrix Definition + * + * A tile matrix, usually corresponding to a particular zoom level of a + * TileMatrixSet. + * + * ref: + * https://github.com/opengeospatial/2D-Tile-Matrix-Set/blob/master/schemas/tms/2.0/json/tileMatrix.json + * + * Definition of a tile matrix at a specific zoom level within a tile matrix set. + */ +@Immutable +public final class TileMatrix implements JsonSerializable { + /* + * Human-readable title of the tile matrix level + */ + @Generated + private String title; + + /* + * Human-readable description of this tile matrix level + */ + @Generated + private String description; + + /* + * Unordered list of one or more commonly used or formalized word(s) or phrase(s) + * used to describe this dataset + */ + @Generated + private List keywords; + + /* + * Unique identifier for this tile matrix level, often the zoom level + */ + @Generated + private final String id; + + /* + * Scale denominator representing the scale of this tile matrix level + */ + @Generated + private final double scaleDenominator; + + /* + * Size of a pixel in map units at this tile matrix level + */ + @Generated + private final double cellSize; + + /* + * The corner of the tile matrix (_topLeft_ or _bottomLeft_) used as the origin + * for numbering tile rows and columns. This corner is also a corner of the (0, 0) + * tile. + */ + @Generated + private TileMatrixCornerOfOrigin cornerOfOrigin; + + /* + * Precise position in CRS coordinates of the corner of origin (e.g. the top-left + * corner) for this tile matrix. This position is also a corner of the (0, 0) + * tile. In previous version, this was 'topLeftCorner' and 'cornerOfOrigin' did + * not exist. + */ + @Generated + private final List pointOfOrigin; + + /* + * Pixel width of each tile at this level + */ + @Generated + private final int tileWidth; + + /* + * Pixel height of each tile at this level + */ + @Generated + private final int tileHeight; + + /* + * Number of tiles horizontally at this matrix level + */ + @Generated + private final int matrixWidth; + + /* + * Number of tiles vertically at this matrix level + */ + @Generated + private final int matrixHeight; + + /* + * Describes the rows that has variable matrix width + * + * ref: + * https://github.com/opengeospatial/2D-Tile-Matrix-Set/blob/master/schemas/tms/2.0/json/variableMatrixWidth.json + */ + @Generated + private List variableMatrixWidths; + + /** + * Creates an instance of TileMatrix class. + * + * @param id the id value to set. + * @param scaleDenominator the scaleDenominator value to set. + * @param cellSize the cellSize value to set. + * @param pointOfOrigin the pointOfOrigin value to set. + * @param tileWidth the tileWidth value to set. + * @param tileHeight the tileHeight value to set. + * @param matrixWidth the matrixWidth value to set. + * @param matrixHeight the matrixHeight value to set. + */ + @Generated + private TileMatrix(String id, double scaleDenominator, double cellSize, List pointOfOrigin, int tileWidth, + int tileHeight, int matrixWidth, int matrixHeight) { + this.id = id; + this.scaleDenominator = scaleDenominator; + this.cellSize = cellSize; + this.pointOfOrigin = pointOfOrigin; + this.tileWidth = tileWidth; + this.tileHeight = tileHeight; + this.matrixWidth = matrixWidth; + this.matrixHeight = matrixHeight; + } + + /** + * Get the title property: Human-readable title of the tile matrix level. + * + * @return the title value. + */ + @Generated + public String getTitle() { + return this.title; + } + + /** + * Get the description property: Human-readable description of this tile matrix level. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Get the keywords property: Unordered list of one or more commonly used or formalized word(s) or phrase(s) + * used to describe this dataset. + * + * @return the keywords value. + */ + @Generated + public List getKeywords() { + return this.keywords; + } + + /** + * Get the id property: Unique identifier for this tile matrix level, often the zoom level. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the scaleDenominator property: Scale denominator representing the scale of this tile matrix level. + * + * @return the scaleDenominator value. + */ + @Generated + public double getScaleDenominator() { + return this.scaleDenominator; + } + + /** + * Get the cellSize property: Size of a pixel in map units at this tile matrix level. + * + * @return the cellSize value. + */ + @Generated + public double getCellSize() { + return this.cellSize; + } + + /** + * Get the cornerOfOrigin property: The corner of the tile matrix (_topLeft_ or _bottomLeft_) used as the origin + * for numbering tile rows and columns. This corner is also a corner of the (0, 0) + * tile. + * + * @return the cornerOfOrigin value. + */ + @Generated + public TileMatrixCornerOfOrigin getCornerOfOrigin() { + return this.cornerOfOrigin; + } + + /** + * Get the pointOfOrigin property: Precise position in CRS coordinates of the corner of origin (e.g. the top-left + * corner) for this tile matrix. This position is also a corner of the (0, 0) + * tile. In previous version, this was 'topLeftCorner' and 'cornerOfOrigin' did + * not exist. + * + * @return the pointOfOrigin value. + */ + @Generated + public List getPointOfOrigin() { + return this.pointOfOrigin; + } + + /** + * Get the tileWidth property: Pixel width of each tile at this level. + * + * @return the tileWidth value. + */ + @Generated + public int getTileWidth() { + return this.tileWidth; + } + + /** + * Get the tileHeight property: Pixel height of each tile at this level. + * + * @return the tileHeight value. + */ + @Generated + public int getTileHeight() { + return this.tileHeight; + } + + /** + * Get the matrixWidth property: Number of tiles horizontally at this matrix level. + * + * @return the matrixWidth value. + */ + @Generated + public int getMatrixWidth() { + return this.matrixWidth; + } + + /** + * Get the matrixHeight property: Number of tiles vertically at this matrix level. + * + * @return the matrixHeight value. + */ + @Generated + public int getMatrixHeight() { + return this.matrixHeight; + } + + /** + * Get the variableMatrixWidths property: Describes the rows that has variable matrix width + * + * ref: + * https://github.com/opengeospatial/2D-Tile-Matrix-Set/blob/master/schemas/tms/2.0/json/variableMatrixWidth.json. + * + * @return the variableMatrixWidths value. + */ + @Generated + public List getVariableMatrixWidths() { + return this.variableMatrixWidths; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeDoubleField("scaleDenominator", this.scaleDenominator); + jsonWriter.writeDoubleField("cellSize", this.cellSize); + jsonWriter.writeArrayField("pointOfOrigin", this.pointOfOrigin, + (writer, element) -> writer.writeDouble(element)); + jsonWriter.writeIntField("tileWidth", this.tileWidth); + jsonWriter.writeIntField("tileHeight", this.tileHeight); + jsonWriter.writeIntField("matrixWidth", this.matrixWidth); + jsonWriter.writeIntField("matrixHeight", this.matrixHeight); + jsonWriter.writeStringField("title", this.title); + jsonWriter.writeStringField("description", this.description); + jsonWriter.writeArrayField("keywords", this.keywords, (writer, element) -> writer.writeString(element)); + jsonWriter.writeStringField("cornerOfOrigin", + this.cornerOfOrigin == null ? null : this.cornerOfOrigin.toString()); + jsonWriter.writeArrayField("variableMatrixWidths", this.variableMatrixWidths, + (writer, element) -> writer.writeJson(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TileMatrix from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TileMatrix if the JsonReader was pointing to an instance of it, or null if it was pointing + * to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the TileMatrix. + */ + @Generated + public static TileMatrix fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + double scaleDenominator = 0.0; + double cellSize = 0.0; + List pointOfOrigin = null; + int tileWidth = 0; + int tileHeight = 0; + int matrixWidth = 0; + int matrixHeight = 0; + String title = null; + String description = null; + List keywords = null; + TileMatrixCornerOfOrigin cornerOfOrigin = null; + List variableMatrixWidths = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("scaleDenominator".equals(fieldName)) { + scaleDenominator = reader.getDouble(); + } else if ("cellSize".equals(fieldName)) { + cellSize = reader.getDouble(); + } else if ("pointOfOrigin".equals(fieldName)) { + pointOfOrigin = reader.readArray(reader1 -> reader1.getDouble()); + } else if ("tileWidth".equals(fieldName)) { + tileWidth = reader.getInt(); + } else if ("tileHeight".equals(fieldName)) { + tileHeight = reader.getInt(); + } else if ("matrixWidth".equals(fieldName)) { + matrixWidth = reader.getInt(); + } else if ("matrixHeight".equals(fieldName)) { + matrixHeight = reader.getInt(); + } else if ("title".equals(fieldName)) { + title = reader.getString(); + } else if ("description".equals(fieldName)) { + description = reader.getString(); + } else if ("keywords".equals(fieldName)) { + keywords = reader.readArray(reader1 -> reader1.getString()); + } else if ("cornerOfOrigin".equals(fieldName)) { + cornerOfOrigin = TileMatrixCornerOfOrigin.fromString(reader.getString()); + } else if ("variableMatrixWidths".equals(fieldName)) { + variableMatrixWidths = reader.readArray(reader1 -> VariableMatrixWidth.fromJson(reader1)); + } else { + reader.skipChildren(); + } + } + TileMatrix deserializedTileMatrix = new TileMatrix(id, scaleDenominator, cellSize, pointOfOrigin, tileWidth, + tileHeight, matrixWidth, matrixHeight); + deserializedTileMatrix.title = title; + deserializedTileMatrix.description = description; + deserializedTileMatrix.keywords = keywords; + deserializedTileMatrix.cornerOfOrigin = cornerOfOrigin; + deserializedTileMatrix.variableMatrixWidths = variableMatrixWidths; + + return deserializedTileMatrix; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TileMatrixCornerOfOrigin.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TileMatrixCornerOfOrigin.java new file mode 100644 index 000000000000..e99db8319213 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TileMatrixCornerOfOrigin.java @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The corner of the tile matrix (_topLeft_ or _bottomLeft_) used as the origin + * for numbering tile rows and columns. This corner is also a corner of the (0, 0) + * tile. + */ +public final class TileMatrixCornerOfOrigin extends ExpandableStringEnum { + /** + * Origin at the top-left corner (Y increases downward). + */ + @Generated + public static final TileMatrixCornerOfOrigin TOP_LEFT = fromString("topLeft"); + + /** + * Origin at the bottom-left corner (Y increases upward). + */ + @Generated + public static final TileMatrixCornerOfOrigin BOTTOM_LEFT = fromString("bottomLeft"); + + /** + * Creates a new instance of TileMatrixCornerOfOrigin value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public TileMatrixCornerOfOrigin() { + } + + /** + * Creates or finds a TileMatrixCornerOfOrigin from its string representation. + * + * @param name a name to look for. + * @return the corresponding TileMatrixCornerOfOrigin. + */ + @Generated + public static TileMatrixCornerOfOrigin fromString(String name) { + return fromString(name, TileMatrixCornerOfOrigin.class); + } + + /** + * Gets known TileMatrixCornerOfOrigin values. + * + * @return known TileMatrixCornerOfOrigin values. + */ + @Generated + public static Collection values() { + return values(TileMatrixCornerOfOrigin.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TileMatrixSet.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TileMatrixSet.java new file mode 100644 index 000000000000..07d6ac369f63 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TileMatrixSet.java @@ -0,0 +1,286 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * https://github.com/opengeospatial/2D-Tile-Matrix-Set/blob/master/schemas/tms/2.0/json/tileMatrixSet.json + * + * A definition of a tile matrix set following the Tile Matrix Set standard. + * For tileset metadata, such a description (in `tileMatrixSet` property) is only + * required for offline use, + * as an alternative to a link with a + * `http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme` relation type. + */ +@Immutable +public final class TileMatrixSet implements JsonSerializable { + /* + * Human-readable title of the tile matrix set + */ + @Generated + private String title; + + /* + * Brief narrative description of this tile matrix set, normally available for + * display to a human + */ + @Generated + private String description; + + /* + * Unordered list of one or more commonly used or formalized word(s) or phrase(s) + * used to describe this tile matrix set + */ + @Generated + private List keywords; + + /* + * Unique identifier for the tile matrix set + */ + @Generated + private String id; + + /* + * URI reference to the official definition + */ + @Generated + private String uri; + + /* + * Names of the coordinate axes in order + */ + @Generated + private List orderedAxes; + + /* + * Coordinate reference system identifier + */ + @Generated + private final String crs; + + /* + * URL reference to a standardized scale set + */ + @Generated + private String wellKnownScaleSet; + + /* + * Geographic extent of the tile matrix set + */ + @Generated + private TileMatrixSetBoundingBox boundingBox; + + /* + * Array of tile matrices at different zoom levels + */ + @Generated + private final List tileMatrices; + + /** + * Creates an instance of TileMatrixSet class. + * + * @param crs the crs value to set. + * @param tileMatrices the tileMatrices value to set. + */ + @Generated + private TileMatrixSet(String crs, List tileMatrices) { + this.crs = crs; + this.tileMatrices = tileMatrices; + } + + /** + * Get the title property: Human-readable title of the tile matrix set. + * + * @return the title value. + */ + @Generated + public String getTitle() { + return this.title; + } + + /** + * Get the description property: Brief narrative description of this tile matrix set, normally available for + * display to a human. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Get the keywords property: Unordered list of one or more commonly used or formalized word(s) or phrase(s) + * used to describe this tile matrix set. + * + * @return the keywords value. + */ + @Generated + public List getKeywords() { + return this.keywords; + } + + /** + * Get the id property: Unique identifier for the tile matrix set. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the uri property: URI reference to the official definition. + * + * @return the uri value. + */ + @Generated + public String getUri() { + return this.uri; + } + + /** + * Get the orderedAxes property: Names of the coordinate axes in order. + * + * @return the orderedAxes value. + */ + @Generated + public List getOrderedAxes() { + return this.orderedAxes; + } + + /** + * Get the crs property: Coordinate reference system identifier. + * + * @return the crs value. + */ + @Generated + public String getCrs() { + return this.crs; + } + + /** + * Get the wellKnownScaleSet property: URL reference to a standardized scale set. + * + * @return the wellKnownScaleSet value. + */ + @Generated + public String getWellKnownScaleSet() { + return this.wellKnownScaleSet; + } + + /** + * Get the boundingBox property: Geographic extent of the tile matrix set. + * + * @return the boundingBox value. + */ + @Generated + public TileMatrixSetBoundingBox getBoundingBox() { + return this.boundingBox; + } + + /** + * Get the tileMatrices property: Array of tile matrices at different zoom levels. + * + * @return the tileMatrices value. + */ + @Generated + public List getTileMatrices() { + return this.tileMatrices; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("crs", this.crs); + jsonWriter.writeArrayField("tileMatrices", this.tileMatrices, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("title", this.title); + jsonWriter.writeStringField("description", this.description); + jsonWriter.writeArrayField("keywords", this.keywords, (writer, element) -> writer.writeString(element)); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("uri", this.uri); + jsonWriter.writeArrayField("orderedAxes", this.orderedAxes, (writer, element) -> writer.writeString(element)); + jsonWriter.writeStringField("wellKnownScaleSet", this.wellKnownScaleSet); + jsonWriter.writeJsonField("boundingBox", this.boundingBox); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TileMatrixSet from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TileMatrixSet if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the TileMatrixSet. + */ + @Generated + public static TileMatrixSet fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String crs = null; + List tileMatrices = null; + String title = null; + String description = null; + List keywords = null; + String id = null; + String uri = null; + List orderedAxes = null; + String wellKnownScaleSet = null; + TileMatrixSetBoundingBox boundingBox = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("crs".equals(fieldName)) { + crs = reader.getString(); + } else if ("tileMatrices".equals(fieldName)) { + tileMatrices = reader.readArray(reader1 -> TileMatrix.fromJson(reader1)); + } else if ("title".equals(fieldName)) { + title = reader.getString(); + } else if ("description".equals(fieldName)) { + description = reader.getString(); + } else if ("keywords".equals(fieldName)) { + keywords = reader.readArray(reader1 -> reader1.getString()); + } else if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("uri".equals(fieldName)) { + uri = reader.getString(); + } else if ("orderedAxes".equals(fieldName)) { + orderedAxes = reader.readArray(reader1 -> reader1.getString()); + } else if ("wellKnownScaleSet".equals(fieldName)) { + wellKnownScaleSet = reader.getString(); + } else if ("boundingBox".equals(fieldName)) { + boundingBox = TileMatrixSetBoundingBox.fromJson(reader); + } else { + reader.skipChildren(); + } + } + TileMatrixSet deserializedTileMatrixSet = new TileMatrixSet(crs, tileMatrices); + deserializedTileMatrixSet.title = title; + deserializedTileMatrixSet.description = description; + deserializedTileMatrixSet.keywords = keywords; + deserializedTileMatrixSet.id = id; + deserializedTileMatrixSet.uri = uri; + deserializedTileMatrixSet.orderedAxes = orderedAxes; + deserializedTileMatrixSet.wellKnownScaleSet = wellKnownScaleSet; + deserializedTileMatrixSet.boundingBox = boundingBox; + + return deserializedTileMatrixSet; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TileMatrixSetBoundingBox.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TileMatrixSetBoundingBox.java new file mode 100644 index 000000000000..37e5450a21e2 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TileMatrixSetBoundingBox.java @@ -0,0 +1,151 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Geographic extent of the tile matrix set expressed in the specified coordinate reference system. + */ +@Immutable +public final class TileMatrixSetBoundingBox implements JsonSerializable { + /* + * Lower-left corner coordinates [x, y] of bounding box + */ + @Generated + private final List lowerLeft; + + /* + * Upper-right corner coordinates [x, y] of bounding box + */ + @Generated + private final List upperRight; + + /* + * Coordinate reference system identifier + */ + @Generated + private String crs; + + /* + * Explicit axis order for the CRS coordinates (e.g., ['x', 'y']) + */ + @Generated + private List orderedAxes; + + /** + * Creates an instance of TileMatrixSetBoundingBox class. + * + * @param lowerLeft the lowerLeft value to set. + * @param upperRight the upperRight value to set. + */ + @Generated + private TileMatrixSetBoundingBox(List lowerLeft, List upperRight) { + this.lowerLeft = lowerLeft; + this.upperRight = upperRight; + } + + /** + * Get the lowerLeft property: Lower-left corner coordinates [x, y] of bounding box. + * + * @return the lowerLeft value. + */ + @Generated + public List getLowerLeft() { + return this.lowerLeft; + } + + /** + * Get the upperRight property: Upper-right corner coordinates [x, y] of bounding box. + * + * @return the upperRight value. + */ + @Generated + public List getUpperRight() { + return this.upperRight; + } + + /** + * Get the crs property: Coordinate reference system identifier. + * + * @return the crs value. + */ + @Generated + public String getCrs() { + return this.crs; + } + + /** + * Get the orderedAxes property: Explicit axis order for the CRS coordinates (e.g., ['x', 'y']). + * + * @return the orderedAxes value. + */ + @Generated + public List getOrderedAxes() { + return this.orderedAxes; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("lowerLeft", this.lowerLeft, (writer, element) -> writer.writeString(element)); + jsonWriter.writeArrayField("upperRight", this.upperRight, (writer, element) -> writer.writeString(element)); + jsonWriter.writeStringField("crs", this.crs); + jsonWriter.writeArrayField("orderedAxes", this.orderedAxes, (writer, element) -> writer.writeString(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TileMatrixSetBoundingBox from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TileMatrixSetBoundingBox if the JsonReader was pointing to an instance of it, or null if + * it was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the TileMatrixSetBoundingBox. + */ + @Generated + public static TileMatrixSetBoundingBox fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + List lowerLeft = null; + List upperRight = null; + String crs = null; + List orderedAxes = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("lowerLeft".equals(fieldName)) { + lowerLeft = reader.readArray(reader1 -> reader1.getString()); + } else if ("upperRight".equals(fieldName)) { + upperRight = reader.readArray(reader1 -> reader1.getString()); + } else if ("crs".equals(fieldName)) { + crs = reader.getString(); + } else if ("orderedAxes".equals(fieldName)) { + orderedAxes = reader.readArray(reader1 -> reader1.getString()); + } else { + reader.skipChildren(); + } + } + TileMatrixSetBoundingBox deserializedTileMatrixSetBoundingBox + = new TileMatrixSetBoundingBox(lowerLeft, upperRight); + deserializedTileMatrixSetBoundingBox.crs = crs; + deserializedTileMatrixSetBoundingBox.orderedAxes = orderedAxes; + + return deserializedTileMatrixSetBoundingBox; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TileSettings.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TileSettings.java new file mode 100644 index 000000000000..d506cd7031f7 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TileSettings.java @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Configuration for map tile visualization. + */ +@Fluent +public final class TileSettings implements JsonSerializable { + /* + * The minimum zoom level that can be requested for this collection. Provides a + * hard limit for the tile servers to ensure they don't get requests for low zoom + * levels, which would cause many files to be fetched and the tile servers to + * hang. + */ + @Generated + private final int minZoom; + + /* + * Maximum number of items to include in a single tile. + */ + @Generated + private final int maxItemsPerTile; + + /* + * Default map location when displaying this collection. + */ + @Generated + private DefaultLocation defaultLocation; + + /** + * Creates an instance of TileSettings class. + * + * @param minZoom the minZoom value to set. + * @param maxItemsPerTile the maxItemsPerTile value to set. + */ + @Generated + public TileSettings(int minZoom, int maxItemsPerTile) { + this.minZoom = minZoom; + this.maxItemsPerTile = maxItemsPerTile; + } + + /** + * Get the minZoom property: The minimum zoom level that can be requested for this collection. Provides a + * hard limit for the tile servers to ensure they don't get requests for low zoom + * levels, which would cause many files to be fetched and the tile servers to + * hang. + * + * @return the minZoom value. + */ + @Generated + public int getMinZoom() { + return this.minZoom; + } + + /** + * Get the maxItemsPerTile property: Maximum number of items to include in a single tile. + * + * @return the maxItemsPerTile value. + */ + @Generated + public int getMaxItemsPerTile() { + return this.maxItemsPerTile; + } + + /** + * Get the defaultLocation property: Default map location when displaying this collection. + * + * @return the defaultLocation value. + */ + @Generated + public DefaultLocation getDefaultLocation() { + return this.defaultLocation; + } + + /** + * Set the defaultLocation property: Default map location when displaying this collection. + * + * @param defaultLocation the defaultLocation value to set. + * @return the TileSettings object itself. + */ + @Generated + public TileSettings setDefaultLocation(DefaultLocation defaultLocation) { + this.defaultLocation = defaultLocation; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeIntField("minZoom", this.minZoom); + jsonWriter.writeIntField("maxItemsPerTile", this.maxItemsPerTile); + jsonWriter.writeJsonField("defaultLocation", this.defaultLocation); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TileSettings from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TileSettings if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the TileSettings. + */ + @Generated + public static TileSettings fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + int minZoom = 0; + int maxItemsPerTile = 0; + DefaultLocation defaultLocation = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("minZoom".equals(fieldName)) { + minZoom = reader.getInt(); + } else if ("maxItemsPerTile".equals(fieldName)) { + maxItemsPerTile = reader.getInt(); + } else if ("defaultLocation".equals(fieldName)) { + defaultLocation = DefaultLocation.fromJson(reader); + } else { + reader.skipChildren(); + } + } + TileSettings deserializedTileSettings = new TileSettings(minZoom, maxItemsPerTile); + deserializedTileSettings.defaultLocation = defaultLocation; + + return deserializedTileSettings; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Tilematrixsetid.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Tilematrixsetid.java new file mode 100644 index 000000000000..b0d543e781df --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/Tilematrixsetid.java @@ -0,0 +1,112 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Identifier selecting one of the TileMatrixSetId supported (default: + * 'WebMercatorQuad')Standard identifier for a coordinate reference system and tiling scheme used for serving map tiles. + */ +public final class Tilematrixsetid extends ExpandableStringEnum { + /** + * Canadian NAD83 Lambert Conformal Conic projection tile matrix set. + */ + @Generated + public static final Tilematrixsetid CANADIAN_NAD83_LCC = fromString("CanadianNAD83_LCC"); + + /** + * European ETRS89 Lambert Azimuthal Equal Area Quad tile matrix set. + */ + @Generated + public static final Tilematrixsetid EUROPEAN_ETRS89_LAEAQUAD = fromString("EuropeanETRS89_LAEAQuad"); + + /** + * Land Information New Zealand (LINZ) Antarctica Map tile grid matrix set. + */ + @Generated + public static final Tilematrixsetid LINZANTARTICA_MAP_TILEGRID = fromString("LINZAntarticaMapTilegrid"); + + /** + * New Zealand Transverse Mercator 2000 Quad tile matrix set. + */ + @Generated + public static final Tilematrixsetid NZTM2000QUAD = fromString("NZTM2000Quad"); + + /** + * Universal Polar Stereographic Antarctic WGS84 Quad tile matrix set. + */ + @Generated + public static final Tilematrixsetid UPSANTARCTIC_WGS84QUAD = fromString("UPSAntarcticWGS84Quad"); + + /** + * Universal Polar Stereographic Arctic WGS84 Quad tile matrix set. + */ + @Generated + public static final Tilematrixsetid UPSARCTIC_WGS84QUAD = fromString("UPSArcticWGS84Quad"); + + /** + * Universal Transverse Mercator Zone 31 WGS84 Quad tile matrix set. + */ + @Generated + public static final Tilematrixsetid UTM31WGS84QUAD = fromString("UTM31WGS84Quad"); + + /** + * WGS 1984 Quad tile matrix set. + */ + @Generated + public static final Tilematrixsetid WGS1984QUAD = fromString("WGS1984Quad"); + + /** + * Web Mercator Quad tile matrix set. + */ + @Generated + public static final Tilematrixsetid WEB_MERCATOR_QUAD = fromString("WebMercatorQuad"); + + /** + * World CRS84 Quad tile matrix set. + */ + @Generated + public static final Tilematrixsetid WORLD_CRS84QUAD = fromString("WorldCRS84Quad"); + + /** + * World Mercator WGS84 Quad tile matrix set. + */ + @Generated + public static final Tilematrixsetid WORLD_MERCATOR_WGS84QUAD = fromString("WorldMercatorWGS84Quad"); + + /** + * Creates a new instance of Tilematrixsetid value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public Tilematrixsetid() { + } + + /** + * Creates or finds a Tilematrixsetid from its string representation. + * + * @param name a name to look for. + * @return the corresponding Tilematrixsetid. + */ + @Generated + public static Tilematrixsetid fromString(String name) { + return fromString(name, Tilematrixsetid.class); + } + + /** + * Gets known Tilematrixsetid values. + * + * @return known Tilematrixsetid values. + */ + @Generated + public static Collection values() { + return values(Tilematrixsetid.class); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TilerInfo.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TilerInfo.java new file mode 100644 index 000000000000..1959dfd8ffea --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TilerInfo.java @@ -0,0 +1,422 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.core.util.BinaryData; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; +import java.util.Map; + +/** + * TilerInfo + * + * Dataset Info. + */ +@Immutable +public final class TilerInfo implements JsonSerializable { + /* + * Bounds + */ + @Generated + private final List bounds; + + /* + * Band Metadata + */ + @Generated + private List> bandMetadata; + + /* + * Band Descriptions + */ + @Generated + private List> bandDescriptions; + + /* + * Dtype + * + * Data type + */ + @Generated + private final String dtype; + + /* + * Nodata Type + * + * NoData Type + */ + @Generated + private NoDataType nodataType; + + /* + * Colorinterp + * + * Color interpretation + */ + @Generated + private List colorinterp; + + /* + * Driver + */ + @Generated + private String driver; + + /* + * Count + */ + @Generated + private Integer count; + + /* + * Width + */ + @Generated + private Integer width; + + /* + * Height + */ + @Generated + private Integer height; + + /* + * Overviews + */ + @Generated + private List overviews; + + /* + * Scales + */ + @Generated + private List scales; + + /* + * Offsets + */ + @Generated + private List offsets; + + /* + * Colormap + */ + @Generated + private Map> colormap; + + /* + * Minzoom + */ + @Generated + private Long minzoom; + + /* + * Maxzoom + */ + @Generated + private Long maxzoom; + + /** + * Creates an instance of TilerInfo class. + * + * @param bounds the bounds value to set. + * @param dtype the dtype value to set. + */ + @Generated + private TilerInfo(List bounds, String dtype) { + this.bounds = bounds; + this.dtype = dtype; + } + + /** + * Get the bounds property: Bounds. + * + * @return the bounds value. + */ + @Generated + public List getBounds() { + return this.bounds; + } + + /** + * Get the bandMetadata property: Band Metadata. + * + * @return the bandMetadata value. + */ + @Generated + public List> getBandMetadata() { + return this.bandMetadata; + } + + /** + * Get the bandDescriptions property: Band Descriptions. + * + * @return the bandDescriptions value. + */ + @Generated + public List> getBandDescriptions() { + return this.bandDescriptions; + } + + /** + * Get the dtype property: Dtype + * + * Data type. + * + * @return the dtype value. + */ + @Generated + public String getDtype() { + return this.dtype; + } + + /** + * Get the nodataType property: Nodata Type + * + * NoData Type. + * + * @return the nodataType value. + */ + @Generated + public NoDataType getNodataType() { + return this.nodataType; + } + + /** + * Get the colorinterp property: Colorinterp + * + * Color interpretation. + * + * @return the colorinterp value. + */ + @Generated + public List getColorinterp() { + return this.colorinterp; + } + + /** + * Get the driver property: Driver. + * + * @return the driver value. + */ + @Generated + public String getDriver() { + return this.driver; + } + + /** + * Get the count property: Count. + * + * @return the count value. + */ + @Generated + public Integer getCount() { + return this.count; + } + + /** + * Get the width property: Width. + * + * @return the width value. + */ + @Generated + public Integer getWidth() { + return this.width; + } + + /** + * Get the height property: Height. + * + * @return the height value. + */ + @Generated + public Integer getHeight() { + return this.height; + } + + /** + * Get the overviews property: Overviews. + * + * @return the overviews value. + */ + @Generated + public List getOverviews() { + return this.overviews; + } + + /** + * Get the scales property: Scales. + * + * @return the scales value. + */ + @Generated + public List getScales() { + return this.scales; + } + + /** + * Get the offsets property: Offsets. + * + * @return the offsets value. + */ + @Generated + public List getOffsets() { + return this.offsets; + } + + /** + * Get the colormap property: Colormap. + * + * @return the colormap value. + */ + @Generated + public Map> getColormap() { + return this.colormap; + } + + /** + * Get the minzoom property: Minzoom. + * + * @return the minzoom value. + */ + @Generated + public Long getMinzoom() { + return this.minzoom; + } + + /** + * Get the maxzoom property: Maxzoom. + * + * @return the maxzoom value. + */ + @Generated + public Long getMaxzoom() { + return this.maxzoom; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("bounds", this.bounds, (writer, element) -> writer.writeDouble(element)); + jsonWriter.writeStringField("dtype", this.dtype); + jsonWriter.writeArrayField("band_metadata", this.bandMetadata, (writer, element) -> writer.writeArray(element, + (writer1, element1) -> writer1.writeUntyped(element1 == null ? null : element1.toObject(Object.class)))); + jsonWriter.writeArrayField("band_descriptions", this.bandDescriptions, + (writer, element) -> writer.writeArray(element, (writer1, element1) -> writer1.writeString(element1))); + jsonWriter.writeStringField("nodata_type", this.nodataType == null ? null : this.nodataType.toString()); + jsonWriter.writeArrayField("colorinterp", this.colorinterp, (writer, element) -> writer.writeString(element)); + jsonWriter.writeStringField("driver", this.driver); + jsonWriter.writeNumberField("count", this.count); + jsonWriter.writeNumberField("width", this.width); + jsonWriter.writeNumberField("height", this.height); + jsonWriter.writeArrayField("overviews", this.overviews, (writer, element) -> writer.writeString(element)); + jsonWriter.writeArrayField("scales", this.scales, (writer, element) -> writer.writeLong(element)); + jsonWriter.writeArrayField("offsets", this.offsets, (writer, element) -> writer.writeLong(element)); + jsonWriter.writeMapField("colormap", this.colormap, + (writer, element) -> writer.writeArray(element, (writer1, element1) -> writer1.writeString(element1))); + jsonWriter.writeNumberField("minzoom", this.minzoom); + jsonWriter.writeNumberField("maxzoom", this.maxzoom); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TilerInfo from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TilerInfo if the JsonReader was pointing to an instance of it, or null if it was pointing + * to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the TilerInfo. + */ + @Generated + public static TilerInfo fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + List bounds = null; + String dtype = null; + List> bandMetadata = null; + List> bandDescriptions = null; + NoDataType nodataType = null; + List colorinterp = null; + String driver = null; + Integer count = null; + Integer width = null; + Integer height = null; + List overviews = null; + List scales = null; + List offsets = null; + Map> colormap = null; + Long minzoom = null; + Long maxzoom = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("bounds".equals(fieldName)) { + bounds = reader.readArray(reader1 -> reader1.getDouble()); + } else if ("dtype".equals(fieldName)) { + dtype = reader.getString(); + } else if ("band_metadata".equals(fieldName)) { + bandMetadata = reader.readArray(reader1 -> reader1.readArray(reader2 -> reader2 + .getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())))); + } else if ("band_descriptions".equals(fieldName)) { + bandDescriptions = reader.readArray(reader1 -> reader1.readArray(reader2 -> reader2.getString())); + } else if ("nodata_type".equals(fieldName)) { + nodataType = NoDataType.fromString(reader.getString()); + } else if ("colorinterp".equals(fieldName)) { + colorinterp = reader.readArray(reader1 -> reader1.getString()); + } else if ("driver".equals(fieldName)) { + driver = reader.getString(); + } else if ("count".equals(fieldName)) { + count = reader.getNullable(JsonReader::getInt); + } else if ("width".equals(fieldName)) { + width = reader.getNullable(JsonReader::getInt); + } else if ("height".equals(fieldName)) { + height = reader.getNullable(JsonReader::getInt); + } else if ("overviews".equals(fieldName)) { + overviews = reader.readArray(reader1 -> reader1.getString()); + } else if ("scales".equals(fieldName)) { + scales = reader.readArray(reader1 -> reader1.getLong()); + } else if ("offsets".equals(fieldName)) { + offsets = reader.readArray(reader1 -> reader1.getLong()); + } else if ("colormap".equals(fieldName)) { + colormap = reader.readMap(reader1 -> reader1.readArray(reader2 -> reader2.getString())); + } else if ("minzoom".equals(fieldName)) { + minzoom = reader.getNullable(JsonReader::getLong); + } else if ("maxzoom".equals(fieldName)) { + maxzoom = reader.getNullable(JsonReader::getLong); + } else { + reader.skipChildren(); + } + } + TilerInfo deserializedTilerInfo = new TilerInfo(bounds, dtype); + deserializedTilerInfo.bandMetadata = bandMetadata; + deserializedTilerInfo.bandDescriptions = bandDescriptions; + deserializedTilerInfo.nodataType = nodataType; + deserializedTilerInfo.colorinterp = colorinterp; + deserializedTilerInfo.driver = driver; + deserializedTilerInfo.count = count; + deserializedTilerInfo.width = width; + deserializedTilerInfo.height = height; + deserializedTilerInfo.overviews = overviews; + deserializedTilerInfo.scales = scales; + deserializedTilerInfo.offsets = offsets; + deserializedTilerInfo.colormap = colormap; + deserializedTilerInfo.minzoom = minzoom; + deserializedTilerInfo.maxzoom = maxzoom; + + return deserializedTilerInfo; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TilerInfoGeoJsonFeature.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TilerInfoGeoJsonFeature.java new file mode 100644 index 000000000000..90a139f30059 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TilerInfoGeoJsonFeature.java @@ -0,0 +1,173 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.Map; + +/** + * GeoJSON Feature object containing rio-tiler model information. + */ +@Immutable +public final class TilerInfoGeoJsonFeature implements JsonSerializable { + /* + * GeoJSON type identifier + */ + @Generated + private final FeatureType type; + + /* + * Geometry object defining the feature's shape + */ + @Generated + private final Geometry geometry; + + /* + * Properties + */ + @Generated + private final Map properties; + + /* + * Unique identifier for the feature + */ + @Generated + private String id; + + /* + * Bounding box coordinates for the feature + */ + @Generated + private Double bbox; + + /** + * Creates an instance of TilerInfoGeoJsonFeature class. + * + * @param type the type value to set. + * @param geometry the geometry value to set. + * @param properties the properties value to set. + */ + @Generated + private TilerInfoGeoJsonFeature(FeatureType type, Geometry geometry, Map properties) { + this.type = type; + this.geometry = geometry; + this.properties = properties; + } + + /** + * Get the type property: GeoJSON type identifier. + * + * @return the type value. + */ + @Generated + public FeatureType getType() { + return this.type; + } + + /** + * Get the geometry property: Geometry object defining the feature's shape. + * + * @return the geometry value. + */ + @Generated + public Geometry getGeometry() { + return this.geometry; + } + + /** + * Get the properties property: Properties. + * + * @return the properties value. + */ + @Generated + public Map getProperties() { + return this.properties; + } + + /** + * Get the id property: Unique identifier for the feature. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the bbox property: Bounding box coordinates for the feature. + * + * @return the bbox value. + */ + @Generated + public Double getBbox() { + return this.bbox; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeJsonField("geometry", this.geometry); + jsonWriter.writeMapField("properties", this.properties, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeNumberField("bbox", this.bbox); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TilerInfoGeoJsonFeature from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TilerInfoGeoJsonFeature if the JsonReader was pointing to an instance of it, or null if it + * was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the TilerInfoGeoJsonFeature. + */ + @Generated + public static TilerInfoGeoJsonFeature fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + FeatureType type = null; + Geometry geometry = null; + Map properties = null; + String id = null; + Double bbox = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("type".equals(fieldName)) { + type = FeatureType.fromString(reader.getString()); + } else if ("geometry".equals(fieldName)) { + geometry = Geometry.fromJson(reader); + } else if ("properties".equals(fieldName)) { + properties = reader.readMap(reader1 -> TilerInfo.fromJson(reader1)); + } else if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("bbox".equals(fieldName)) { + bbox = reader.getNullable(JsonReader::getDouble); + } else { + reader.skipChildren(); + } + } + TilerInfoGeoJsonFeature deserializedTilerInfoGeoJsonFeature + = new TilerInfoGeoJsonFeature(type, geometry, properties); + deserializedTilerInfoGeoJsonFeature.id = id; + deserializedTilerInfoGeoJsonFeature.bbox = bbox; + + return deserializedTilerInfoGeoJsonFeature; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TimeInterval.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TimeInterval.java new file mode 100644 index 000000000000..62660abc71a5 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TimeInterval.java @@ -0,0 +1,87 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md#temporal-extent-object + * + * Represents the temporal extent of a STAC collection with time intervals. + */ +@Immutable +public final class TimeInterval implements JsonSerializable { + /* + * Array of time intervals in format [[start_datetime, end_datetime]]. + */ + @Generated + private final List> interval; + + /** + * Creates an instance of TimeInterval class. + * + * @param interval the interval value to set. + */ + @Generated + public TimeInterval(List> interval) { + this.interval = interval; + } + + /** + * Get the interval property: Array of time intervals in format [[start_datetime, end_datetime]]. + * + * @return the interval value. + */ + @Generated + public List> getInterval() { + return this.interval; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("interval", this.interval, + (writer, element) -> writer.writeArray(element, (writer1, element1) -> writer1.writeString(element1))); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TimeInterval from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TimeInterval if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the TimeInterval. + */ + @Generated + public static TimeInterval fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + List> interval = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("interval".equals(fieldName)) { + interval = reader.readArray(reader1 -> reader1.readArray(reader2 -> reader2.getString())); + } else { + reader.skipChildren(); + } + } + return new TimeInterval(interval); + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TitilerCoreModelsResponsesPoint.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TitilerCoreModelsResponsesPoint.java new file mode 100644 index 000000000000..4ef3e22dcb7d --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TitilerCoreModelsResponsesPoint.java @@ -0,0 +1,131 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Point model. + * + * response model for `/point` endpointsResponse model for point query operations providing values at a specific + * location. + */ +@Immutable +public final class TitilerCoreModelsResponsesPoint implements JsonSerializable { + /* + * Geographic coordinates [longitude, latitude] of the queried point + */ + @Generated + private final List coordinates; + + /* + * Array of pixel values at the queried point for each band + */ + @Generated + private final List values; + + /* + * Names of each band in the raster data + */ + @Generated + private final List bandNames; + + /** + * Creates an instance of TitilerCoreModelsResponsesPoint class. + * + * @param coordinates the coordinates value to set. + * @param values the values value to set. + * @param bandNames the bandNames value to set. + */ + @Generated + private TitilerCoreModelsResponsesPoint(List coordinates, List values, List bandNames) { + this.coordinates = coordinates; + this.values = values; + this.bandNames = bandNames; + } + + /** + * Get the coordinates property: Geographic coordinates [longitude, latitude] of the queried point. + * + * @return the coordinates value. + */ + @Generated + public List getCoordinates() { + return this.coordinates; + } + + /** + * Get the values property: Array of pixel values at the queried point for each band. + * + * @return the values value. + */ + @Generated + public List getValues() { + return this.values; + } + + /** + * Get the bandNames property: Names of each band in the raster data. + * + * @return the bandNames value. + */ + @Generated + public List getBandNames() { + return this.bandNames; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("coordinates", this.coordinates, (writer, element) -> writer.writeDouble(element)); + jsonWriter.writeArrayField("values", this.values, (writer, element) -> writer.writeDouble(element)); + jsonWriter.writeArrayField("band_names", this.bandNames, (writer, element) -> writer.writeString(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TitilerCoreModelsResponsesPoint from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TitilerCoreModelsResponsesPoint if the JsonReader was pointing to an instance of it, or + * null if it was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the TitilerCoreModelsResponsesPoint. + */ + @Generated + public static TitilerCoreModelsResponsesPoint fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + List coordinates = null; + List values = null; + List bandNames = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("coordinates".equals(fieldName)) { + coordinates = reader.readArray(reader1 -> reader1.getDouble()); + } else if ("values".equals(fieldName)) { + values = reader.readArray(reader1 -> reader1.getDouble()); + } else if ("band_names".equals(fieldName)) { + bandNames = reader.readArray(reader1 -> reader1.getString()); + } else { + reader.skipChildren(); + } + } + return new TitilerCoreModelsResponsesPoint(coordinates, values, bandNames); + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TitilerPgstacModelInfo.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TitilerPgstacModelInfo.java new file mode 100644 index 000000000000..98e193ce240d --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/TitilerPgstacModelInfo.java @@ -0,0 +1,114 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Information about a registered STAC search query. + */ +@Immutable +public final class TitilerPgstacModelInfo implements JsonSerializable { + /* + * Details of the saved search query + * + * See the [PgSTAC Search table + * definition](https://github.com/stac-utils/pgstac/blob/3499daa2bfa700ae7bb07503795c169bf2ebafc7/sql/004_search.sql + * #L907-L915). + */ + @Generated + private final PgStacSearch search; + + /* + * Related links for the search query + */ + @Generated + private List links; + + /** + * Creates an instance of TitilerPgstacModelInfo class. + * + * @param search the search value to set. + */ + @Generated + private TitilerPgstacModelInfo(PgStacSearch search) { + this.search = search; + } + + /** + * Get the search property: Details of the saved search query + * + * See the [PgSTAC Search table + * definition](https://github.com/stac-utils/pgstac/blob/3499daa2bfa700ae7bb07503795c169bf2ebafc7/sql/004_search.sql#L907-L915). + * + * @return the search value. + */ + @Generated + public PgStacSearch getSearch() { + return this.search; + } + + /** + * Get the links property: Related links for the search query. + * + * @return the links value. + */ + @Generated + public List getLinks() { + return this.links; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("search", this.search); + jsonWriter.writeArrayField("links", this.links, (writer, element) -> writer.writeJson(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TitilerPgstacModelInfo from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TitilerPgstacModelInfo if the JsonReader was pointing to an instance of it, or null if it + * was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the TitilerPgstacModelInfo. + */ + @Generated + public static TitilerPgstacModelInfo fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + PgStacSearch search = null; + List links = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("search".equals(fieldName)) { + search = PgStacSearch.fromJson(reader); + } else if ("links".equals(fieldName)) { + links = reader.readArray(reader1 -> Link.fromJson(reader1)); + } else { + reader.skipChildren(); + } + } + TitilerPgstacModelInfo deserializedTitilerPgstacModelInfo = new TitilerPgstacModelInfo(search); + deserializedTitilerPgstacModelInfo.links = links; + + return deserializedTitilerPgstacModelInfo; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/UnsignedLink.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/UnsignedLink.java new file mode 100644 index 000000000000..7a263ba7489d --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/UnsignedLink.java @@ -0,0 +1,122 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.core.util.CoreUtils; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.time.format.DateTimeFormatter; + +/** + * UnsignedLink + * + * Represents a link that has not been signed with a SAS token. + * The expiry field will be null for unsigned links. + */ +@Immutable +public final class UnsignedLink implements JsonSerializable { + /* + * Msft:Expiry + * + * The expiry date of the signed link. This indicates when the link will no longer be valid. + */ + @Generated + private OffsetDateTime msftExpiry; + + /* + * Href + * + * The URL of the unsigned link. + */ + @Generated + private final String href; + + /** + * Creates an instance of UnsignedLink class. + * + * @param href the href value to set. + */ + @Generated + private UnsignedLink(String href) { + this.href = href; + } + + /** + * Get the msftExpiry property: Msft:Expiry + * + * The expiry date of the signed link. This indicates when the link will no longer be valid. + * + * @return the msftExpiry value. + */ + @Generated + public OffsetDateTime getMsftExpiry() { + return this.msftExpiry; + } + + /** + * Get the href property: Href + * + * The URL of the unsigned link. + * + * @return the href value. + */ + @Generated + public String getHref() { + return this.href; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("href", this.href); + jsonWriter.writeStringField("msft:expiry", + this.msftExpiry == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.msftExpiry)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of UnsignedLink from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of UnsignedLink if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the UnsignedLink. + */ + @Generated + public static UnsignedLink fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String href = null; + OffsetDateTime msftExpiry = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("href".equals(fieldName)) { + href = reader.getString(); + } else if ("msft:expiry".equals(fieldName)) { + msftExpiry = reader + .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString())); + } else { + reader.skipChildren(); + } + } + UnsignedLink deserializedUnsignedLink = new UnsignedLink(href); + deserializedUnsignedLink.msftExpiry = msftExpiry; + + return deserializedUnsignedLink; + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/UserCollectionSettings.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/UserCollectionSettings.java new file mode 100644 index 000000000000..49bfbe0ddbde --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/UserCollectionSettings.java @@ -0,0 +1,105 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * User-specific collection settings for visualization. + */ +@Immutable +public final class UserCollectionSettings implements JsonSerializable { + /* + * Settings for map tile visualization. + */ + @Generated + private final TileSettings tileSettings; + + /* + * Settings for data mosaic visualization. + */ + @Generated + private final MosaicInfo mosaicInfo; + + /** + * Creates an instance of UserCollectionSettings class. + * + * @param tileSettings the tileSettings value to set. + * @param mosaicInfo the mosaicInfo value to set. + */ + @Generated + private UserCollectionSettings(TileSettings tileSettings, MosaicInfo mosaicInfo) { + this.tileSettings = tileSettings; + this.mosaicInfo = mosaicInfo; + } + + /** + * Get the tileSettings property: Settings for map tile visualization. + * + * @return the tileSettings value. + */ + @Generated + public TileSettings getTileSettings() { + return this.tileSettings; + } + + /** + * Get the mosaicInfo property: Settings for data mosaic visualization. + * + * @return the mosaicInfo value. + */ + @Generated + public MosaicInfo getMosaicInfo() { + return this.mosaicInfo; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("tileSettings", this.tileSettings); + jsonWriter.writeJsonField("mosaicInfo", this.mosaicInfo); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of UserCollectionSettings from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of UserCollectionSettings if the JsonReader was pointing to an instance of it, or null if it + * was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the UserCollectionSettings. + */ + @Generated + public static UserCollectionSettings fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + TileSettings tileSettings = null; + MosaicInfo mosaicInfo = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("tileSettings".equals(fieldName)) { + tileSettings = TileSettings.fromJson(reader); + } else if ("mosaicInfo".equals(fieldName)) { + mosaicInfo = MosaicInfo.fromJson(reader); + } else { + reader.skipChildren(); + } + } + return new UserCollectionSettings(tileSettings, mosaicInfo); + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/VariableMatrixWidth.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/VariableMatrixWidth.java new file mode 100644 index 000000000000..b1be004db158 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/VariableMatrixWidth.java @@ -0,0 +1,127 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Model for variableMatrixWidth. + */ +@Immutable +public final class VariableMatrixWidth implements JsonSerializable { + /* + * Number of tiles in width that coalesce in a single tile for these rows + */ + @Generated + private final int coalesce; + + /* + * First tile row where the coalescence factor applies for this tilematrix + */ + @Generated + private final int minTileRow; + + /* + * Last tile row where the coalescence factor applies for this tilematrix + */ + @Generated + private final int maxTileRow; + + /** + * Creates an instance of VariableMatrixWidth class. + * + * @param coalesce the coalesce value to set. + * @param minTileRow the minTileRow value to set. + * @param maxTileRow the maxTileRow value to set. + */ + @Generated + private VariableMatrixWidth(int coalesce, int minTileRow, int maxTileRow) { + this.coalesce = coalesce; + this.minTileRow = minTileRow; + this.maxTileRow = maxTileRow; + } + + /** + * Get the coalesce property: Number of tiles in width that coalesce in a single tile for these rows. + * + * @return the coalesce value. + */ + @Generated + public int getCoalesce() { + return this.coalesce; + } + + /** + * Get the minTileRow property: First tile row where the coalescence factor applies for this tilematrix. + * + * @return the minTileRow value. + */ + @Generated + public int getMinTileRow() { + return this.minTileRow; + } + + /** + * Get the maxTileRow property: Last tile row where the coalescence factor applies for this tilematrix. + * + * @return the maxTileRow value. + */ + @Generated + public int getMaxTileRow() { + return this.maxTileRow; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeIntField("coalesce", this.coalesce); + jsonWriter.writeIntField("minTileRow", this.minTileRow); + jsonWriter.writeIntField("maxTileRow", this.maxTileRow); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VariableMatrixWidth from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VariableMatrixWidth if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the VariableMatrixWidth. + */ + @Generated + public static VariableMatrixWidth fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + int coalesce = 0; + int minTileRow = 0; + int maxTileRow = 0; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("coalesce".equals(fieldName)) { + coalesce = reader.getInt(); + } else if ("minTileRow".equals(fieldName)) { + minTileRow = reader.getInt(); + } else if ("maxTileRow".equals(fieldName)) { + maxTileRow = reader.getInt(); + } else { + reader.skipChildren(); + } + } + return new VariableMatrixWidth(coalesce, minTileRow, maxTileRow); + }); + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/package-info.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/package-info.java new file mode 100644 index 000000000000..c2e7308256af --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/models/package-info.java @@ -0,0 +1,10 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +/** + * + * Package containing the data models for PlanetaryComputer. + * + */ +package com.azure.planetarycomputer.models; diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/package-info.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/package-info.java new file mode 100644 index 000000000000..a7c31d049c5d --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/com/azure/planetarycomputer/package-info.java @@ -0,0 +1,10 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +/** + * + * Package containing the classes for PlanetaryComputer. + * + */ +package com.azure.planetarycomputer; diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/module-info.java b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/module-info.java new file mode 100644 index 000000000000..5e43d45d2ec4 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/java/module-info.java @@ -0,0 +1,17 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +module com.azure.planetarycomputer { + requires transitive com.azure.core; + + exports com.azure.planetarycomputer; + exports com.azure.planetarycomputer.com.azure.planetarycomputer.models; + exports com.azure.planetarycomputer.models; + exports com.azure.planetarycomputer.com.azure.planetarycomputer.ingestionruns.models; + + opens com.azure.planetarycomputer.com.azure.planetarycomputer.models to com.azure.core; + opens com.azure.planetarycomputer.implementation.models to com.azure.core; + opens com.azure.planetarycomputer.models to com.azure.core; + opens com.azure.planetarycomputer.com.azure.planetarycomputer.ingestionruns.models to com.azure.core; +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/resources/META-INF/azure-planetarycomputer_apiview_properties.json b/sdk/planetarycomputer/azure-planetarycomputer/src/main/resources/META-INF/azure-planetarycomputer_apiview_properties.json new file mode 100644 index 000000000000..6f76b2dd8323 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/resources/META-INF/azure-planetarycomputer_apiview_properties.json @@ -0,0 +1,551 @@ +{ + "flavor": "azure", + "CrossLanguageDefinitionId": { + "com.azure.planetarycomputer.GeocatalogAsyncClient": "Customizations.GeocatalogClient", + "com.azure.planetarycomputer.GeocatalogAsyncClient.getAuthConfig": "Customizations.GeocatalogClient.getAuthConfig", + "com.azure.planetarycomputer.GeocatalogAsyncClient.getAuthConfigWithResponse": "Customizations.GeocatalogClient.getAuthConfig", + "com.azure.planetarycomputer.GeocatalogAsyncClient.getAzmapsClientId": "Customizations.GeocatalogClient.getAzmapsClientId", + "com.azure.planetarycomputer.GeocatalogAsyncClient.getAzmapsClientIdWithResponse": "Customizations.GeocatalogClient.getAzmapsClientId", + "com.azure.planetarycomputer.GeocatalogAsyncClient.getAzmapsToken": "Customizations.GeocatalogClient.getAzmapsToken", + "com.azure.planetarycomputer.GeocatalogAsyncClient.getAzmapsTokenWithResponse": "Customizations.GeocatalogClient.getAzmapsToken", + "com.azure.planetarycomputer.GeocatalogClient": "Customizations.GeocatalogClient", + "com.azure.planetarycomputer.GeocatalogClient.getAuthConfig": "Customizations.GeocatalogClient.getAuthConfig", + "com.azure.planetarycomputer.GeocatalogClient.getAuthConfigWithResponse": "Customizations.GeocatalogClient.getAuthConfig", + "com.azure.planetarycomputer.GeocatalogClient.getAzmapsClientId": "Customizations.GeocatalogClient.getAzmapsClientId", + "com.azure.planetarycomputer.GeocatalogClient.getAzmapsClientIdWithResponse": "Customizations.GeocatalogClient.getAzmapsClientId", + "com.azure.planetarycomputer.GeocatalogClient.getAzmapsToken": "Customizations.GeocatalogClient.getAzmapsToken", + "com.azure.planetarycomputer.GeocatalogClient.getAzmapsTokenWithResponse": "Customizations.GeocatalogClient.getAzmapsToken", + "com.azure.planetarycomputer.GeocatalogClientBuilder": "Customizations.GeocatalogClient", + "com.azure.planetarycomputer.ImageExportsAsyncClient": "Customizations.ImageExportsClient", + "com.azure.planetarycomputer.ImageExportsAsyncClient.createStaticImage": "Customizations.ImageExportsClient.createStaticImage", + "com.azure.planetarycomputer.ImageExportsAsyncClient.createStaticImageWithResponse": "Customizations.ImageExportsClient.createStaticImage", + "com.azure.planetarycomputer.ImageExportsAsyncClient.getStaticImage": "Customizations.ImageExportsClient.getStaticImage", + "com.azure.planetarycomputer.ImageExportsAsyncClient.getStaticImageWithResponse": "Customizations.ImageExportsClient.getStaticImage", + "com.azure.planetarycomputer.ImageExportsClient": "Customizations.ImageExportsClient", + "com.azure.planetarycomputer.ImageExportsClient.createStaticImage": "Customizations.ImageExportsClient.createStaticImage", + "com.azure.planetarycomputer.ImageExportsClient.createStaticImageWithResponse": "Customizations.ImageExportsClient.createStaticImage", + "com.azure.planetarycomputer.ImageExportsClient.getStaticImage": "Customizations.ImageExportsClient.getStaticImage", + "com.azure.planetarycomputer.ImageExportsClient.getStaticImageWithResponse": "Customizations.ImageExportsClient.getStaticImage", + "com.azure.planetarycomputer.ImageExportsClientBuilder": "Customizations.ImageExportsClient", + "com.azure.planetarycomputer.IngestionManagementAsyncClient": "Customizations.IngestionManagementClient", + "com.azure.planetarycomputer.IngestionManagementAsyncClient.beginDeleteIngestion": "Customizations.IngestionManagementClient.deleteIngestion", + "com.azure.planetarycomputer.IngestionManagementAsyncClient.beginDeleteIngestionWithModel": "Customizations.IngestionManagementClient.deleteIngestion", + "com.azure.planetarycomputer.IngestionManagementAsyncClient.createIngestion": "Customizations.IngestionManagementClient.createIngestion", + "com.azure.planetarycomputer.IngestionManagementAsyncClient.createIngestionRun": "Customizations.IngestionManagementClient.createIngestionRun", + "com.azure.planetarycomputer.IngestionManagementAsyncClient.createIngestionRunWithResponse": "Customizations.IngestionManagementClient.createIngestionRun", + "com.azure.planetarycomputer.IngestionManagementAsyncClient.createIngestionWithResponse": "Customizations.IngestionManagementClient.createIngestion", + "com.azure.planetarycomputer.IngestionManagementAsyncClient.deleteAllIngestionOperations": "Customizations.IngestionManagementClient.deleteAllIngestionOperations", + "com.azure.planetarycomputer.IngestionManagementAsyncClient.deleteAllIngestionOperationsWithResponse": "Customizations.IngestionManagementClient.deleteAllIngestionOperations", + "com.azure.planetarycomputer.IngestionManagementAsyncClient.deleteIngestionOperation": "Customizations.IngestionManagementClient.deleteIngestionOperation", + "com.azure.planetarycomputer.IngestionManagementAsyncClient.deleteIngestionOperationWithResponse": "Customizations.IngestionManagementClient.deleteIngestionOperation", + "com.azure.planetarycomputer.IngestionManagementAsyncClient.getIngestion": "Customizations.IngestionManagementClient.getIngestion", + "com.azure.planetarycomputer.IngestionManagementAsyncClient.getIngestionOperation": "Customizations.IngestionManagementClient.getIngestionOperation", + "com.azure.planetarycomputer.IngestionManagementAsyncClient.getIngestionOperationWithResponse": "Customizations.IngestionManagementClient.getIngestionOperation", + "com.azure.planetarycomputer.IngestionManagementAsyncClient.getIngestionOperations": "Customizations.IngestionManagementClient.getIngestionOperations", + "com.azure.planetarycomputer.IngestionManagementAsyncClient.getIngestionOperationsWithResponse": "Customizations.IngestionManagementClient.getIngestionOperations", + "com.azure.planetarycomputer.IngestionManagementAsyncClient.getIngestionRun": "Customizations.IngestionManagementClient.getIngestionRun", + "com.azure.planetarycomputer.IngestionManagementAsyncClient.getIngestionRunWithResponse": "Customizations.IngestionManagementClient.getIngestionRun", + "com.azure.planetarycomputer.IngestionManagementAsyncClient.getIngestionRuns": "Customizations.IngestionManagementClient.getIngestionRuns", + "com.azure.planetarycomputer.IngestionManagementAsyncClient.getIngestionRunsWithResponse": "Customizations.IngestionManagementClient.getIngestionRuns", + "com.azure.planetarycomputer.IngestionManagementAsyncClient.getIngestionWithResponse": "Customizations.IngestionManagementClient.getIngestion", + "com.azure.planetarycomputer.IngestionManagementAsyncClient.getIngestions": "Customizations.IngestionManagementClient.getIngestions", + "com.azure.planetarycomputer.IngestionManagementAsyncClient.getIngestionsWithResponse": "Customizations.IngestionManagementClient.getIngestions", + "com.azure.planetarycomputer.IngestionManagementClient": "Customizations.IngestionManagementClient", + "com.azure.planetarycomputer.IngestionManagementClient.beginDeleteIngestion": "Customizations.IngestionManagementClient.deleteIngestion", + "com.azure.planetarycomputer.IngestionManagementClient.beginDeleteIngestionWithModel": "Customizations.IngestionManagementClient.deleteIngestion", + "com.azure.planetarycomputer.IngestionManagementClient.createIngestion": "Customizations.IngestionManagementClient.createIngestion", + "com.azure.planetarycomputer.IngestionManagementClient.createIngestionRun": "Customizations.IngestionManagementClient.createIngestionRun", + "com.azure.planetarycomputer.IngestionManagementClient.createIngestionRunWithResponse": "Customizations.IngestionManagementClient.createIngestionRun", + "com.azure.planetarycomputer.IngestionManagementClient.createIngestionWithResponse": "Customizations.IngestionManagementClient.createIngestion", + "com.azure.planetarycomputer.IngestionManagementClient.deleteAllIngestionOperations": "Customizations.IngestionManagementClient.deleteAllIngestionOperations", + "com.azure.planetarycomputer.IngestionManagementClient.deleteAllIngestionOperationsWithResponse": "Customizations.IngestionManagementClient.deleteAllIngestionOperations", + "com.azure.planetarycomputer.IngestionManagementClient.deleteIngestionOperation": "Customizations.IngestionManagementClient.deleteIngestionOperation", + "com.azure.planetarycomputer.IngestionManagementClient.deleteIngestionOperationWithResponse": "Customizations.IngestionManagementClient.deleteIngestionOperation", + "com.azure.planetarycomputer.IngestionManagementClient.getIngestion": "Customizations.IngestionManagementClient.getIngestion", + "com.azure.planetarycomputer.IngestionManagementClient.getIngestionOperation": "Customizations.IngestionManagementClient.getIngestionOperation", + "com.azure.planetarycomputer.IngestionManagementClient.getIngestionOperationWithResponse": "Customizations.IngestionManagementClient.getIngestionOperation", + "com.azure.planetarycomputer.IngestionManagementClient.getIngestionOperations": "Customizations.IngestionManagementClient.getIngestionOperations", + "com.azure.planetarycomputer.IngestionManagementClient.getIngestionOperationsWithResponse": "Customizations.IngestionManagementClient.getIngestionOperations", + "com.azure.planetarycomputer.IngestionManagementClient.getIngestionRun": "Customizations.IngestionManagementClient.getIngestionRun", + "com.azure.planetarycomputer.IngestionManagementClient.getIngestionRunWithResponse": "Customizations.IngestionManagementClient.getIngestionRun", + "com.azure.planetarycomputer.IngestionManagementClient.getIngestionRuns": "Customizations.IngestionManagementClient.getIngestionRuns", + "com.azure.planetarycomputer.IngestionManagementClient.getIngestionRunsWithResponse": "Customizations.IngestionManagementClient.getIngestionRuns", + "com.azure.planetarycomputer.IngestionManagementClient.getIngestionWithResponse": "Customizations.IngestionManagementClient.getIngestion", + "com.azure.planetarycomputer.IngestionManagementClient.getIngestions": "Customizations.IngestionManagementClient.getIngestions", + "com.azure.planetarycomputer.IngestionManagementClient.getIngestionsWithResponse": "Customizations.IngestionManagementClient.getIngestions", + "com.azure.planetarycomputer.IngestionManagementClientBuilder": "Customizations.IngestionManagementClient", + "com.azure.planetarycomputer.IngestionSourcesAsyncClient": "Customizations.IngestionSourcesClient", + "com.azure.planetarycomputer.IngestionSourcesAsyncClient.createIngestionSource": "Customizations.IngestionSourcesClient.createIngestionSource", + "com.azure.planetarycomputer.IngestionSourcesAsyncClient.createIngestionSourceWithResponse": "Customizations.IngestionSourcesClient.createIngestionSource", + "com.azure.planetarycomputer.IngestionSourcesAsyncClient.createOrReplaceIngestionSource": "Customizations.IngestionSourcesClient.createOrReplaceIngestionSource", + "com.azure.planetarycomputer.IngestionSourcesAsyncClient.createOrReplaceIngestionSourceWithResponse": "Customizations.IngestionSourcesClient.createOrReplaceIngestionSource", + "com.azure.planetarycomputer.IngestionSourcesAsyncClient.deleteIngestionSource": "Customizations.IngestionSourcesClient.deleteIngestionSource", + "com.azure.planetarycomputer.IngestionSourcesAsyncClient.deleteIngestionSourceWithResponse": "Customizations.IngestionSourcesClient.deleteIngestionSource", + "com.azure.planetarycomputer.IngestionSourcesAsyncClient.getIngestionSource": "Customizations.IngestionSourcesClient.getIngestionSource", + "com.azure.planetarycomputer.IngestionSourcesAsyncClient.getIngestionSourceWithResponse": "Customizations.IngestionSourcesClient.getIngestionSource", + "com.azure.planetarycomputer.IngestionSourcesAsyncClient.getIngestionSources": "Customizations.IngestionSourcesClient.getIngestionSources", + "com.azure.planetarycomputer.IngestionSourcesAsyncClient.getIngestionSourcesWithResponse": "Customizations.IngestionSourcesClient.getIngestionSources", + "com.azure.planetarycomputer.IngestionSourcesAsyncClient.getManagedIdentities": "Customizations.IngestionSourcesClient.getManagedIdentities", + "com.azure.planetarycomputer.IngestionSourcesAsyncClient.getManagedIdentitiesWithResponse": "Customizations.IngestionSourcesClient.getManagedIdentities", + "com.azure.planetarycomputer.IngestionSourcesClient": "Customizations.IngestionSourcesClient", + "com.azure.planetarycomputer.IngestionSourcesClient.createIngestionSource": "Customizations.IngestionSourcesClient.createIngestionSource", + "com.azure.planetarycomputer.IngestionSourcesClient.createIngestionSourceWithResponse": "Customizations.IngestionSourcesClient.createIngestionSource", + "com.azure.planetarycomputer.IngestionSourcesClient.createOrReplaceIngestionSource": "Customizations.IngestionSourcesClient.createOrReplaceIngestionSource", + "com.azure.planetarycomputer.IngestionSourcesClient.createOrReplaceIngestionSourceWithResponse": "Customizations.IngestionSourcesClient.createOrReplaceIngestionSource", + "com.azure.planetarycomputer.IngestionSourcesClient.deleteIngestionSource": "Customizations.IngestionSourcesClient.deleteIngestionSource", + "com.azure.planetarycomputer.IngestionSourcesClient.deleteIngestionSourceWithResponse": "Customizations.IngestionSourcesClient.deleteIngestionSource", + "com.azure.planetarycomputer.IngestionSourcesClient.getIngestionSource": "Customizations.IngestionSourcesClient.getIngestionSource", + "com.azure.planetarycomputer.IngestionSourcesClient.getIngestionSourceWithResponse": "Customizations.IngestionSourcesClient.getIngestionSource", + "com.azure.planetarycomputer.IngestionSourcesClient.getIngestionSources": "Customizations.IngestionSourcesClient.getIngestionSources", + "com.azure.planetarycomputer.IngestionSourcesClient.getIngestionSourcesWithResponse": "Customizations.IngestionSourcesClient.getIngestionSources", + "com.azure.planetarycomputer.IngestionSourcesClient.getManagedIdentities": "Customizations.IngestionSourcesClient.getManagedIdentities", + "com.azure.planetarycomputer.IngestionSourcesClient.getManagedIdentitiesWithResponse": "Customizations.IngestionSourcesClient.getManagedIdentities", + "com.azure.planetarycomputer.IngestionSourcesClientBuilder": "Customizations.IngestionSourcesClient", + "com.azure.planetarycomputer.MapLegendsAsyncClient": "Customizations.MapLegendsClient", + "com.azure.planetarycomputer.MapLegendsAsyncClient.getClassmapLegend": "Customizations.MapLegendsClient.getClassmapLegend", + "com.azure.planetarycomputer.MapLegendsAsyncClient.getClassmapLegendWithResponse": "Customizations.MapLegendsClient.getClassmapLegend", + "com.azure.planetarycomputer.MapLegendsAsyncClient.getIntervalLegend": "Customizations.MapLegendsClient.getIntervalLegend", + "com.azure.planetarycomputer.MapLegendsAsyncClient.getIntervalLegendWithResponse": "Customizations.MapLegendsClient.getIntervalLegend", + "com.azure.planetarycomputer.MapLegendsAsyncClient.getLegend": "Customizations.MapLegendsClient.getLegend", + "com.azure.planetarycomputer.MapLegendsAsyncClient.getLegendWithResponse": "Customizations.MapLegendsClient.getLegend", + "com.azure.planetarycomputer.MapLegendsClient": "Customizations.MapLegendsClient", + "com.azure.planetarycomputer.MapLegendsClient.getClassmapLegend": "Customizations.MapLegendsClient.getClassmapLegend", + "com.azure.planetarycomputer.MapLegendsClient.getClassmapLegendWithResponse": "Customizations.MapLegendsClient.getClassmapLegend", + "com.azure.planetarycomputer.MapLegendsClient.getIntervalLegend": "Customizations.MapLegendsClient.getIntervalLegend", + "com.azure.planetarycomputer.MapLegendsClient.getIntervalLegendWithResponse": "Customizations.MapLegendsClient.getIntervalLegend", + "com.azure.planetarycomputer.MapLegendsClient.getLegend": "Customizations.MapLegendsClient.getLegend", + "com.azure.planetarycomputer.MapLegendsClient.getLegendWithResponse": "Customizations.MapLegendsClient.getLegend", + "com.azure.planetarycomputer.MapLegendsClientBuilder": "Customizations.MapLegendsClient", + "com.azure.planetarycomputer.MosaicTilerAsyncClient": "Customizations.MosaicTilerClient", + "com.azure.planetarycomputer.MosaicTilerAsyncClient.getAssetsForPoint": "Customizations.MosaicTilerClient.getAssetsForPoint", + "com.azure.planetarycomputer.MosaicTilerAsyncClient.getAssetsForPointWithResponse": "Customizations.MosaicTilerClient.getAssetsForPoint", + "com.azure.planetarycomputer.MosaicTilerAsyncClient.getAssetsForTile": "Customizations.MosaicTilerClient.getAssetsForTile", + "com.azure.planetarycomputer.MosaicTilerAsyncClient.getAssetsForTileWithMatrixSet": "Customizations.MosaicTilerClient.getAssetsForTileWithMatrixSet", + "com.azure.planetarycomputer.MosaicTilerAsyncClient.getAssetsForTileWithMatrixSetWithResponse": "Customizations.MosaicTilerClient.getAssetsForTileWithMatrixSet", + "com.azure.planetarycomputer.MosaicTilerAsyncClient.getAssetsForTileWithResponse": "Customizations.MosaicTilerClient.getAssetsForTile", + "com.azure.planetarycomputer.MosaicTilerAsyncClient.getSearchInfo": "Customizations.MosaicTilerClient.getSearchInfo", + "com.azure.planetarycomputer.MosaicTilerAsyncClient.getSearchInfoWithResponse": "Customizations.MosaicTilerClient.getSearchInfo", + "com.azure.planetarycomputer.MosaicTilerAsyncClient.getTile": "Customizations.MosaicTilerClient.getTile", + "com.azure.planetarycomputer.MosaicTilerAsyncClient.getTileJson": "Customizations.MosaicTilerClient.getTileJson", + "com.azure.planetarycomputer.MosaicTilerAsyncClient.getTileJsonWithMatrixSet": "Customizations.MosaicTilerClient.getTileJsonWithMatrixSet", + "com.azure.planetarycomputer.MosaicTilerAsyncClient.getTileJsonWithMatrixSetWithResponse": "Customizations.MosaicTilerClient.getTileJsonWithMatrixSet", + "com.azure.planetarycomputer.MosaicTilerAsyncClient.getTileJsonWithResponse": "Customizations.MosaicTilerClient.getTileJson", + "com.azure.planetarycomputer.MosaicTilerAsyncClient.getTileWithMatrixSet": "Customizations.MosaicTilerClient.getTileWithMatrixSet", + "com.azure.planetarycomputer.MosaicTilerAsyncClient.getTileWithMatrixSetWithResponse": "Customizations.MosaicTilerClient.getTileWithMatrixSet", + "com.azure.planetarycomputer.MosaicTilerAsyncClient.getTileWithResponse": "Customizations.MosaicTilerClient.getTile", + "com.azure.planetarycomputer.MosaicTilerAsyncClient.getWmtsCapabilities": "Customizations.MosaicTilerClient.getWmtsCapabilities", + "com.azure.planetarycomputer.MosaicTilerAsyncClient.getWmtsCapabilitiesWithMatrixSet": "Customizations.MosaicTilerClient.getWmtsCapabilitiesWithMatrixSet", + "com.azure.planetarycomputer.MosaicTilerAsyncClient.getWmtsCapabilitiesWithMatrixSetWithResponse": "Customizations.MosaicTilerClient.getWmtsCapabilitiesWithMatrixSet", + "com.azure.planetarycomputer.MosaicTilerAsyncClient.getWmtsCapabilitiesWithResponse": "Customizations.MosaicTilerClient.getWmtsCapabilities", + "com.azure.planetarycomputer.MosaicTilerAsyncClient.registerSearch": "Customizations.MosaicTilerClient.registerSearch", + "com.azure.planetarycomputer.MosaicTilerAsyncClient.registerSearchWithResponse": "Customizations.MosaicTilerClient.registerSearch", + "com.azure.planetarycomputer.MosaicTilerClient": "Customizations.MosaicTilerClient", + "com.azure.planetarycomputer.MosaicTilerClient.getAssetsForPoint": "Customizations.MosaicTilerClient.getAssetsForPoint", + "com.azure.planetarycomputer.MosaicTilerClient.getAssetsForPointWithResponse": "Customizations.MosaicTilerClient.getAssetsForPoint", + "com.azure.planetarycomputer.MosaicTilerClient.getAssetsForTile": "Customizations.MosaicTilerClient.getAssetsForTile", + "com.azure.planetarycomputer.MosaicTilerClient.getAssetsForTileWithMatrixSet": "Customizations.MosaicTilerClient.getAssetsForTileWithMatrixSet", + "com.azure.planetarycomputer.MosaicTilerClient.getAssetsForTileWithMatrixSetWithResponse": "Customizations.MosaicTilerClient.getAssetsForTileWithMatrixSet", + "com.azure.planetarycomputer.MosaicTilerClient.getAssetsForTileWithResponse": "Customizations.MosaicTilerClient.getAssetsForTile", + "com.azure.planetarycomputer.MosaicTilerClient.getSearchInfo": "Customizations.MosaicTilerClient.getSearchInfo", + "com.azure.planetarycomputer.MosaicTilerClient.getSearchInfoWithResponse": "Customizations.MosaicTilerClient.getSearchInfo", + "com.azure.planetarycomputer.MosaicTilerClient.getTile": "Customizations.MosaicTilerClient.getTile", + "com.azure.planetarycomputer.MosaicTilerClient.getTileJson": "Customizations.MosaicTilerClient.getTileJson", + "com.azure.planetarycomputer.MosaicTilerClient.getTileJsonWithMatrixSet": "Customizations.MosaicTilerClient.getTileJsonWithMatrixSet", + "com.azure.planetarycomputer.MosaicTilerClient.getTileJsonWithMatrixSetWithResponse": "Customizations.MosaicTilerClient.getTileJsonWithMatrixSet", + "com.azure.planetarycomputer.MosaicTilerClient.getTileJsonWithResponse": "Customizations.MosaicTilerClient.getTileJson", + "com.azure.planetarycomputer.MosaicTilerClient.getTileWithMatrixSet": "Customizations.MosaicTilerClient.getTileWithMatrixSet", + "com.azure.planetarycomputer.MosaicTilerClient.getTileWithMatrixSetWithResponse": "Customizations.MosaicTilerClient.getTileWithMatrixSet", + "com.azure.planetarycomputer.MosaicTilerClient.getTileWithResponse": "Customizations.MosaicTilerClient.getTile", + "com.azure.planetarycomputer.MosaicTilerClient.getWmtsCapabilities": "Customizations.MosaicTilerClient.getWmtsCapabilities", + "com.azure.planetarycomputer.MosaicTilerClient.getWmtsCapabilitiesWithMatrixSet": "Customizations.MosaicTilerClient.getWmtsCapabilitiesWithMatrixSet", + "com.azure.planetarycomputer.MosaicTilerClient.getWmtsCapabilitiesWithMatrixSetWithResponse": "Customizations.MosaicTilerClient.getWmtsCapabilitiesWithMatrixSet", + "com.azure.planetarycomputer.MosaicTilerClient.getWmtsCapabilitiesWithResponse": "Customizations.MosaicTilerClient.getWmtsCapabilities", + "com.azure.planetarycomputer.MosaicTilerClient.registerSearch": "Customizations.MosaicTilerClient.registerSearch", + "com.azure.planetarycomputer.MosaicTilerClient.registerSearchWithResponse": "Customizations.MosaicTilerClient.registerSearch", + "com.azure.planetarycomputer.MosaicTilerClientBuilder": "Customizations.MosaicTilerClient", + "com.azure.planetarycomputer.SharedAccessSignatureAsyncClient": "Customizations.SharedAccessSignatureClient", + "com.azure.planetarycomputer.SharedAccessSignatureAsyncClient.getSign": "Customizations.SharedAccessSignatureClient.getSign", + "com.azure.planetarycomputer.SharedAccessSignatureAsyncClient.getSignWithResponse": "Customizations.SharedAccessSignatureClient.getSign", + "com.azure.planetarycomputer.SharedAccessSignatureAsyncClient.getToken": "Customizations.SharedAccessSignatureClient.getToken", + "com.azure.planetarycomputer.SharedAccessSignatureAsyncClient.getTokenWithResponse": "Customizations.SharedAccessSignatureClient.getToken", + "com.azure.planetarycomputer.SharedAccessSignatureAsyncClient.revokeToken": "Customizations.SharedAccessSignatureClient.revokeToken", + "com.azure.planetarycomputer.SharedAccessSignatureAsyncClient.revokeTokenWithResponse": "Customizations.SharedAccessSignatureClient.revokeToken", + "com.azure.planetarycomputer.SharedAccessSignatureClient": "Customizations.SharedAccessSignatureClient", + "com.azure.planetarycomputer.SharedAccessSignatureClient.getSign": "Customizations.SharedAccessSignatureClient.getSign", + "com.azure.planetarycomputer.SharedAccessSignatureClient.getSignWithResponse": "Customizations.SharedAccessSignatureClient.getSign", + "com.azure.planetarycomputer.SharedAccessSignatureClient.getToken": "Customizations.SharedAccessSignatureClient.getToken", + "com.azure.planetarycomputer.SharedAccessSignatureClient.getTokenWithResponse": "Customizations.SharedAccessSignatureClient.getToken", + "com.azure.planetarycomputer.SharedAccessSignatureClient.revokeToken": "Customizations.SharedAccessSignatureClient.revokeToken", + "com.azure.planetarycomputer.SharedAccessSignatureClient.revokeTokenWithResponse": "Customizations.SharedAccessSignatureClient.revokeToken", + "com.azure.planetarycomputer.SharedAccessSignatureClientBuilder": "Customizations.SharedAccessSignatureClient", + "com.azure.planetarycomputer.StacApiAsyncClient": "Customizations.StacApiClient", + "com.azure.planetarycomputer.StacApiAsyncClient.beginCreateCollection": "Customizations.StacApiClient.createCollection", + "com.azure.planetarycomputer.StacApiAsyncClient.beginCreateCollectionWithModel": "Customizations.StacApiClient.createCollection", + "com.azure.planetarycomputer.StacApiAsyncClient.beginCreateItem": "Customizations.StacApiClient.createItem", + "com.azure.planetarycomputer.StacApiAsyncClient.beginCreateItemWithModel": "Customizations.StacApiClient.createItem", + "com.azure.planetarycomputer.StacApiAsyncClient.beginCreateOrReplaceCollection": "Customizations.StacApiClient.createOrReplaceCollection", + "com.azure.planetarycomputer.StacApiAsyncClient.beginCreateOrReplaceCollectionWithModel": "Customizations.StacApiClient.createOrReplaceCollection", + "com.azure.planetarycomputer.StacApiAsyncClient.beginCreateOrReplaceItem": "Customizations.StacApiClient.createOrReplaceItem", + "com.azure.planetarycomputer.StacApiAsyncClient.beginCreateOrReplaceItemWithModel": "Customizations.StacApiClient.createOrReplaceItem", + "com.azure.planetarycomputer.StacApiAsyncClient.beginDeleteCollection": "Customizations.StacApiClient.deleteCollection", + "com.azure.planetarycomputer.StacApiAsyncClient.beginDeleteCollectionWithModel": "Customizations.StacApiClient.deleteCollection", + "com.azure.planetarycomputer.StacApiAsyncClient.beginDeleteItem": "Customizations.StacApiClient.deleteItem", + "com.azure.planetarycomputer.StacApiAsyncClient.beginDeleteItemWithModel": "Customizations.StacApiClient.deleteItem", + "com.azure.planetarycomputer.StacApiAsyncClient.createQueryables": "Customizations.StacApiClient.createQueryables", + "com.azure.planetarycomputer.StacApiAsyncClient.createQueryablesWithResponse": "Customizations.StacApiClient.createQueryables", + "com.azure.planetarycomputer.StacApiAsyncClient.createSearchOperations": "Customizations.StacApiClient.createSearchOperations", + "com.azure.planetarycomputer.StacApiAsyncClient.createSearchOperationsWithResponse": "Customizations.StacApiClient.createSearchOperations", + "com.azure.planetarycomputer.StacApiAsyncClient.getAllCollections": "Customizations.StacApiClient.getAllCollections", + "com.azure.planetarycomputer.StacApiAsyncClient.getAllCollectionsWithResponse": "Customizations.StacApiClient.getAllCollections", + "com.azure.planetarycomputer.StacApiAsyncClient.getAllQueryables": "Customizations.StacApiClient.getAllQueryables", + "com.azure.planetarycomputer.StacApiAsyncClient.getAllQueryablesByCollection": "Customizations.StacApiClient.getAllQueryablesByCollection", + "com.azure.planetarycomputer.StacApiAsyncClient.getAllQueryablesByCollectionWithResponse": "Customizations.StacApiClient.getAllQueryablesByCollection", + "com.azure.planetarycomputer.StacApiAsyncClient.getAllQueryablesWithResponse": "Customizations.StacApiClient.getAllQueryables", + "com.azure.planetarycomputer.StacApiAsyncClient.getCollection": "Customizations.StacApiClient.getCollection", + "com.azure.planetarycomputer.StacApiAsyncClient.getCollectionWithResponse": "Customizations.StacApiClient.getCollection", + "com.azure.planetarycomputer.StacApiAsyncClient.getConformanceClass": "Customizations.StacApiClient.getConformanceClass", + "com.azure.planetarycomputer.StacApiAsyncClient.getConformanceClassWithResponse": "Customizations.StacApiClient.getConformanceClass", + "com.azure.planetarycomputer.StacApiAsyncClient.getItem": "Customizations.StacApiClient.getItem", + "com.azure.planetarycomputer.StacApiAsyncClient.getItemWithResponse": "Customizations.StacApiClient.getItem", + "com.azure.planetarycomputer.StacApiAsyncClient.getItemsAsFeatures": "Customizations.StacApiClient.getItemsAsFeatures", + "com.azure.planetarycomputer.StacApiAsyncClient.getItemsAsFeaturesWithResponse": "Customizations.StacApiClient.getItemsAsFeatures", + "com.azure.planetarycomputer.StacApiAsyncClient.getSearchOperations": "Customizations.StacApiClient.getSearchOperations", + "com.azure.planetarycomputer.StacApiAsyncClient.getSearchOperationsWithResponse": "Customizations.StacApiClient.getSearchOperations", + "com.azure.planetarycomputer.StacApiAsyncClient.getStacLandingPage": "Customizations.StacApiClient.getStacLandingPage", + "com.azure.planetarycomputer.StacApiAsyncClient.getStacLandingPageWithResponse": "Customizations.StacApiClient.getStacLandingPage", + "com.azure.planetarycomputer.StacApiClient": "Customizations.StacApiClient", + "com.azure.planetarycomputer.StacApiClient.beginCreateCollection": "Customizations.StacApiClient.createCollection", + "com.azure.planetarycomputer.StacApiClient.beginCreateCollectionWithModel": "Customizations.StacApiClient.createCollection", + "com.azure.planetarycomputer.StacApiClient.beginCreateItem": "Customizations.StacApiClient.createItem", + "com.azure.planetarycomputer.StacApiClient.beginCreateItemWithModel": "Customizations.StacApiClient.createItem", + "com.azure.planetarycomputer.StacApiClient.beginCreateOrReplaceCollection": "Customizations.StacApiClient.createOrReplaceCollection", + "com.azure.planetarycomputer.StacApiClient.beginCreateOrReplaceCollectionWithModel": "Customizations.StacApiClient.createOrReplaceCollection", + "com.azure.planetarycomputer.StacApiClient.beginCreateOrReplaceItem": "Customizations.StacApiClient.createOrReplaceItem", + "com.azure.planetarycomputer.StacApiClient.beginCreateOrReplaceItemWithModel": "Customizations.StacApiClient.createOrReplaceItem", + "com.azure.planetarycomputer.StacApiClient.beginDeleteCollection": "Customizations.StacApiClient.deleteCollection", + "com.azure.planetarycomputer.StacApiClient.beginDeleteCollectionWithModel": "Customizations.StacApiClient.deleteCollection", + "com.azure.planetarycomputer.StacApiClient.beginDeleteItem": "Customizations.StacApiClient.deleteItem", + "com.azure.planetarycomputer.StacApiClient.beginDeleteItemWithModel": "Customizations.StacApiClient.deleteItem", + "com.azure.planetarycomputer.StacApiClient.createQueryables": "Customizations.StacApiClient.createQueryables", + "com.azure.planetarycomputer.StacApiClient.createQueryablesWithResponse": "Customizations.StacApiClient.createQueryables", + "com.azure.planetarycomputer.StacApiClient.createSearchOperations": "Customizations.StacApiClient.createSearchOperations", + "com.azure.planetarycomputer.StacApiClient.createSearchOperationsWithResponse": "Customizations.StacApiClient.createSearchOperations", + "com.azure.planetarycomputer.StacApiClient.getAllCollections": "Customizations.StacApiClient.getAllCollections", + "com.azure.planetarycomputer.StacApiClient.getAllCollectionsWithResponse": "Customizations.StacApiClient.getAllCollections", + "com.azure.planetarycomputer.StacApiClient.getAllQueryables": "Customizations.StacApiClient.getAllQueryables", + "com.azure.planetarycomputer.StacApiClient.getAllQueryablesByCollection": "Customizations.StacApiClient.getAllQueryablesByCollection", + "com.azure.planetarycomputer.StacApiClient.getAllQueryablesByCollectionWithResponse": "Customizations.StacApiClient.getAllQueryablesByCollection", + "com.azure.planetarycomputer.StacApiClient.getAllQueryablesWithResponse": "Customizations.StacApiClient.getAllQueryables", + "com.azure.planetarycomputer.StacApiClient.getCollection": "Customizations.StacApiClient.getCollection", + "com.azure.planetarycomputer.StacApiClient.getCollectionWithResponse": "Customizations.StacApiClient.getCollection", + "com.azure.planetarycomputer.StacApiClient.getConformanceClass": "Customizations.StacApiClient.getConformanceClass", + "com.azure.planetarycomputer.StacApiClient.getConformanceClassWithResponse": "Customizations.StacApiClient.getConformanceClass", + "com.azure.planetarycomputer.StacApiClient.getItem": "Customizations.StacApiClient.getItem", + "com.azure.planetarycomputer.StacApiClient.getItemWithResponse": "Customizations.StacApiClient.getItem", + "com.azure.planetarycomputer.StacApiClient.getItemsAsFeatures": "Customizations.StacApiClient.getItemsAsFeatures", + "com.azure.planetarycomputer.StacApiClient.getItemsAsFeaturesWithResponse": "Customizations.StacApiClient.getItemsAsFeatures", + "com.azure.planetarycomputer.StacApiClient.getSearchOperations": "Customizations.StacApiClient.getSearchOperations", + "com.azure.planetarycomputer.StacApiClient.getSearchOperationsWithResponse": "Customizations.StacApiClient.getSearchOperations", + "com.azure.planetarycomputer.StacApiClient.getStacLandingPage": "Customizations.StacApiClient.getStacLandingPage", + "com.azure.planetarycomputer.StacApiClient.getStacLandingPageWithResponse": "Customizations.StacApiClient.getStacLandingPage", + "com.azure.planetarycomputer.StacApiClientBuilder": "Customizations.StacApiClient", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient": "Customizations.StacCollectionConfigurationClient", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.addMosaic": "Customizations.StacCollectionConfigurationClient.addMosaic", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.addMosaicWithResponse": "Customizations.StacCollectionConfigurationClient.addMosaic", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.createCollectionAsset": "Customizations.StacCollectionConfigurationClient.createCollectionAsset", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.createCollectionAssetWithResponse": "Customizations.StacCollectionConfigurationClient.createCollectionAsset", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.createOrReplaceCollectionAsset": "Customizations.StacCollectionConfigurationClient.createOrReplaceCollectionAsset", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.createOrReplaceCollectionAssetWithResponse": "Customizations.StacCollectionConfigurationClient.createOrReplaceCollectionAsset", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.createOrReplaceMosaic": "Customizations.StacCollectionConfigurationClient.createOrReplaceMosaic", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.createOrReplaceMosaicWithResponse": "Customizations.StacCollectionConfigurationClient.createOrReplaceMosaic", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.createOrReplaceQueryable": "Customizations.StacCollectionConfigurationClient.createOrReplaceQueryable", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.createOrReplaceQueryableWithResponse": "Customizations.StacCollectionConfigurationClient.createOrReplaceQueryable", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.createOrReplaceRenderOption": "Customizations.StacCollectionConfigurationClient.createOrReplaceRenderOption", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.createOrReplaceRenderOptionWithResponse": "Customizations.StacCollectionConfigurationClient.createOrReplaceRenderOption", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.createRenderOption": "Customizations.StacCollectionConfigurationClient.createRenderOption", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.createRenderOptionWithResponse": "Customizations.StacCollectionConfigurationClient.createRenderOption", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.deleteCollectionAsset": "Customizations.StacCollectionConfigurationClient.deleteCollectionAsset", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.deleteCollectionAssetWithResponse": "Customizations.StacCollectionConfigurationClient.deleteCollectionAsset", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.deleteMosaic": "Customizations.StacCollectionConfigurationClient.deleteMosaic", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.deleteMosaicWithResponse": "Customizations.StacCollectionConfigurationClient.deleteMosaic", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.deleteQueryable": "Customizations.StacCollectionConfigurationClient.deleteQueryable", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.deleteQueryableWithResponse": "Customizations.StacCollectionConfigurationClient.deleteQueryable", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.deleteRenderOption": "Customizations.StacCollectionConfigurationClient.deleteRenderOption", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.deleteRenderOptionWithResponse": "Customizations.StacCollectionConfigurationClient.deleteRenderOption", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getAllMosaics": "Customizations.StacCollectionConfigurationClient.getAllMosaics", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getAllMosaicsWithResponse": "Customizations.StacCollectionConfigurationClient.getAllMosaics", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getAllRenderOptions": "Customizations.StacCollectionConfigurationClient.getAllRenderOptions", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getAllRenderOptionsWithResponse": "Customizations.StacCollectionConfigurationClient.getAllRenderOptions", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getCollectionConfig": "Customizations.StacCollectionConfigurationClient.getCollectionConfig", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getCollectionConfigWithResponse": "Customizations.StacCollectionConfigurationClient.getCollectionConfig", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getCollectionThumbnail": "Customizations.StacCollectionConfigurationClient.getCollectionThumbnail", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getCollectionThumbnailWithResponse": "Customizations.StacCollectionConfigurationClient.getCollectionThumbnail", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getMosaic": "Customizations.StacCollectionConfigurationClient.getMosaic", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getMosaicWithResponse": "Customizations.StacCollectionConfigurationClient.getMosaic", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getPartitionType": "Customizations.StacCollectionConfigurationClient.getPartitionType", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getPartitionTypeWithResponse": "Customizations.StacCollectionConfigurationClient.getPartitionType", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getRenderOption": "Customizations.StacCollectionConfigurationClient.getRenderOption", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getRenderOptionWithResponse": "Customizations.StacCollectionConfigurationClient.getRenderOption", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getTileSettings": "Customizations.StacCollectionConfigurationClient.getTileSettings", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getTileSettingsWithResponse": "Customizations.StacCollectionConfigurationClient.getTileSettings", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.replacePartitionType": "Customizations.StacCollectionConfigurationClient.replacePartitionType", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.replacePartitionTypeWithResponse": "Customizations.StacCollectionConfigurationClient.replacePartitionType", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.replaceTileSettings": "Customizations.StacCollectionConfigurationClient.replaceTileSettings", + "com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.replaceTileSettingsWithResponse": "Customizations.StacCollectionConfigurationClient.replaceTileSettings", + "com.azure.planetarycomputer.StacCollectionConfigurationClient": "Customizations.StacCollectionConfigurationClient", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.addMosaic": "Customizations.StacCollectionConfigurationClient.addMosaic", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.addMosaicWithResponse": "Customizations.StacCollectionConfigurationClient.addMosaic", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.createCollectionAsset": "Customizations.StacCollectionConfigurationClient.createCollectionAsset", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.createCollectionAssetWithResponse": "Customizations.StacCollectionConfigurationClient.createCollectionAsset", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.createOrReplaceCollectionAsset": "Customizations.StacCollectionConfigurationClient.createOrReplaceCollectionAsset", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.createOrReplaceCollectionAssetWithResponse": "Customizations.StacCollectionConfigurationClient.createOrReplaceCollectionAsset", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.createOrReplaceMosaic": "Customizations.StacCollectionConfigurationClient.createOrReplaceMosaic", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.createOrReplaceMosaicWithResponse": "Customizations.StacCollectionConfigurationClient.createOrReplaceMosaic", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.createOrReplaceQueryable": "Customizations.StacCollectionConfigurationClient.createOrReplaceQueryable", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.createOrReplaceQueryableWithResponse": "Customizations.StacCollectionConfigurationClient.createOrReplaceQueryable", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.createOrReplaceRenderOption": "Customizations.StacCollectionConfigurationClient.createOrReplaceRenderOption", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.createOrReplaceRenderOptionWithResponse": "Customizations.StacCollectionConfigurationClient.createOrReplaceRenderOption", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.createRenderOption": "Customizations.StacCollectionConfigurationClient.createRenderOption", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.createRenderOptionWithResponse": "Customizations.StacCollectionConfigurationClient.createRenderOption", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.deleteCollectionAsset": "Customizations.StacCollectionConfigurationClient.deleteCollectionAsset", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.deleteCollectionAssetWithResponse": "Customizations.StacCollectionConfigurationClient.deleteCollectionAsset", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.deleteMosaic": "Customizations.StacCollectionConfigurationClient.deleteMosaic", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.deleteMosaicWithResponse": "Customizations.StacCollectionConfigurationClient.deleteMosaic", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.deleteQueryable": "Customizations.StacCollectionConfigurationClient.deleteQueryable", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.deleteQueryableWithResponse": "Customizations.StacCollectionConfigurationClient.deleteQueryable", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.deleteRenderOption": "Customizations.StacCollectionConfigurationClient.deleteRenderOption", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.deleteRenderOptionWithResponse": "Customizations.StacCollectionConfigurationClient.deleteRenderOption", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.getAllMosaics": "Customizations.StacCollectionConfigurationClient.getAllMosaics", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.getAllMosaicsWithResponse": "Customizations.StacCollectionConfigurationClient.getAllMosaics", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.getAllRenderOptions": "Customizations.StacCollectionConfigurationClient.getAllRenderOptions", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.getAllRenderOptionsWithResponse": "Customizations.StacCollectionConfigurationClient.getAllRenderOptions", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.getCollectionConfig": "Customizations.StacCollectionConfigurationClient.getCollectionConfig", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.getCollectionConfigWithResponse": "Customizations.StacCollectionConfigurationClient.getCollectionConfig", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.getCollectionThumbnail": "Customizations.StacCollectionConfigurationClient.getCollectionThumbnail", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.getCollectionThumbnailWithResponse": "Customizations.StacCollectionConfigurationClient.getCollectionThumbnail", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.getMosaic": "Customizations.StacCollectionConfigurationClient.getMosaic", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.getMosaicWithResponse": "Customizations.StacCollectionConfigurationClient.getMosaic", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.getPartitionType": "Customizations.StacCollectionConfigurationClient.getPartitionType", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.getPartitionTypeWithResponse": "Customizations.StacCollectionConfigurationClient.getPartitionType", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.getRenderOption": "Customizations.StacCollectionConfigurationClient.getRenderOption", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.getRenderOptionWithResponse": "Customizations.StacCollectionConfigurationClient.getRenderOption", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.getTileSettings": "Customizations.StacCollectionConfigurationClient.getTileSettings", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.getTileSettingsWithResponse": "Customizations.StacCollectionConfigurationClient.getTileSettings", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.replacePartitionType": "Customizations.StacCollectionConfigurationClient.replacePartitionType", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.replacePartitionTypeWithResponse": "Customizations.StacCollectionConfigurationClient.replacePartitionType", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.replaceTileSettings": "Customizations.StacCollectionConfigurationClient.replaceTileSettings", + "com.azure.planetarycomputer.StacCollectionConfigurationClient.replaceTileSettingsWithResponse": "Customizations.StacCollectionConfigurationClient.replaceTileSettings", + "com.azure.planetarycomputer.StacCollectionConfigurationClientBuilder": "Customizations.StacCollectionConfigurationClient", + "com.azure.planetarycomputer.StacItemTilerAsyncClient": "Customizations.StacItemTilerClient", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.cropGeoJson": "Customizations.StacItemTilerClient.cropGeoJson", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.cropGeoJsonWithDimensions": "Customizations.StacItemTilerClient.cropGeoJsonWithDimensions", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.cropGeoJsonWithDimensionsWithResponse": "Customizations.StacItemTilerClient.cropGeoJsonWithDimensions", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.cropGeoJsonWithResponse": "Customizations.StacItemTilerClient.cropGeoJson", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getAssetStatistics": "Customizations.StacItemTilerClient.getAssetStatistics", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getAssetStatisticsWithResponse": "Customizations.StacItemTilerClient.getAssetStatistics", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getAvailableAssets": "Customizations.StacItemTilerClient.getAvailableAssets", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getAvailableAssetsWithResponse": "Customizations.StacItemTilerClient.getAvailableAssets", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getBounds": "Customizations.StacItemTilerClient.getBounds", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getBoundsWithResponse": "Customizations.StacItemTilerClient.getBounds", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getGeoJsonStatistics": "Customizations.StacItemTilerClient.getGeoJsonStatistics", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getGeoJsonStatisticsWithResponse": "Customizations.StacItemTilerClient.getGeoJsonStatistics", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getInfo": "Customizations.StacItemTilerClient.getInfo", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getInfoGeoJson": "Customizations.StacItemTilerClient.getInfoGeoJson", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getInfoGeoJsonWithResponse": "Customizations.StacItemTilerClient.getInfoGeoJson", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getInfoWithResponse": "Customizations.StacItemTilerClient.getInfo", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getPart": "Customizations.StacItemTilerClient.getPart", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getPartWithDimensions": "Customizations.StacItemTilerClient.getPartWithDimensions", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getPartWithDimensionsWithResponse": "Customizations.StacItemTilerClient.getPartWithDimensions", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getPartWithResponse": "Customizations.StacItemTilerClient.getPart", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getPoint": "Customizations.StacItemTilerClient.getPoint", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getPointWithResponse": "Customizations.StacItemTilerClient.getPoint", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getPreview": "Customizations.StacItemTilerClient.getPreview", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getPreviewWithFormat": "Customizations.StacItemTilerClient.getPreviewWithFormat", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getPreviewWithFormatWithResponse": "Customizations.StacItemTilerClient.getPreviewWithFormat", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getPreviewWithResponse": "Customizations.StacItemTilerClient.getPreview", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getStatistics": "Customizations.StacItemTilerClient.getStatistics", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getStatisticsWithResponse": "Customizations.StacItemTilerClient.getStatistics", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getTile": "Customizations.StacItemTilerClient.getTile", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getTileJson": "Customizations.StacItemTilerClient.getTileJson", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getTileJsonWithMatrixSet": "Customizations.StacItemTilerClient.getTileJsonWithMatrixSet", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getTileJsonWithMatrixSetWithResponse": "Customizations.StacItemTilerClient.getTileJsonWithMatrixSet", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getTileJsonWithResponse": "Customizations.StacItemTilerClient.getTileJson", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getTileWithMatrixSet": "Customizations.StacItemTilerClient.getTileWithMatrixSet", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getTileWithMatrixSetWithResponse": "Customizations.StacItemTilerClient.getTileWithMatrixSet", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getTileWithResponse": "Customizations.StacItemTilerClient.getTile", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getWmtsCapabilities": "Customizations.StacItemTilerClient.getWmtsCapabilities", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getWmtsCapabilitiesWithMatrixSet": "Customizations.StacItemTilerClient.getWmtsCapabilitiesWithMatrixSet", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getWmtsCapabilitiesWithMatrixSetWithResponse": "Customizations.StacItemTilerClient.getWmtsCapabilitiesWithMatrixSet", + "com.azure.planetarycomputer.StacItemTilerAsyncClient.getWmtsCapabilitiesWithResponse": "Customizations.StacItemTilerClient.getWmtsCapabilities", + "com.azure.planetarycomputer.StacItemTilerClient": "Customizations.StacItemTilerClient", + "com.azure.planetarycomputer.StacItemTilerClient.cropGeoJson": "Customizations.StacItemTilerClient.cropGeoJson", + "com.azure.planetarycomputer.StacItemTilerClient.cropGeoJsonWithDimensions": "Customizations.StacItemTilerClient.cropGeoJsonWithDimensions", + "com.azure.planetarycomputer.StacItemTilerClient.cropGeoJsonWithDimensionsWithResponse": "Customizations.StacItemTilerClient.cropGeoJsonWithDimensions", + "com.azure.planetarycomputer.StacItemTilerClient.cropGeoJsonWithResponse": "Customizations.StacItemTilerClient.cropGeoJson", + "com.azure.planetarycomputer.StacItemTilerClient.getAssetStatistics": "Customizations.StacItemTilerClient.getAssetStatistics", + "com.azure.planetarycomputer.StacItemTilerClient.getAssetStatisticsWithResponse": "Customizations.StacItemTilerClient.getAssetStatistics", + "com.azure.planetarycomputer.StacItemTilerClient.getAvailableAssets": "Customizations.StacItemTilerClient.getAvailableAssets", + "com.azure.planetarycomputer.StacItemTilerClient.getAvailableAssetsWithResponse": "Customizations.StacItemTilerClient.getAvailableAssets", + "com.azure.planetarycomputer.StacItemTilerClient.getBounds": "Customizations.StacItemTilerClient.getBounds", + "com.azure.planetarycomputer.StacItemTilerClient.getBoundsWithResponse": "Customizations.StacItemTilerClient.getBounds", + "com.azure.planetarycomputer.StacItemTilerClient.getGeoJsonStatistics": "Customizations.StacItemTilerClient.getGeoJsonStatistics", + "com.azure.planetarycomputer.StacItemTilerClient.getGeoJsonStatisticsWithResponse": "Customizations.StacItemTilerClient.getGeoJsonStatistics", + "com.azure.planetarycomputer.StacItemTilerClient.getInfo": "Customizations.StacItemTilerClient.getInfo", + "com.azure.planetarycomputer.StacItemTilerClient.getInfoGeoJson": "Customizations.StacItemTilerClient.getInfoGeoJson", + "com.azure.planetarycomputer.StacItemTilerClient.getInfoGeoJsonWithResponse": "Customizations.StacItemTilerClient.getInfoGeoJson", + "com.azure.planetarycomputer.StacItemTilerClient.getInfoWithResponse": "Customizations.StacItemTilerClient.getInfo", + "com.azure.planetarycomputer.StacItemTilerClient.getPart": "Customizations.StacItemTilerClient.getPart", + "com.azure.planetarycomputer.StacItemTilerClient.getPartWithDimensions": "Customizations.StacItemTilerClient.getPartWithDimensions", + "com.azure.planetarycomputer.StacItemTilerClient.getPartWithDimensionsWithResponse": "Customizations.StacItemTilerClient.getPartWithDimensions", + "com.azure.planetarycomputer.StacItemTilerClient.getPartWithResponse": "Customizations.StacItemTilerClient.getPart", + "com.azure.planetarycomputer.StacItemTilerClient.getPoint": "Customizations.StacItemTilerClient.getPoint", + "com.azure.planetarycomputer.StacItemTilerClient.getPointWithResponse": "Customizations.StacItemTilerClient.getPoint", + "com.azure.planetarycomputer.StacItemTilerClient.getPreview": "Customizations.StacItemTilerClient.getPreview", + "com.azure.planetarycomputer.StacItemTilerClient.getPreviewWithFormat": "Customizations.StacItemTilerClient.getPreviewWithFormat", + "com.azure.planetarycomputer.StacItemTilerClient.getPreviewWithFormatWithResponse": "Customizations.StacItemTilerClient.getPreviewWithFormat", + "com.azure.planetarycomputer.StacItemTilerClient.getPreviewWithResponse": "Customizations.StacItemTilerClient.getPreview", + "com.azure.planetarycomputer.StacItemTilerClient.getStatistics": "Customizations.StacItemTilerClient.getStatistics", + "com.azure.planetarycomputer.StacItemTilerClient.getStatisticsWithResponse": "Customizations.StacItemTilerClient.getStatistics", + "com.azure.planetarycomputer.StacItemTilerClient.getTile": "Customizations.StacItemTilerClient.getTile", + "com.azure.planetarycomputer.StacItemTilerClient.getTileJson": "Customizations.StacItemTilerClient.getTileJson", + "com.azure.planetarycomputer.StacItemTilerClient.getTileJsonWithMatrixSet": "Customizations.StacItemTilerClient.getTileJsonWithMatrixSet", + "com.azure.planetarycomputer.StacItemTilerClient.getTileJsonWithMatrixSetWithResponse": "Customizations.StacItemTilerClient.getTileJsonWithMatrixSet", + "com.azure.planetarycomputer.StacItemTilerClient.getTileJsonWithResponse": "Customizations.StacItemTilerClient.getTileJson", + "com.azure.planetarycomputer.StacItemTilerClient.getTileWithMatrixSet": "Customizations.StacItemTilerClient.getTileWithMatrixSet", + "com.azure.planetarycomputer.StacItemTilerClient.getTileWithMatrixSetWithResponse": "Customizations.StacItemTilerClient.getTileWithMatrixSet", + "com.azure.planetarycomputer.StacItemTilerClient.getTileWithResponse": "Customizations.StacItemTilerClient.getTile", + "com.azure.planetarycomputer.StacItemTilerClient.getWmtsCapabilities": "Customizations.StacItemTilerClient.getWmtsCapabilities", + "com.azure.planetarycomputer.StacItemTilerClient.getWmtsCapabilitiesWithMatrixSet": "Customizations.StacItemTilerClient.getWmtsCapabilitiesWithMatrixSet", + "com.azure.planetarycomputer.StacItemTilerClient.getWmtsCapabilitiesWithMatrixSetWithResponse": "Customizations.StacItemTilerClient.getWmtsCapabilitiesWithMatrixSet", + "com.azure.planetarycomputer.StacItemTilerClient.getWmtsCapabilitiesWithResponse": "Customizations.StacItemTilerClient.getWmtsCapabilities", + "com.azure.planetarycomputer.StacItemTilerClientBuilder": "Customizations.StacItemTilerClient", + "com.azure.planetarycomputer.TileMatrixSetsAsyncClient": "Customizations.TileMatrixSetsClient", + "com.azure.planetarycomputer.TileMatrixSetsAsyncClient.getTileMatrixDefinitions": "Customizations.TileMatrixSetsClient.getTileMatrixDefinitions", + "com.azure.planetarycomputer.TileMatrixSetsAsyncClient.getTileMatrixDefinitionsWithResponse": "Customizations.TileMatrixSetsClient.getTileMatrixDefinitions", + "com.azure.planetarycomputer.TileMatrixSetsAsyncClient.getTileMatrixList": "Customizations.TileMatrixSetsClient.getTileMatrixList", + "com.azure.planetarycomputer.TileMatrixSetsAsyncClient.getTileMatrixListWithResponse": "Customizations.TileMatrixSetsClient.getTileMatrixList", + "com.azure.planetarycomputer.TileMatrixSetsClient": "Customizations.TileMatrixSetsClient", + "com.azure.planetarycomputer.TileMatrixSetsClient.getTileMatrixDefinitions": "Customizations.TileMatrixSetsClient.getTileMatrixDefinitions", + "com.azure.planetarycomputer.TileMatrixSetsClient.getTileMatrixDefinitionsWithResponse": "Customizations.TileMatrixSetsClient.getTileMatrixDefinitions", + "com.azure.planetarycomputer.TileMatrixSetsClient.getTileMatrixList": "Customizations.TileMatrixSetsClient.getTileMatrixList", + "com.azure.planetarycomputer.TileMatrixSetsClient.getTileMatrixListWithResponse": "Customizations.TileMatrixSetsClient.getTileMatrixList", + "com.azure.planetarycomputer.TileMatrixSetsClientBuilder": "Customizations.TileMatrixSetsClient", + "com.azure.planetarycomputer.com.azure.planetarycomputer.ingestionruns.models.IngestionRun": "Microsoft.PlanetaryComputer.Ingestions.IngestionRuns.IngestionRun", + "com.azure.planetarycomputer.com.azure.planetarycomputer.ingestionruns.models.IngestionRunOperation": "Microsoft.PlanetaryComputer.Ingestions.IngestionRuns.IngestionRunOperation", + "com.azure.planetarycomputer.com.azure.planetarycomputer.ingestionruns.models.IngestionRunsPagedResponse": "Microsoft.PlanetaryComputer.Ingestions.IngestionRuns.IngestionRunsPagedResponse", + "com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionDefinition": "Microsoft.PlanetaryComputer.Ingestions.IngestionDefinition", + "com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionDefinitionsPagedResponse": "Microsoft.PlanetaryComputer.Ingestions.IngestionDefinitionsPagedResponse", + "com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionSource": "Microsoft.PlanetaryComputer.IngestionSources.IngestionSource", + "com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionSourceSummary": "Microsoft.PlanetaryComputer.IngestionSources.IngestionSourceSummary", + "com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionSourceType": "Microsoft.PlanetaryComputer.IngestionSources.IngestionSourceType", + "com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionSourcesPagedResponse": "Microsoft.PlanetaryComputer.IngestionSources.IngestionSourcesPagedResponse", + "com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionStatus": "Microsoft.PlanetaryComputer.Ingestions.IngestionStatus", + "com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionType": "Microsoft.PlanetaryComputer.Ingestions.IngestionType", + "com.azure.planetarycomputer.com.azure.planetarycomputer.models.ManagedIdentitiesPagedResponse": "Microsoft.PlanetaryComputer.IngestionSources.ManagedIdentitiesPagedResponse", + "com.azure.planetarycomputer.com.azure.planetarycomputer.models.ManagedIdentityConnection": "Microsoft.PlanetaryComputer.IngestionSources.ManagedIdentityConnection", + "com.azure.planetarycomputer.com.azure.planetarycomputer.models.ManagedIdentityIngestionSource": "Microsoft.PlanetaryComputer.IngestionSources.ManagedIdentityIngestionSource", + "com.azure.planetarycomputer.com.azure.planetarycomputer.models.ManagedIdentityMetadata": "Microsoft.PlanetaryComputer.IngestionSources.ManagedIdentityMetadata", + "com.azure.planetarycomputer.com.azure.planetarycomputer.models.SasTokenConnection": "Microsoft.PlanetaryComputer.IngestionSources.SasTokenConnection", + "com.azure.planetarycomputer.com.azure.planetarycomputer.models.SasTokenIngestionSource": "Microsoft.PlanetaryComputer.IngestionSources.SasTokenIngestionSource", + "com.azure.planetarycomputer.implementation.models.RegisterSearchRequest": "Customizations.registerSearch.Request.anonymous", + "com.azure.planetarycomputer.models.Algorithm": "Microsoft.PlanetaryComputer.Algorithm", + "com.azure.planetarycomputer.models.Asset": "Microsoft.PlanetaryComputer.Asset", + "com.azure.planetarycomputer.models.AssetMetadata": "Microsoft.PlanetaryComputer.AssetMetadata", + "com.azure.planetarycomputer.models.AssetStatisticsResponse": "Microsoft.PlanetaryComputer.AssetStatisticsResponse", + "com.azure.planetarycomputer.models.AuthConfig": "Microsoft.PlanetaryComputer.AuthConfig", + "com.azure.planetarycomputer.models.AzMapsClientId": "Microsoft.PlanetaryComputer.AzMapsClientId", + "com.azure.planetarycomputer.models.AzMapsToken": "Microsoft.PlanetaryComputer.AzMapsToken", + "com.azure.planetarycomputer.models.BandStatistics": "Microsoft.PlanetaryComputer.BandStatistics", + "com.azure.planetarycomputer.models.BoundsResponse": "Microsoft.PlanetaryComputer.BoundsResponse", + "com.azure.planetarycomputer.models.ClassmapLegendResponse": "ClassmapLegendResponse", + "com.azure.planetarycomputer.models.ColorMapNames": "Microsoft.PlanetaryComputer.ColorMapNames", + "com.azure.planetarycomputer.models.ConformanceClasses": "Microsoft.PlanetaryComputer.ConformanceClasses", + "com.azure.planetarycomputer.models.ContextExtension": "Microsoft.PlanetaryComputer.ContextExtension", + "com.azure.planetarycomputer.models.CqlFilter": "Microsoft.PlanetaryComputer.CqlFilter", + "com.azure.planetarycomputer.models.DefaultLocation": "Microsoft.PlanetaryComputer.DefaultLocation", + "com.azure.planetarycomputer.models.Extent": "Microsoft.PlanetaryComputer.Extent", + "com.azure.planetarycomputer.models.FeatureCollections": "Microsoft.PlanetaryComputer.FeatureCollections", + "com.azure.planetarycomputer.models.FeatureType": "FeatureType", + "com.azure.planetarycomputer.models.FileDetails": null, + "com.azure.planetarycomputer.models.FilterLang": "Microsoft.PlanetaryComputer.FilterLang", + "com.azure.planetarycomputer.models.FormContent": "Microsoft.PlanetaryComputer.FormContent", + "com.azure.planetarycomputer.models.GeoJsonStatisticsItemCollectionResponse": "Microsoft.PlanetaryComputer.GeoJsonStatisticsItemCollectionResponse", + "com.azure.planetarycomputer.models.GeoJsonStatisticsItemResponse": "Microsoft.PlanetaryComputer.GeoJsonStatisticsItemResponse", + "com.azure.planetarycomputer.models.Geometry": "Geometry", + "com.azure.planetarycomputer.models.GeometryType": "GeometryType", + "com.azure.planetarycomputer.models.ImageRequest": "Microsoft.PlanetaryComputer.ImageRequest", + "com.azure.planetarycomputer.models.ImageRequestFormat": "Microsoft.PlanetaryComputer.ImageRequestFormat", + "com.azure.planetarycomputer.models.ImageType": "Microsoft.PlanetaryComputer.ImageType", + "com.azure.planetarycomputer.models.InfoOperationResponse": "Microsoft.PlanetaryComputer.InfoOperationResponse", + "com.azure.planetarycomputer.models.ItemCollectionModel": "Microsoft.PlanetaryComputer.ItemCollectionModel", + "com.azure.planetarycomputer.models.ItemCollectionType": "Microsoft.PlanetaryComputer.ItemCollectionType", + "com.azure.planetarycomputer.models.ItemProperties": "Microsoft.PlanetaryComputer.ItemProperties", + "com.azure.planetarycomputer.models.JsonSchema": "Microsoft.PlanetaryComputer.JsonSchema", + "com.azure.planetarycomputer.models.LandingPage": "Microsoft.PlanetaryComputer.LandingPage", + "com.azure.planetarycomputer.models.LegendConfigType": "Microsoft.PlanetaryComputer.LegendConfigType", + "com.azure.planetarycomputer.models.LineString": "LineString", + "com.azure.planetarycomputer.models.Link": "Microsoft.PlanetaryComputer.Link", + "com.azure.planetarycomputer.models.LinkMethod": "Microsoft.PlanetaryComputer.Link.method.anonymous", + "com.azure.planetarycomputer.models.LinkType": "Microsoft.PlanetaryComputer.LinkType", + "com.azure.planetarycomputer.models.Metadata": "Microsoft.PlanetaryComputer.Metadata", + "com.azure.planetarycomputer.models.MetadataType": "Microsoft.PlanetaryComputer.MetadataType", + "com.azure.planetarycomputer.models.Mosaic": "Microsoft.PlanetaryComputer.Mosaic", + "com.azure.planetarycomputer.models.MosaicInfo": "Microsoft.PlanetaryComputer.MosaicInfo", + "com.azure.planetarycomputer.models.MultiLineString": "MultiLineString", + "com.azure.planetarycomputer.models.MultiPoint": "MultiPoint", + "com.azure.planetarycomputer.models.MultiPolygon": "MultiPolygon", + "com.azure.planetarycomputer.models.NoDataType": "Microsoft.PlanetaryComputer.NoDataType", + "com.azure.planetarycomputer.models.Operation": "Microsoft.PlanetaryComputer.Operation", + "com.azure.planetarycomputer.models.OperationStatus": "Microsoft.PlanetaryComputer.OperationStatus", + "com.azure.planetarycomputer.models.OperationStatusHistoryItem": "Microsoft.PlanetaryComputer.OperationStatusHistoryItem", + "com.azure.planetarycomputer.models.OperationsPagedResponse": "Microsoft.PlanetaryComputer.OperationsPagedResponse", + "com.azure.planetarycomputer.models.PartitionType": "Microsoft.PlanetaryComputer.PartitionType", + "com.azure.planetarycomputer.models.PartitionTypeScheme": "Microsoft.PlanetaryComputer.PartitionTypeScheme", + "com.azure.planetarycomputer.models.PgStacSearch": "Microsoft.PlanetaryComputer.PgStacSearch", + "com.azure.planetarycomputer.models.PixelSelection": "Microsoft.PlanetaryComputer.PixelSelection", + "com.azure.planetarycomputer.models.Point": "Point", + "com.azure.planetarycomputer.models.Polygon": "Polygon", + "com.azure.planetarycomputer.models.Provider": "Microsoft.PlanetaryComputer.Provider", + "com.azure.planetarycomputer.models.QueryableDefinition": "Microsoft.PlanetaryComputer.QueryableDefinition", + "com.azure.planetarycomputer.models.QueryableDefinitionDataType": "Microsoft.PlanetaryComputer.QueryableDefinitionDataType", + "com.azure.planetarycomputer.models.QueryableDefinitionType": "Microsoft.PlanetaryComputer.QueryableDefinitionType", + "com.azure.planetarycomputer.models.RegisterResponse": "Microsoft.PlanetaryComputer.RegisterResponse", + "com.azure.planetarycomputer.models.RegisterSearchOptions": null, + "com.azure.planetarycomputer.models.RenderOptionCondition": "Microsoft.PlanetaryComputer.RenderOptionCondition", + "com.azure.planetarycomputer.models.RenderOptionLegend": "Microsoft.PlanetaryComputer.RenderOptionLegend", + "com.azure.planetarycomputer.models.RenderOptionModel": "Microsoft.PlanetaryComputer.RenderOptionModel", + "com.azure.planetarycomputer.models.RenderOptionType": "Microsoft.PlanetaryComputer.RenderOptionType", + "com.azure.planetarycomputer.models.RenderOptionVectorOptions": "Microsoft.PlanetaryComputer.RenderOptionVectorOptions", + "com.azure.planetarycomputer.models.Resampling": "Microsoft.PlanetaryComputer.Resampling", + "com.azure.planetarycomputer.models.SasToken": "Microsoft.PlanetaryComputer.SasToken", + "com.azure.planetarycomputer.models.SearchPostRequest": "Microsoft.PlanetaryComputer.SearchPostRequest", + "com.azure.planetarycomputer.models.SearchPostRequestFields": "Microsoft.PlanetaryComputer.SearchPostRequestFields", + "com.azure.planetarycomputer.models.SignType": "Microsoft.PlanetaryComputer.SignType", + "com.azure.planetarycomputer.models.SortDirections": "Microsoft.PlanetaryComputer.SortDirections", + "com.azure.planetarycomputer.models.SortExtension": "Microsoft.PlanetaryComputer.SortExtension", + "com.azure.planetarycomputer.models.SpatialExtent": "Microsoft.PlanetaryComputer.SpatialExtent", + "com.azure.planetarycomputer.models.StacCollectionModel": "Microsoft.PlanetaryComputer.StacCollectionModel", + "com.azure.planetarycomputer.models.StacCollectionSummaries": "Microsoft.PlanetaryComputer.StacCollectionSummaries", + "com.azure.planetarycomputer.models.StacItemModel": "Microsoft.PlanetaryComputer.StacItemModel", + "com.azure.planetarycomputer.models.StacItemOrItemCollection": "Microsoft.PlanetaryComputer.StacItemOrItemCollection", + "com.azure.planetarycomputer.models.StacModelType": "Microsoft.PlanetaryComputer.StacModelType", + "com.azure.planetarycomputer.models.StacQuery": "Microsoft.PlanetaryComputer.StacQuery", + "com.azure.planetarycomputer.models.StatisticsResponse": "Microsoft.PlanetaryComputer.StatisticsResponse", + "com.azure.planetarycomputer.models.TileJsonResponse": "Microsoft.PlanetaryComputer.TileJsonResponse", + "com.azure.planetarycomputer.models.TileJsonScheme": "Microsoft.PlanetaryComputer.TileJsonScheme", + "com.azure.planetarycomputer.models.TileMatrix": "TileMatrix", + "com.azure.planetarycomputer.models.TileMatrixCornerOfOrigin": "TileMatrixCornerOfOrigin", + "com.azure.planetarycomputer.models.TileMatrixSet": "TileMatrixSet", + "com.azure.planetarycomputer.models.TileMatrixSetBoundingBox": "TileMatrixSetBoundingBox", + "com.azure.planetarycomputer.models.TileSettings": "Microsoft.PlanetaryComputer.TileSettings", + "com.azure.planetarycomputer.models.Tilematrixsetid": "Microsoft.PlanetaryComputer.Tilematrixsetid", + "com.azure.planetarycomputer.models.TilerInfo": "Microsoft.PlanetaryComputer.TilerInfo", + "com.azure.planetarycomputer.models.TilerInfoGeoJsonFeature": "Microsoft.PlanetaryComputer.TilerInfoGeoJsonFeature", + "com.azure.planetarycomputer.models.TimeInterval": "Microsoft.PlanetaryComputer.TimeInterval", + "com.azure.planetarycomputer.models.TitilerCoreModelsResponsesPoint": "Microsoft.PlanetaryComputer.TitilerCoreModelsResponsesPoint", + "com.azure.planetarycomputer.models.TitilerPgstacModelInfo": "Microsoft.PlanetaryComputer.TitilerPgstacModelInfo", + "com.azure.planetarycomputer.models.UnsignedLink": "Microsoft.PlanetaryComputer.UnsignedLink", + "com.azure.planetarycomputer.models.UserCollectionSettings": "Microsoft.PlanetaryComputer.UserCollectionSettings", + "com.azure.planetarycomputer.models.VariableMatrixWidth": "VariableMatrixWidth" + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/resources/META-INF/azure-planetarycomputer_metadata.json b/sdk/planetarycomputer/azure-planetarycomputer/src/main/resources/META-INF/azure-planetarycomputer_metadata.json new file mode 100644 index 000000000000..5b41b380466a --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/resources/META-INF/azure-planetarycomputer_metadata.json @@ -0,0 +1 @@ +{"flavor":"azure","apiVersion":"2025-04-30-preview","crossLanguageDefinitions":{"com.azure.planetarycomputer.GeocatalogAsyncClient":"Customizations.GeocatalogClient","com.azure.planetarycomputer.GeocatalogAsyncClient.getAuthConfig":"Customizations.GeocatalogClient.getAuthConfig","com.azure.planetarycomputer.GeocatalogAsyncClient.getAuthConfigWithResponse":"Customizations.GeocatalogClient.getAuthConfig","com.azure.planetarycomputer.GeocatalogAsyncClient.getAzmapsClientId":"Customizations.GeocatalogClient.getAzmapsClientId","com.azure.planetarycomputer.GeocatalogAsyncClient.getAzmapsClientIdWithResponse":"Customizations.GeocatalogClient.getAzmapsClientId","com.azure.planetarycomputer.GeocatalogAsyncClient.getAzmapsToken":"Customizations.GeocatalogClient.getAzmapsToken","com.azure.planetarycomputer.GeocatalogAsyncClient.getAzmapsTokenWithResponse":"Customizations.GeocatalogClient.getAzmapsToken","com.azure.planetarycomputer.GeocatalogClient":"Customizations.GeocatalogClient","com.azure.planetarycomputer.GeocatalogClient.getAuthConfig":"Customizations.GeocatalogClient.getAuthConfig","com.azure.planetarycomputer.GeocatalogClient.getAuthConfigWithResponse":"Customizations.GeocatalogClient.getAuthConfig","com.azure.planetarycomputer.GeocatalogClient.getAzmapsClientId":"Customizations.GeocatalogClient.getAzmapsClientId","com.azure.planetarycomputer.GeocatalogClient.getAzmapsClientIdWithResponse":"Customizations.GeocatalogClient.getAzmapsClientId","com.azure.planetarycomputer.GeocatalogClient.getAzmapsToken":"Customizations.GeocatalogClient.getAzmapsToken","com.azure.planetarycomputer.GeocatalogClient.getAzmapsTokenWithResponse":"Customizations.GeocatalogClient.getAzmapsToken","com.azure.planetarycomputer.GeocatalogClientBuilder":"Customizations.GeocatalogClient","com.azure.planetarycomputer.ImageExportsAsyncClient":"Customizations.ImageExportsClient","com.azure.planetarycomputer.ImageExportsAsyncClient.createStaticImage":"Customizations.ImageExportsClient.createStaticImage","com.azure.planetarycomputer.ImageExportsAsyncClient.createStaticImageWithResponse":"Customizations.ImageExportsClient.createStaticImage","com.azure.planetarycomputer.ImageExportsAsyncClient.getStaticImage":"Customizations.ImageExportsClient.getStaticImage","com.azure.planetarycomputer.ImageExportsAsyncClient.getStaticImageWithResponse":"Customizations.ImageExportsClient.getStaticImage","com.azure.planetarycomputer.ImageExportsClient":"Customizations.ImageExportsClient","com.azure.planetarycomputer.ImageExportsClient.createStaticImage":"Customizations.ImageExportsClient.createStaticImage","com.azure.planetarycomputer.ImageExportsClient.createStaticImageWithResponse":"Customizations.ImageExportsClient.createStaticImage","com.azure.planetarycomputer.ImageExportsClient.getStaticImage":"Customizations.ImageExportsClient.getStaticImage","com.azure.planetarycomputer.ImageExportsClient.getStaticImageWithResponse":"Customizations.ImageExportsClient.getStaticImage","com.azure.planetarycomputer.ImageExportsClientBuilder":"Customizations.ImageExportsClient","com.azure.planetarycomputer.IngestionManagementAsyncClient":"Customizations.IngestionManagementClient","com.azure.planetarycomputer.IngestionManagementAsyncClient.beginDeleteIngestion":"Customizations.IngestionManagementClient.deleteIngestion","com.azure.planetarycomputer.IngestionManagementAsyncClient.beginDeleteIngestionWithModel":"Customizations.IngestionManagementClient.deleteIngestion","com.azure.planetarycomputer.IngestionManagementAsyncClient.createIngestion":"Customizations.IngestionManagementClient.createIngestion","com.azure.planetarycomputer.IngestionManagementAsyncClient.createIngestionRun":"Customizations.IngestionManagementClient.createIngestionRun","com.azure.planetarycomputer.IngestionManagementAsyncClient.createIngestionRunWithResponse":"Customizations.IngestionManagementClient.createIngestionRun","com.azure.planetarycomputer.IngestionManagementAsyncClient.createIngestionWithResponse":"Customizations.IngestionManagementClient.createIngestion","com.azure.planetarycomputer.IngestionManagementAsyncClient.deleteAllIngestionOperations":"Customizations.IngestionManagementClient.deleteAllIngestionOperations","com.azure.planetarycomputer.IngestionManagementAsyncClient.deleteAllIngestionOperationsWithResponse":"Customizations.IngestionManagementClient.deleteAllIngestionOperations","com.azure.planetarycomputer.IngestionManagementAsyncClient.deleteIngestionOperation":"Customizations.IngestionManagementClient.deleteIngestionOperation","com.azure.planetarycomputer.IngestionManagementAsyncClient.deleteIngestionOperationWithResponse":"Customizations.IngestionManagementClient.deleteIngestionOperation","com.azure.planetarycomputer.IngestionManagementAsyncClient.getIngestion":"Customizations.IngestionManagementClient.getIngestion","com.azure.planetarycomputer.IngestionManagementAsyncClient.getIngestionOperation":"Customizations.IngestionManagementClient.getIngestionOperation","com.azure.planetarycomputer.IngestionManagementAsyncClient.getIngestionOperationWithResponse":"Customizations.IngestionManagementClient.getIngestionOperation","com.azure.planetarycomputer.IngestionManagementAsyncClient.getIngestionOperations":"Customizations.IngestionManagementClient.getIngestionOperations","com.azure.planetarycomputer.IngestionManagementAsyncClient.getIngestionOperationsWithResponse":"Customizations.IngestionManagementClient.getIngestionOperations","com.azure.planetarycomputer.IngestionManagementAsyncClient.getIngestionRun":"Customizations.IngestionManagementClient.getIngestionRun","com.azure.planetarycomputer.IngestionManagementAsyncClient.getIngestionRunWithResponse":"Customizations.IngestionManagementClient.getIngestionRun","com.azure.planetarycomputer.IngestionManagementAsyncClient.getIngestionRuns":"Customizations.IngestionManagementClient.getIngestionRuns","com.azure.planetarycomputer.IngestionManagementAsyncClient.getIngestionRunsWithResponse":"Customizations.IngestionManagementClient.getIngestionRuns","com.azure.planetarycomputer.IngestionManagementAsyncClient.getIngestionWithResponse":"Customizations.IngestionManagementClient.getIngestion","com.azure.planetarycomputer.IngestionManagementAsyncClient.getIngestions":"Customizations.IngestionManagementClient.getIngestions","com.azure.planetarycomputer.IngestionManagementAsyncClient.getIngestionsWithResponse":"Customizations.IngestionManagementClient.getIngestions","com.azure.planetarycomputer.IngestionManagementClient":"Customizations.IngestionManagementClient","com.azure.planetarycomputer.IngestionManagementClient.beginDeleteIngestion":"Customizations.IngestionManagementClient.deleteIngestion","com.azure.planetarycomputer.IngestionManagementClient.beginDeleteIngestionWithModel":"Customizations.IngestionManagementClient.deleteIngestion","com.azure.planetarycomputer.IngestionManagementClient.createIngestion":"Customizations.IngestionManagementClient.createIngestion","com.azure.planetarycomputer.IngestionManagementClient.createIngestionRun":"Customizations.IngestionManagementClient.createIngestionRun","com.azure.planetarycomputer.IngestionManagementClient.createIngestionRunWithResponse":"Customizations.IngestionManagementClient.createIngestionRun","com.azure.planetarycomputer.IngestionManagementClient.createIngestionWithResponse":"Customizations.IngestionManagementClient.createIngestion","com.azure.planetarycomputer.IngestionManagementClient.deleteAllIngestionOperations":"Customizations.IngestionManagementClient.deleteAllIngestionOperations","com.azure.planetarycomputer.IngestionManagementClient.deleteAllIngestionOperationsWithResponse":"Customizations.IngestionManagementClient.deleteAllIngestionOperations","com.azure.planetarycomputer.IngestionManagementClient.deleteIngestionOperation":"Customizations.IngestionManagementClient.deleteIngestionOperation","com.azure.planetarycomputer.IngestionManagementClient.deleteIngestionOperationWithResponse":"Customizations.IngestionManagementClient.deleteIngestionOperation","com.azure.planetarycomputer.IngestionManagementClient.getIngestion":"Customizations.IngestionManagementClient.getIngestion","com.azure.planetarycomputer.IngestionManagementClient.getIngestionOperation":"Customizations.IngestionManagementClient.getIngestionOperation","com.azure.planetarycomputer.IngestionManagementClient.getIngestionOperationWithResponse":"Customizations.IngestionManagementClient.getIngestionOperation","com.azure.planetarycomputer.IngestionManagementClient.getIngestionOperations":"Customizations.IngestionManagementClient.getIngestionOperations","com.azure.planetarycomputer.IngestionManagementClient.getIngestionOperationsWithResponse":"Customizations.IngestionManagementClient.getIngestionOperations","com.azure.planetarycomputer.IngestionManagementClient.getIngestionRun":"Customizations.IngestionManagementClient.getIngestionRun","com.azure.planetarycomputer.IngestionManagementClient.getIngestionRunWithResponse":"Customizations.IngestionManagementClient.getIngestionRun","com.azure.planetarycomputer.IngestionManagementClient.getIngestionRuns":"Customizations.IngestionManagementClient.getIngestionRuns","com.azure.planetarycomputer.IngestionManagementClient.getIngestionRunsWithResponse":"Customizations.IngestionManagementClient.getIngestionRuns","com.azure.planetarycomputer.IngestionManagementClient.getIngestionWithResponse":"Customizations.IngestionManagementClient.getIngestion","com.azure.planetarycomputer.IngestionManagementClient.getIngestions":"Customizations.IngestionManagementClient.getIngestions","com.azure.planetarycomputer.IngestionManagementClient.getIngestionsWithResponse":"Customizations.IngestionManagementClient.getIngestions","com.azure.planetarycomputer.IngestionManagementClientBuilder":"Customizations.IngestionManagementClient","com.azure.planetarycomputer.IngestionSourcesAsyncClient":"Customizations.IngestionSourcesClient","com.azure.planetarycomputer.IngestionSourcesAsyncClient.createIngestionSource":"Customizations.IngestionSourcesClient.createIngestionSource","com.azure.planetarycomputer.IngestionSourcesAsyncClient.createIngestionSourceWithResponse":"Customizations.IngestionSourcesClient.createIngestionSource","com.azure.planetarycomputer.IngestionSourcesAsyncClient.createOrReplaceIngestionSource":"Customizations.IngestionSourcesClient.createOrReplaceIngestionSource","com.azure.planetarycomputer.IngestionSourcesAsyncClient.createOrReplaceIngestionSourceWithResponse":"Customizations.IngestionSourcesClient.createOrReplaceIngestionSource","com.azure.planetarycomputer.IngestionSourcesAsyncClient.deleteIngestionSource":"Customizations.IngestionSourcesClient.deleteIngestionSource","com.azure.planetarycomputer.IngestionSourcesAsyncClient.deleteIngestionSourceWithResponse":"Customizations.IngestionSourcesClient.deleteIngestionSource","com.azure.planetarycomputer.IngestionSourcesAsyncClient.getIngestionSource":"Customizations.IngestionSourcesClient.getIngestionSource","com.azure.planetarycomputer.IngestionSourcesAsyncClient.getIngestionSourceWithResponse":"Customizations.IngestionSourcesClient.getIngestionSource","com.azure.planetarycomputer.IngestionSourcesAsyncClient.getIngestionSources":"Customizations.IngestionSourcesClient.getIngestionSources","com.azure.planetarycomputer.IngestionSourcesAsyncClient.getIngestionSourcesWithResponse":"Customizations.IngestionSourcesClient.getIngestionSources","com.azure.planetarycomputer.IngestionSourcesAsyncClient.getManagedIdentities":"Customizations.IngestionSourcesClient.getManagedIdentities","com.azure.planetarycomputer.IngestionSourcesAsyncClient.getManagedIdentitiesWithResponse":"Customizations.IngestionSourcesClient.getManagedIdentities","com.azure.planetarycomputer.IngestionSourcesClient":"Customizations.IngestionSourcesClient","com.azure.planetarycomputer.IngestionSourcesClient.createIngestionSource":"Customizations.IngestionSourcesClient.createIngestionSource","com.azure.planetarycomputer.IngestionSourcesClient.createIngestionSourceWithResponse":"Customizations.IngestionSourcesClient.createIngestionSource","com.azure.planetarycomputer.IngestionSourcesClient.createOrReplaceIngestionSource":"Customizations.IngestionSourcesClient.createOrReplaceIngestionSource","com.azure.planetarycomputer.IngestionSourcesClient.createOrReplaceIngestionSourceWithResponse":"Customizations.IngestionSourcesClient.createOrReplaceIngestionSource","com.azure.planetarycomputer.IngestionSourcesClient.deleteIngestionSource":"Customizations.IngestionSourcesClient.deleteIngestionSource","com.azure.planetarycomputer.IngestionSourcesClient.deleteIngestionSourceWithResponse":"Customizations.IngestionSourcesClient.deleteIngestionSource","com.azure.planetarycomputer.IngestionSourcesClient.getIngestionSource":"Customizations.IngestionSourcesClient.getIngestionSource","com.azure.planetarycomputer.IngestionSourcesClient.getIngestionSourceWithResponse":"Customizations.IngestionSourcesClient.getIngestionSource","com.azure.planetarycomputer.IngestionSourcesClient.getIngestionSources":"Customizations.IngestionSourcesClient.getIngestionSources","com.azure.planetarycomputer.IngestionSourcesClient.getIngestionSourcesWithResponse":"Customizations.IngestionSourcesClient.getIngestionSources","com.azure.planetarycomputer.IngestionSourcesClient.getManagedIdentities":"Customizations.IngestionSourcesClient.getManagedIdentities","com.azure.planetarycomputer.IngestionSourcesClient.getManagedIdentitiesWithResponse":"Customizations.IngestionSourcesClient.getManagedIdentities","com.azure.planetarycomputer.IngestionSourcesClientBuilder":"Customizations.IngestionSourcesClient","com.azure.planetarycomputer.MapLegendsAsyncClient":"Customizations.MapLegendsClient","com.azure.planetarycomputer.MapLegendsAsyncClient.getClassmapLegend":"Customizations.MapLegendsClient.getClassmapLegend","com.azure.planetarycomputer.MapLegendsAsyncClient.getClassmapLegendWithResponse":"Customizations.MapLegendsClient.getClassmapLegend","com.azure.planetarycomputer.MapLegendsAsyncClient.getIntervalLegend":"Customizations.MapLegendsClient.getIntervalLegend","com.azure.planetarycomputer.MapLegendsAsyncClient.getIntervalLegendWithResponse":"Customizations.MapLegendsClient.getIntervalLegend","com.azure.planetarycomputer.MapLegendsAsyncClient.getLegend":"Customizations.MapLegendsClient.getLegend","com.azure.planetarycomputer.MapLegendsAsyncClient.getLegendWithResponse":"Customizations.MapLegendsClient.getLegend","com.azure.planetarycomputer.MapLegendsClient":"Customizations.MapLegendsClient","com.azure.planetarycomputer.MapLegendsClient.getClassmapLegend":"Customizations.MapLegendsClient.getClassmapLegend","com.azure.planetarycomputer.MapLegendsClient.getClassmapLegendWithResponse":"Customizations.MapLegendsClient.getClassmapLegend","com.azure.planetarycomputer.MapLegendsClient.getIntervalLegend":"Customizations.MapLegendsClient.getIntervalLegend","com.azure.planetarycomputer.MapLegendsClient.getIntervalLegendWithResponse":"Customizations.MapLegendsClient.getIntervalLegend","com.azure.planetarycomputer.MapLegendsClient.getLegend":"Customizations.MapLegendsClient.getLegend","com.azure.planetarycomputer.MapLegendsClient.getLegendWithResponse":"Customizations.MapLegendsClient.getLegend","com.azure.planetarycomputer.MapLegendsClientBuilder":"Customizations.MapLegendsClient","com.azure.planetarycomputer.MosaicTilerAsyncClient":"Customizations.MosaicTilerClient","com.azure.planetarycomputer.MosaicTilerAsyncClient.getAssetsForPoint":"Customizations.MosaicTilerClient.getAssetsForPoint","com.azure.planetarycomputer.MosaicTilerAsyncClient.getAssetsForPointWithResponse":"Customizations.MosaicTilerClient.getAssetsForPoint","com.azure.planetarycomputer.MosaicTilerAsyncClient.getAssetsForTile":"Customizations.MosaicTilerClient.getAssetsForTile","com.azure.planetarycomputer.MosaicTilerAsyncClient.getAssetsForTileWithMatrixSet":"Customizations.MosaicTilerClient.getAssetsForTileWithMatrixSet","com.azure.planetarycomputer.MosaicTilerAsyncClient.getAssetsForTileWithMatrixSetWithResponse":"Customizations.MosaicTilerClient.getAssetsForTileWithMatrixSet","com.azure.planetarycomputer.MosaicTilerAsyncClient.getAssetsForTileWithResponse":"Customizations.MosaicTilerClient.getAssetsForTile","com.azure.planetarycomputer.MosaicTilerAsyncClient.getSearchInfo":"Customizations.MosaicTilerClient.getSearchInfo","com.azure.planetarycomputer.MosaicTilerAsyncClient.getSearchInfoWithResponse":"Customizations.MosaicTilerClient.getSearchInfo","com.azure.planetarycomputer.MosaicTilerAsyncClient.getTile":"Customizations.MosaicTilerClient.getTile","com.azure.planetarycomputer.MosaicTilerAsyncClient.getTileJson":"Customizations.MosaicTilerClient.getTileJson","com.azure.planetarycomputer.MosaicTilerAsyncClient.getTileJsonWithMatrixSet":"Customizations.MosaicTilerClient.getTileJsonWithMatrixSet","com.azure.planetarycomputer.MosaicTilerAsyncClient.getTileJsonWithMatrixSetWithResponse":"Customizations.MosaicTilerClient.getTileJsonWithMatrixSet","com.azure.planetarycomputer.MosaicTilerAsyncClient.getTileJsonWithResponse":"Customizations.MosaicTilerClient.getTileJson","com.azure.planetarycomputer.MosaicTilerAsyncClient.getTileWithMatrixSet":"Customizations.MosaicTilerClient.getTileWithMatrixSet","com.azure.planetarycomputer.MosaicTilerAsyncClient.getTileWithMatrixSetWithResponse":"Customizations.MosaicTilerClient.getTileWithMatrixSet","com.azure.planetarycomputer.MosaicTilerAsyncClient.getTileWithResponse":"Customizations.MosaicTilerClient.getTile","com.azure.planetarycomputer.MosaicTilerAsyncClient.getWmtsCapabilities":"Customizations.MosaicTilerClient.getWmtsCapabilities","com.azure.planetarycomputer.MosaicTilerAsyncClient.getWmtsCapabilitiesWithMatrixSet":"Customizations.MosaicTilerClient.getWmtsCapabilitiesWithMatrixSet","com.azure.planetarycomputer.MosaicTilerAsyncClient.getWmtsCapabilitiesWithMatrixSetWithResponse":"Customizations.MosaicTilerClient.getWmtsCapabilitiesWithMatrixSet","com.azure.planetarycomputer.MosaicTilerAsyncClient.getWmtsCapabilitiesWithResponse":"Customizations.MosaicTilerClient.getWmtsCapabilities","com.azure.planetarycomputer.MosaicTilerAsyncClient.registerSearch":"Customizations.MosaicTilerClient.registerSearch","com.azure.planetarycomputer.MosaicTilerAsyncClient.registerSearchWithResponse":"Customizations.MosaicTilerClient.registerSearch","com.azure.planetarycomputer.MosaicTilerClient":"Customizations.MosaicTilerClient","com.azure.planetarycomputer.MosaicTilerClient.getAssetsForPoint":"Customizations.MosaicTilerClient.getAssetsForPoint","com.azure.planetarycomputer.MosaicTilerClient.getAssetsForPointWithResponse":"Customizations.MosaicTilerClient.getAssetsForPoint","com.azure.planetarycomputer.MosaicTilerClient.getAssetsForTile":"Customizations.MosaicTilerClient.getAssetsForTile","com.azure.planetarycomputer.MosaicTilerClient.getAssetsForTileWithMatrixSet":"Customizations.MosaicTilerClient.getAssetsForTileWithMatrixSet","com.azure.planetarycomputer.MosaicTilerClient.getAssetsForTileWithMatrixSetWithResponse":"Customizations.MosaicTilerClient.getAssetsForTileWithMatrixSet","com.azure.planetarycomputer.MosaicTilerClient.getAssetsForTileWithResponse":"Customizations.MosaicTilerClient.getAssetsForTile","com.azure.planetarycomputer.MosaicTilerClient.getSearchInfo":"Customizations.MosaicTilerClient.getSearchInfo","com.azure.planetarycomputer.MosaicTilerClient.getSearchInfoWithResponse":"Customizations.MosaicTilerClient.getSearchInfo","com.azure.planetarycomputer.MosaicTilerClient.getTile":"Customizations.MosaicTilerClient.getTile","com.azure.planetarycomputer.MosaicTilerClient.getTileJson":"Customizations.MosaicTilerClient.getTileJson","com.azure.planetarycomputer.MosaicTilerClient.getTileJsonWithMatrixSet":"Customizations.MosaicTilerClient.getTileJsonWithMatrixSet","com.azure.planetarycomputer.MosaicTilerClient.getTileJsonWithMatrixSetWithResponse":"Customizations.MosaicTilerClient.getTileJsonWithMatrixSet","com.azure.planetarycomputer.MosaicTilerClient.getTileJsonWithResponse":"Customizations.MosaicTilerClient.getTileJson","com.azure.planetarycomputer.MosaicTilerClient.getTileWithMatrixSet":"Customizations.MosaicTilerClient.getTileWithMatrixSet","com.azure.planetarycomputer.MosaicTilerClient.getTileWithMatrixSetWithResponse":"Customizations.MosaicTilerClient.getTileWithMatrixSet","com.azure.planetarycomputer.MosaicTilerClient.getTileWithResponse":"Customizations.MosaicTilerClient.getTile","com.azure.planetarycomputer.MosaicTilerClient.getWmtsCapabilities":"Customizations.MosaicTilerClient.getWmtsCapabilities","com.azure.planetarycomputer.MosaicTilerClient.getWmtsCapabilitiesWithMatrixSet":"Customizations.MosaicTilerClient.getWmtsCapabilitiesWithMatrixSet","com.azure.planetarycomputer.MosaicTilerClient.getWmtsCapabilitiesWithMatrixSetWithResponse":"Customizations.MosaicTilerClient.getWmtsCapabilitiesWithMatrixSet","com.azure.planetarycomputer.MosaicTilerClient.getWmtsCapabilitiesWithResponse":"Customizations.MosaicTilerClient.getWmtsCapabilities","com.azure.planetarycomputer.MosaicTilerClient.registerSearch":"Customizations.MosaicTilerClient.registerSearch","com.azure.planetarycomputer.MosaicTilerClient.registerSearchWithResponse":"Customizations.MosaicTilerClient.registerSearch","com.azure.planetarycomputer.MosaicTilerClientBuilder":"Customizations.MosaicTilerClient","com.azure.planetarycomputer.SharedAccessSignatureAsyncClient":"Customizations.SharedAccessSignatureClient","com.azure.planetarycomputer.SharedAccessSignatureAsyncClient.getSign":"Customizations.SharedAccessSignatureClient.getSign","com.azure.planetarycomputer.SharedAccessSignatureAsyncClient.getSignWithResponse":"Customizations.SharedAccessSignatureClient.getSign","com.azure.planetarycomputer.SharedAccessSignatureAsyncClient.getToken":"Customizations.SharedAccessSignatureClient.getToken","com.azure.planetarycomputer.SharedAccessSignatureAsyncClient.getTokenWithResponse":"Customizations.SharedAccessSignatureClient.getToken","com.azure.planetarycomputer.SharedAccessSignatureAsyncClient.revokeToken":"Customizations.SharedAccessSignatureClient.revokeToken","com.azure.planetarycomputer.SharedAccessSignatureAsyncClient.revokeTokenWithResponse":"Customizations.SharedAccessSignatureClient.revokeToken","com.azure.planetarycomputer.SharedAccessSignatureClient":"Customizations.SharedAccessSignatureClient","com.azure.planetarycomputer.SharedAccessSignatureClient.getSign":"Customizations.SharedAccessSignatureClient.getSign","com.azure.planetarycomputer.SharedAccessSignatureClient.getSignWithResponse":"Customizations.SharedAccessSignatureClient.getSign","com.azure.planetarycomputer.SharedAccessSignatureClient.getToken":"Customizations.SharedAccessSignatureClient.getToken","com.azure.planetarycomputer.SharedAccessSignatureClient.getTokenWithResponse":"Customizations.SharedAccessSignatureClient.getToken","com.azure.planetarycomputer.SharedAccessSignatureClient.revokeToken":"Customizations.SharedAccessSignatureClient.revokeToken","com.azure.planetarycomputer.SharedAccessSignatureClient.revokeTokenWithResponse":"Customizations.SharedAccessSignatureClient.revokeToken","com.azure.planetarycomputer.SharedAccessSignatureClientBuilder":"Customizations.SharedAccessSignatureClient","com.azure.planetarycomputer.StacApiAsyncClient":"Customizations.StacApiClient","com.azure.planetarycomputer.StacApiAsyncClient.beginCreateCollection":"Customizations.StacApiClient.createCollection","com.azure.planetarycomputer.StacApiAsyncClient.beginCreateCollectionWithModel":"Customizations.StacApiClient.createCollection","com.azure.planetarycomputer.StacApiAsyncClient.beginCreateItem":"Customizations.StacApiClient.createItem","com.azure.planetarycomputer.StacApiAsyncClient.beginCreateItemWithModel":"Customizations.StacApiClient.createItem","com.azure.planetarycomputer.StacApiAsyncClient.beginCreateOrReplaceCollection":"Customizations.StacApiClient.createOrReplaceCollection","com.azure.planetarycomputer.StacApiAsyncClient.beginCreateOrReplaceCollectionWithModel":"Customizations.StacApiClient.createOrReplaceCollection","com.azure.planetarycomputer.StacApiAsyncClient.beginCreateOrReplaceItem":"Customizations.StacApiClient.createOrReplaceItem","com.azure.planetarycomputer.StacApiAsyncClient.beginCreateOrReplaceItemWithModel":"Customizations.StacApiClient.createOrReplaceItem","com.azure.planetarycomputer.StacApiAsyncClient.beginDeleteCollection":"Customizations.StacApiClient.deleteCollection","com.azure.planetarycomputer.StacApiAsyncClient.beginDeleteCollectionWithModel":"Customizations.StacApiClient.deleteCollection","com.azure.planetarycomputer.StacApiAsyncClient.beginDeleteItem":"Customizations.StacApiClient.deleteItem","com.azure.planetarycomputer.StacApiAsyncClient.beginDeleteItemWithModel":"Customizations.StacApiClient.deleteItem","com.azure.planetarycomputer.StacApiAsyncClient.createQueryables":"Customizations.StacApiClient.createQueryables","com.azure.planetarycomputer.StacApiAsyncClient.createQueryablesWithResponse":"Customizations.StacApiClient.createQueryables","com.azure.planetarycomputer.StacApiAsyncClient.createSearchOperations":"Customizations.StacApiClient.createSearchOperations","com.azure.planetarycomputer.StacApiAsyncClient.createSearchOperationsWithResponse":"Customizations.StacApiClient.createSearchOperations","com.azure.planetarycomputer.StacApiAsyncClient.getAllCollections":"Customizations.StacApiClient.getAllCollections","com.azure.planetarycomputer.StacApiAsyncClient.getAllCollectionsWithResponse":"Customizations.StacApiClient.getAllCollections","com.azure.planetarycomputer.StacApiAsyncClient.getAllQueryables":"Customizations.StacApiClient.getAllQueryables","com.azure.planetarycomputer.StacApiAsyncClient.getAllQueryablesByCollection":"Customizations.StacApiClient.getAllQueryablesByCollection","com.azure.planetarycomputer.StacApiAsyncClient.getAllQueryablesByCollectionWithResponse":"Customizations.StacApiClient.getAllQueryablesByCollection","com.azure.planetarycomputer.StacApiAsyncClient.getAllQueryablesWithResponse":"Customizations.StacApiClient.getAllQueryables","com.azure.planetarycomputer.StacApiAsyncClient.getCollection":"Customizations.StacApiClient.getCollection","com.azure.planetarycomputer.StacApiAsyncClient.getCollectionWithResponse":"Customizations.StacApiClient.getCollection","com.azure.planetarycomputer.StacApiAsyncClient.getConformanceClass":"Customizations.StacApiClient.getConformanceClass","com.azure.planetarycomputer.StacApiAsyncClient.getConformanceClassWithResponse":"Customizations.StacApiClient.getConformanceClass","com.azure.planetarycomputer.StacApiAsyncClient.getItem":"Customizations.StacApiClient.getItem","com.azure.planetarycomputer.StacApiAsyncClient.getItemWithResponse":"Customizations.StacApiClient.getItem","com.azure.planetarycomputer.StacApiAsyncClient.getItemsAsFeatures":"Customizations.StacApiClient.getItemsAsFeatures","com.azure.planetarycomputer.StacApiAsyncClient.getItemsAsFeaturesWithResponse":"Customizations.StacApiClient.getItemsAsFeatures","com.azure.planetarycomputer.StacApiAsyncClient.getSearchOperations":"Customizations.StacApiClient.getSearchOperations","com.azure.planetarycomputer.StacApiAsyncClient.getSearchOperationsWithResponse":"Customizations.StacApiClient.getSearchOperations","com.azure.planetarycomputer.StacApiAsyncClient.getStacLandingPage":"Customizations.StacApiClient.getStacLandingPage","com.azure.planetarycomputer.StacApiAsyncClient.getStacLandingPageWithResponse":"Customizations.StacApiClient.getStacLandingPage","com.azure.planetarycomputer.StacApiClient":"Customizations.StacApiClient","com.azure.planetarycomputer.StacApiClient.beginCreateCollection":"Customizations.StacApiClient.createCollection","com.azure.planetarycomputer.StacApiClient.beginCreateCollectionWithModel":"Customizations.StacApiClient.createCollection","com.azure.planetarycomputer.StacApiClient.beginCreateItem":"Customizations.StacApiClient.createItem","com.azure.planetarycomputer.StacApiClient.beginCreateItemWithModel":"Customizations.StacApiClient.createItem","com.azure.planetarycomputer.StacApiClient.beginCreateOrReplaceCollection":"Customizations.StacApiClient.createOrReplaceCollection","com.azure.planetarycomputer.StacApiClient.beginCreateOrReplaceCollectionWithModel":"Customizations.StacApiClient.createOrReplaceCollection","com.azure.planetarycomputer.StacApiClient.beginCreateOrReplaceItem":"Customizations.StacApiClient.createOrReplaceItem","com.azure.planetarycomputer.StacApiClient.beginCreateOrReplaceItemWithModel":"Customizations.StacApiClient.createOrReplaceItem","com.azure.planetarycomputer.StacApiClient.beginDeleteCollection":"Customizations.StacApiClient.deleteCollection","com.azure.planetarycomputer.StacApiClient.beginDeleteCollectionWithModel":"Customizations.StacApiClient.deleteCollection","com.azure.planetarycomputer.StacApiClient.beginDeleteItem":"Customizations.StacApiClient.deleteItem","com.azure.planetarycomputer.StacApiClient.beginDeleteItemWithModel":"Customizations.StacApiClient.deleteItem","com.azure.planetarycomputer.StacApiClient.createQueryables":"Customizations.StacApiClient.createQueryables","com.azure.planetarycomputer.StacApiClient.createQueryablesWithResponse":"Customizations.StacApiClient.createQueryables","com.azure.planetarycomputer.StacApiClient.createSearchOperations":"Customizations.StacApiClient.createSearchOperations","com.azure.planetarycomputer.StacApiClient.createSearchOperationsWithResponse":"Customizations.StacApiClient.createSearchOperations","com.azure.planetarycomputer.StacApiClient.getAllCollections":"Customizations.StacApiClient.getAllCollections","com.azure.planetarycomputer.StacApiClient.getAllCollectionsWithResponse":"Customizations.StacApiClient.getAllCollections","com.azure.planetarycomputer.StacApiClient.getAllQueryables":"Customizations.StacApiClient.getAllQueryables","com.azure.planetarycomputer.StacApiClient.getAllQueryablesByCollection":"Customizations.StacApiClient.getAllQueryablesByCollection","com.azure.planetarycomputer.StacApiClient.getAllQueryablesByCollectionWithResponse":"Customizations.StacApiClient.getAllQueryablesByCollection","com.azure.planetarycomputer.StacApiClient.getAllQueryablesWithResponse":"Customizations.StacApiClient.getAllQueryables","com.azure.planetarycomputer.StacApiClient.getCollection":"Customizations.StacApiClient.getCollection","com.azure.planetarycomputer.StacApiClient.getCollectionWithResponse":"Customizations.StacApiClient.getCollection","com.azure.planetarycomputer.StacApiClient.getConformanceClass":"Customizations.StacApiClient.getConformanceClass","com.azure.planetarycomputer.StacApiClient.getConformanceClassWithResponse":"Customizations.StacApiClient.getConformanceClass","com.azure.planetarycomputer.StacApiClient.getItem":"Customizations.StacApiClient.getItem","com.azure.planetarycomputer.StacApiClient.getItemWithResponse":"Customizations.StacApiClient.getItem","com.azure.planetarycomputer.StacApiClient.getItemsAsFeatures":"Customizations.StacApiClient.getItemsAsFeatures","com.azure.planetarycomputer.StacApiClient.getItemsAsFeaturesWithResponse":"Customizations.StacApiClient.getItemsAsFeatures","com.azure.planetarycomputer.StacApiClient.getSearchOperations":"Customizations.StacApiClient.getSearchOperations","com.azure.planetarycomputer.StacApiClient.getSearchOperationsWithResponse":"Customizations.StacApiClient.getSearchOperations","com.azure.planetarycomputer.StacApiClient.getStacLandingPage":"Customizations.StacApiClient.getStacLandingPage","com.azure.planetarycomputer.StacApiClient.getStacLandingPageWithResponse":"Customizations.StacApiClient.getStacLandingPage","com.azure.planetarycomputer.StacApiClientBuilder":"Customizations.StacApiClient","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient":"Customizations.StacCollectionConfigurationClient","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.addMosaic":"Customizations.StacCollectionConfigurationClient.addMosaic","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.addMosaicWithResponse":"Customizations.StacCollectionConfigurationClient.addMosaic","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.createCollectionAsset":"Customizations.StacCollectionConfigurationClient.createCollectionAsset","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.createCollectionAssetWithResponse":"Customizations.StacCollectionConfigurationClient.createCollectionAsset","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.createOrReplaceCollectionAsset":"Customizations.StacCollectionConfigurationClient.createOrReplaceCollectionAsset","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.createOrReplaceCollectionAssetWithResponse":"Customizations.StacCollectionConfigurationClient.createOrReplaceCollectionAsset","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.createOrReplaceMosaic":"Customizations.StacCollectionConfigurationClient.createOrReplaceMosaic","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.createOrReplaceMosaicWithResponse":"Customizations.StacCollectionConfigurationClient.createOrReplaceMosaic","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.createOrReplaceQueryable":"Customizations.StacCollectionConfigurationClient.createOrReplaceQueryable","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.createOrReplaceQueryableWithResponse":"Customizations.StacCollectionConfigurationClient.createOrReplaceQueryable","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.createOrReplaceRenderOption":"Customizations.StacCollectionConfigurationClient.createOrReplaceRenderOption","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.createOrReplaceRenderOptionWithResponse":"Customizations.StacCollectionConfigurationClient.createOrReplaceRenderOption","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.createRenderOption":"Customizations.StacCollectionConfigurationClient.createRenderOption","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.createRenderOptionWithResponse":"Customizations.StacCollectionConfigurationClient.createRenderOption","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.deleteCollectionAsset":"Customizations.StacCollectionConfigurationClient.deleteCollectionAsset","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.deleteCollectionAssetWithResponse":"Customizations.StacCollectionConfigurationClient.deleteCollectionAsset","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.deleteMosaic":"Customizations.StacCollectionConfigurationClient.deleteMosaic","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.deleteMosaicWithResponse":"Customizations.StacCollectionConfigurationClient.deleteMosaic","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.deleteQueryable":"Customizations.StacCollectionConfigurationClient.deleteQueryable","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.deleteQueryableWithResponse":"Customizations.StacCollectionConfigurationClient.deleteQueryable","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.deleteRenderOption":"Customizations.StacCollectionConfigurationClient.deleteRenderOption","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.deleteRenderOptionWithResponse":"Customizations.StacCollectionConfigurationClient.deleteRenderOption","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getAllMosaics":"Customizations.StacCollectionConfigurationClient.getAllMosaics","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getAllMosaicsWithResponse":"Customizations.StacCollectionConfigurationClient.getAllMosaics","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getAllRenderOptions":"Customizations.StacCollectionConfigurationClient.getAllRenderOptions","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getAllRenderOptionsWithResponse":"Customizations.StacCollectionConfigurationClient.getAllRenderOptions","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getCollectionConfig":"Customizations.StacCollectionConfigurationClient.getCollectionConfig","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getCollectionConfigWithResponse":"Customizations.StacCollectionConfigurationClient.getCollectionConfig","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getCollectionThumbnail":"Customizations.StacCollectionConfigurationClient.getCollectionThumbnail","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getCollectionThumbnailWithResponse":"Customizations.StacCollectionConfigurationClient.getCollectionThumbnail","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getMosaic":"Customizations.StacCollectionConfigurationClient.getMosaic","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getMosaicWithResponse":"Customizations.StacCollectionConfigurationClient.getMosaic","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getPartitionType":"Customizations.StacCollectionConfigurationClient.getPartitionType","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getPartitionTypeWithResponse":"Customizations.StacCollectionConfigurationClient.getPartitionType","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getRenderOption":"Customizations.StacCollectionConfigurationClient.getRenderOption","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getRenderOptionWithResponse":"Customizations.StacCollectionConfigurationClient.getRenderOption","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getTileSettings":"Customizations.StacCollectionConfigurationClient.getTileSettings","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.getTileSettingsWithResponse":"Customizations.StacCollectionConfigurationClient.getTileSettings","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.replacePartitionType":"Customizations.StacCollectionConfigurationClient.replacePartitionType","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.replacePartitionTypeWithResponse":"Customizations.StacCollectionConfigurationClient.replacePartitionType","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.replaceTileSettings":"Customizations.StacCollectionConfigurationClient.replaceTileSettings","com.azure.planetarycomputer.StacCollectionConfigurationAsyncClient.replaceTileSettingsWithResponse":"Customizations.StacCollectionConfigurationClient.replaceTileSettings","com.azure.planetarycomputer.StacCollectionConfigurationClient":"Customizations.StacCollectionConfigurationClient","com.azure.planetarycomputer.StacCollectionConfigurationClient.addMosaic":"Customizations.StacCollectionConfigurationClient.addMosaic","com.azure.planetarycomputer.StacCollectionConfigurationClient.addMosaicWithResponse":"Customizations.StacCollectionConfigurationClient.addMosaic","com.azure.planetarycomputer.StacCollectionConfigurationClient.createCollectionAsset":"Customizations.StacCollectionConfigurationClient.createCollectionAsset","com.azure.planetarycomputer.StacCollectionConfigurationClient.createCollectionAssetWithResponse":"Customizations.StacCollectionConfigurationClient.createCollectionAsset","com.azure.planetarycomputer.StacCollectionConfigurationClient.createOrReplaceCollectionAsset":"Customizations.StacCollectionConfigurationClient.createOrReplaceCollectionAsset","com.azure.planetarycomputer.StacCollectionConfigurationClient.createOrReplaceCollectionAssetWithResponse":"Customizations.StacCollectionConfigurationClient.createOrReplaceCollectionAsset","com.azure.planetarycomputer.StacCollectionConfigurationClient.createOrReplaceMosaic":"Customizations.StacCollectionConfigurationClient.createOrReplaceMosaic","com.azure.planetarycomputer.StacCollectionConfigurationClient.createOrReplaceMosaicWithResponse":"Customizations.StacCollectionConfigurationClient.createOrReplaceMosaic","com.azure.planetarycomputer.StacCollectionConfigurationClient.createOrReplaceQueryable":"Customizations.StacCollectionConfigurationClient.createOrReplaceQueryable","com.azure.planetarycomputer.StacCollectionConfigurationClient.createOrReplaceQueryableWithResponse":"Customizations.StacCollectionConfigurationClient.createOrReplaceQueryable","com.azure.planetarycomputer.StacCollectionConfigurationClient.createOrReplaceRenderOption":"Customizations.StacCollectionConfigurationClient.createOrReplaceRenderOption","com.azure.planetarycomputer.StacCollectionConfigurationClient.createOrReplaceRenderOptionWithResponse":"Customizations.StacCollectionConfigurationClient.createOrReplaceRenderOption","com.azure.planetarycomputer.StacCollectionConfigurationClient.createRenderOption":"Customizations.StacCollectionConfigurationClient.createRenderOption","com.azure.planetarycomputer.StacCollectionConfigurationClient.createRenderOptionWithResponse":"Customizations.StacCollectionConfigurationClient.createRenderOption","com.azure.planetarycomputer.StacCollectionConfigurationClient.deleteCollectionAsset":"Customizations.StacCollectionConfigurationClient.deleteCollectionAsset","com.azure.planetarycomputer.StacCollectionConfigurationClient.deleteCollectionAssetWithResponse":"Customizations.StacCollectionConfigurationClient.deleteCollectionAsset","com.azure.planetarycomputer.StacCollectionConfigurationClient.deleteMosaic":"Customizations.StacCollectionConfigurationClient.deleteMosaic","com.azure.planetarycomputer.StacCollectionConfigurationClient.deleteMosaicWithResponse":"Customizations.StacCollectionConfigurationClient.deleteMosaic","com.azure.planetarycomputer.StacCollectionConfigurationClient.deleteQueryable":"Customizations.StacCollectionConfigurationClient.deleteQueryable","com.azure.planetarycomputer.StacCollectionConfigurationClient.deleteQueryableWithResponse":"Customizations.StacCollectionConfigurationClient.deleteQueryable","com.azure.planetarycomputer.StacCollectionConfigurationClient.deleteRenderOption":"Customizations.StacCollectionConfigurationClient.deleteRenderOption","com.azure.planetarycomputer.StacCollectionConfigurationClient.deleteRenderOptionWithResponse":"Customizations.StacCollectionConfigurationClient.deleteRenderOption","com.azure.planetarycomputer.StacCollectionConfigurationClient.getAllMosaics":"Customizations.StacCollectionConfigurationClient.getAllMosaics","com.azure.planetarycomputer.StacCollectionConfigurationClient.getAllMosaicsWithResponse":"Customizations.StacCollectionConfigurationClient.getAllMosaics","com.azure.planetarycomputer.StacCollectionConfigurationClient.getAllRenderOptions":"Customizations.StacCollectionConfigurationClient.getAllRenderOptions","com.azure.planetarycomputer.StacCollectionConfigurationClient.getAllRenderOptionsWithResponse":"Customizations.StacCollectionConfigurationClient.getAllRenderOptions","com.azure.planetarycomputer.StacCollectionConfigurationClient.getCollectionConfig":"Customizations.StacCollectionConfigurationClient.getCollectionConfig","com.azure.planetarycomputer.StacCollectionConfigurationClient.getCollectionConfigWithResponse":"Customizations.StacCollectionConfigurationClient.getCollectionConfig","com.azure.planetarycomputer.StacCollectionConfigurationClient.getCollectionThumbnail":"Customizations.StacCollectionConfigurationClient.getCollectionThumbnail","com.azure.planetarycomputer.StacCollectionConfigurationClient.getCollectionThumbnailWithResponse":"Customizations.StacCollectionConfigurationClient.getCollectionThumbnail","com.azure.planetarycomputer.StacCollectionConfigurationClient.getMosaic":"Customizations.StacCollectionConfigurationClient.getMosaic","com.azure.planetarycomputer.StacCollectionConfigurationClient.getMosaicWithResponse":"Customizations.StacCollectionConfigurationClient.getMosaic","com.azure.planetarycomputer.StacCollectionConfigurationClient.getPartitionType":"Customizations.StacCollectionConfigurationClient.getPartitionType","com.azure.planetarycomputer.StacCollectionConfigurationClient.getPartitionTypeWithResponse":"Customizations.StacCollectionConfigurationClient.getPartitionType","com.azure.planetarycomputer.StacCollectionConfigurationClient.getRenderOption":"Customizations.StacCollectionConfigurationClient.getRenderOption","com.azure.planetarycomputer.StacCollectionConfigurationClient.getRenderOptionWithResponse":"Customizations.StacCollectionConfigurationClient.getRenderOption","com.azure.planetarycomputer.StacCollectionConfigurationClient.getTileSettings":"Customizations.StacCollectionConfigurationClient.getTileSettings","com.azure.planetarycomputer.StacCollectionConfigurationClient.getTileSettingsWithResponse":"Customizations.StacCollectionConfigurationClient.getTileSettings","com.azure.planetarycomputer.StacCollectionConfigurationClient.replacePartitionType":"Customizations.StacCollectionConfigurationClient.replacePartitionType","com.azure.planetarycomputer.StacCollectionConfigurationClient.replacePartitionTypeWithResponse":"Customizations.StacCollectionConfigurationClient.replacePartitionType","com.azure.planetarycomputer.StacCollectionConfigurationClient.replaceTileSettings":"Customizations.StacCollectionConfigurationClient.replaceTileSettings","com.azure.planetarycomputer.StacCollectionConfigurationClient.replaceTileSettingsWithResponse":"Customizations.StacCollectionConfigurationClient.replaceTileSettings","com.azure.planetarycomputer.StacCollectionConfigurationClientBuilder":"Customizations.StacCollectionConfigurationClient","com.azure.planetarycomputer.StacItemTilerAsyncClient":"Customizations.StacItemTilerClient","com.azure.planetarycomputer.StacItemTilerAsyncClient.cropGeoJson":"Customizations.StacItemTilerClient.cropGeoJson","com.azure.planetarycomputer.StacItemTilerAsyncClient.cropGeoJsonWithDimensions":"Customizations.StacItemTilerClient.cropGeoJsonWithDimensions","com.azure.planetarycomputer.StacItemTilerAsyncClient.cropGeoJsonWithDimensionsWithResponse":"Customizations.StacItemTilerClient.cropGeoJsonWithDimensions","com.azure.planetarycomputer.StacItemTilerAsyncClient.cropGeoJsonWithResponse":"Customizations.StacItemTilerClient.cropGeoJson","com.azure.planetarycomputer.StacItemTilerAsyncClient.getAssetStatistics":"Customizations.StacItemTilerClient.getAssetStatistics","com.azure.planetarycomputer.StacItemTilerAsyncClient.getAssetStatisticsWithResponse":"Customizations.StacItemTilerClient.getAssetStatistics","com.azure.planetarycomputer.StacItemTilerAsyncClient.getAvailableAssets":"Customizations.StacItemTilerClient.getAvailableAssets","com.azure.planetarycomputer.StacItemTilerAsyncClient.getAvailableAssetsWithResponse":"Customizations.StacItemTilerClient.getAvailableAssets","com.azure.planetarycomputer.StacItemTilerAsyncClient.getBounds":"Customizations.StacItemTilerClient.getBounds","com.azure.planetarycomputer.StacItemTilerAsyncClient.getBoundsWithResponse":"Customizations.StacItemTilerClient.getBounds","com.azure.planetarycomputer.StacItemTilerAsyncClient.getGeoJsonStatistics":"Customizations.StacItemTilerClient.getGeoJsonStatistics","com.azure.planetarycomputer.StacItemTilerAsyncClient.getGeoJsonStatisticsWithResponse":"Customizations.StacItemTilerClient.getGeoJsonStatistics","com.azure.planetarycomputer.StacItemTilerAsyncClient.getInfo":"Customizations.StacItemTilerClient.getInfo","com.azure.planetarycomputer.StacItemTilerAsyncClient.getInfoGeoJson":"Customizations.StacItemTilerClient.getInfoGeoJson","com.azure.planetarycomputer.StacItemTilerAsyncClient.getInfoGeoJsonWithResponse":"Customizations.StacItemTilerClient.getInfoGeoJson","com.azure.planetarycomputer.StacItemTilerAsyncClient.getInfoWithResponse":"Customizations.StacItemTilerClient.getInfo","com.azure.planetarycomputer.StacItemTilerAsyncClient.getPart":"Customizations.StacItemTilerClient.getPart","com.azure.planetarycomputer.StacItemTilerAsyncClient.getPartWithDimensions":"Customizations.StacItemTilerClient.getPartWithDimensions","com.azure.planetarycomputer.StacItemTilerAsyncClient.getPartWithDimensionsWithResponse":"Customizations.StacItemTilerClient.getPartWithDimensions","com.azure.planetarycomputer.StacItemTilerAsyncClient.getPartWithResponse":"Customizations.StacItemTilerClient.getPart","com.azure.planetarycomputer.StacItemTilerAsyncClient.getPoint":"Customizations.StacItemTilerClient.getPoint","com.azure.planetarycomputer.StacItemTilerAsyncClient.getPointWithResponse":"Customizations.StacItemTilerClient.getPoint","com.azure.planetarycomputer.StacItemTilerAsyncClient.getPreview":"Customizations.StacItemTilerClient.getPreview","com.azure.planetarycomputer.StacItemTilerAsyncClient.getPreviewWithFormat":"Customizations.StacItemTilerClient.getPreviewWithFormat","com.azure.planetarycomputer.StacItemTilerAsyncClient.getPreviewWithFormatWithResponse":"Customizations.StacItemTilerClient.getPreviewWithFormat","com.azure.planetarycomputer.StacItemTilerAsyncClient.getPreviewWithResponse":"Customizations.StacItemTilerClient.getPreview","com.azure.planetarycomputer.StacItemTilerAsyncClient.getStatistics":"Customizations.StacItemTilerClient.getStatistics","com.azure.planetarycomputer.StacItemTilerAsyncClient.getStatisticsWithResponse":"Customizations.StacItemTilerClient.getStatistics","com.azure.planetarycomputer.StacItemTilerAsyncClient.getTile":"Customizations.StacItemTilerClient.getTile","com.azure.planetarycomputer.StacItemTilerAsyncClient.getTileJson":"Customizations.StacItemTilerClient.getTileJson","com.azure.planetarycomputer.StacItemTilerAsyncClient.getTileJsonWithMatrixSet":"Customizations.StacItemTilerClient.getTileJsonWithMatrixSet","com.azure.planetarycomputer.StacItemTilerAsyncClient.getTileJsonWithMatrixSetWithResponse":"Customizations.StacItemTilerClient.getTileJsonWithMatrixSet","com.azure.planetarycomputer.StacItemTilerAsyncClient.getTileJsonWithResponse":"Customizations.StacItemTilerClient.getTileJson","com.azure.planetarycomputer.StacItemTilerAsyncClient.getTileWithMatrixSet":"Customizations.StacItemTilerClient.getTileWithMatrixSet","com.azure.planetarycomputer.StacItemTilerAsyncClient.getTileWithMatrixSetWithResponse":"Customizations.StacItemTilerClient.getTileWithMatrixSet","com.azure.planetarycomputer.StacItemTilerAsyncClient.getTileWithResponse":"Customizations.StacItemTilerClient.getTile","com.azure.planetarycomputer.StacItemTilerAsyncClient.getWmtsCapabilities":"Customizations.StacItemTilerClient.getWmtsCapabilities","com.azure.planetarycomputer.StacItemTilerAsyncClient.getWmtsCapabilitiesWithMatrixSet":"Customizations.StacItemTilerClient.getWmtsCapabilitiesWithMatrixSet","com.azure.planetarycomputer.StacItemTilerAsyncClient.getWmtsCapabilitiesWithMatrixSetWithResponse":"Customizations.StacItemTilerClient.getWmtsCapabilitiesWithMatrixSet","com.azure.planetarycomputer.StacItemTilerAsyncClient.getWmtsCapabilitiesWithResponse":"Customizations.StacItemTilerClient.getWmtsCapabilities","com.azure.planetarycomputer.StacItemTilerClient":"Customizations.StacItemTilerClient","com.azure.planetarycomputer.StacItemTilerClient.cropGeoJson":"Customizations.StacItemTilerClient.cropGeoJson","com.azure.planetarycomputer.StacItemTilerClient.cropGeoJsonWithDimensions":"Customizations.StacItemTilerClient.cropGeoJsonWithDimensions","com.azure.planetarycomputer.StacItemTilerClient.cropGeoJsonWithDimensionsWithResponse":"Customizations.StacItemTilerClient.cropGeoJsonWithDimensions","com.azure.planetarycomputer.StacItemTilerClient.cropGeoJsonWithResponse":"Customizations.StacItemTilerClient.cropGeoJson","com.azure.planetarycomputer.StacItemTilerClient.getAssetStatistics":"Customizations.StacItemTilerClient.getAssetStatistics","com.azure.planetarycomputer.StacItemTilerClient.getAssetStatisticsWithResponse":"Customizations.StacItemTilerClient.getAssetStatistics","com.azure.planetarycomputer.StacItemTilerClient.getAvailableAssets":"Customizations.StacItemTilerClient.getAvailableAssets","com.azure.planetarycomputer.StacItemTilerClient.getAvailableAssetsWithResponse":"Customizations.StacItemTilerClient.getAvailableAssets","com.azure.planetarycomputer.StacItemTilerClient.getBounds":"Customizations.StacItemTilerClient.getBounds","com.azure.planetarycomputer.StacItemTilerClient.getBoundsWithResponse":"Customizations.StacItemTilerClient.getBounds","com.azure.planetarycomputer.StacItemTilerClient.getGeoJsonStatistics":"Customizations.StacItemTilerClient.getGeoJsonStatistics","com.azure.planetarycomputer.StacItemTilerClient.getGeoJsonStatisticsWithResponse":"Customizations.StacItemTilerClient.getGeoJsonStatistics","com.azure.planetarycomputer.StacItemTilerClient.getInfo":"Customizations.StacItemTilerClient.getInfo","com.azure.planetarycomputer.StacItemTilerClient.getInfoGeoJson":"Customizations.StacItemTilerClient.getInfoGeoJson","com.azure.planetarycomputer.StacItemTilerClient.getInfoGeoJsonWithResponse":"Customizations.StacItemTilerClient.getInfoGeoJson","com.azure.planetarycomputer.StacItemTilerClient.getInfoWithResponse":"Customizations.StacItemTilerClient.getInfo","com.azure.planetarycomputer.StacItemTilerClient.getPart":"Customizations.StacItemTilerClient.getPart","com.azure.planetarycomputer.StacItemTilerClient.getPartWithDimensions":"Customizations.StacItemTilerClient.getPartWithDimensions","com.azure.planetarycomputer.StacItemTilerClient.getPartWithDimensionsWithResponse":"Customizations.StacItemTilerClient.getPartWithDimensions","com.azure.planetarycomputer.StacItemTilerClient.getPartWithResponse":"Customizations.StacItemTilerClient.getPart","com.azure.planetarycomputer.StacItemTilerClient.getPoint":"Customizations.StacItemTilerClient.getPoint","com.azure.planetarycomputer.StacItemTilerClient.getPointWithResponse":"Customizations.StacItemTilerClient.getPoint","com.azure.planetarycomputer.StacItemTilerClient.getPreview":"Customizations.StacItemTilerClient.getPreview","com.azure.planetarycomputer.StacItemTilerClient.getPreviewWithFormat":"Customizations.StacItemTilerClient.getPreviewWithFormat","com.azure.planetarycomputer.StacItemTilerClient.getPreviewWithFormatWithResponse":"Customizations.StacItemTilerClient.getPreviewWithFormat","com.azure.planetarycomputer.StacItemTilerClient.getPreviewWithResponse":"Customizations.StacItemTilerClient.getPreview","com.azure.planetarycomputer.StacItemTilerClient.getStatistics":"Customizations.StacItemTilerClient.getStatistics","com.azure.planetarycomputer.StacItemTilerClient.getStatisticsWithResponse":"Customizations.StacItemTilerClient.getStatistics","com.azure.planetarycomputer.StacItemTilerClient.getTile":"Customizations.StacItemTilerClient.getTile","com.azure.planetarycomputer.StacItemTilerClient.getTileJson":"Customizations.StacItemTilerClient.getTileJson","com.azure.planetarycomputer.StacItemTilerClient.getTileJsonWithMatrixSet":"Customizations.StacItemTilerClient.getTileJsonWithMatrixSet","com.azure.planetarycomputer.StacItemTilerClient.getTileJsonWithMatrixSetWithResponse":"Customizations.StacItemTilerClient.getTileJsonWithMatrixSet","com.azure.planetarycomputer.StacItemTilerClient.getTileJsonWithResponse":"Customizations.StacItemTilerClient.getTileJson","com.azure.planetarycomputer.StacItemTilerClient.getTileWithMatrixSet":"Customizations.StacItemTilerClient.getTileWithMatrixSet","com.azure.planetarycomputer.StacItemTilerClient.getTileWithMatrixSetWithResponse":"Customizations.StacItemTilerClient.getTileWithMatrixSet","com.azure.planetarycomputer.StacItemTilerClient.getTileWithResponse":"Customizations.StacItemTilerClient.getTile","com.azure.planetarycomputer.StacItemTilerClient.getWmtsCapabilities":"Customizations.StacItemTilerClient.getWmtsCapabilities","com.azure.planetarycomputer.StacItemTilerClient.getWmtsCapabilitiesWithMatrixSet":"Customizations.StacItemTilerClient.getWmtsCapabilitiesWithMatrixSet","com.azure.planetarycomputer.StacItemTilerClient.getWmtsCapabilitiesWithMatrixSetWithResponse":"Customizations.StacItemTilerClient.getWmtsCapabilitiesWithMatrixSet","com.azure.planetarycomputer.StacItemTilerClient.getWmtsCapabilitiesWithResponse":"Customizations.StacItemTilerClient.getWmtsCapabilities","com.azure.planetarycomputer.StacItemTilerClientBuilder":"Customizations.StacItemTilerClient","com.azure.planetarycomputer.TileMatrixSetsAsyncClient":"Customizations.TileMatrixSetsClient","com.azure.planetarycomputer.TileMatrixSetsAsyncClient.getTileMatrixDefinitions":"Customizations.TileMatrixSetsClient.getTileMatrixDefinitions","com.azure.planetarycomputer.TileMatrixSetsAsyncClient.getTileMatrixDefinitionsWithResponse":"Customizations.TileMatrixSetsClient.getTileMatrixDefinitions","com.azure.planetarycomputer.TileMatrixSetsAsyncClient.getTileMatrixList":"Customizations.TileMatrixSetsClient.getTileMatrixList","com.azure.planetarycomputer.TileMatrixSetsAsyncClient.getTileMatrixListWithResponse":"Customizations.TileMatrixSetsClient.getTileMatrixList","com.azure.planetarycomputer.TileMatrixSetsClient":"Customizations.TileMatrixSetsClient","com.azure.planetarycomputer.TileMatrixSetsClient.getTileMatrixDefinitions":"Customizations.TileMatrixSetsClient.getTileMatrixDefinitions","com.azure.planetarycomputer.TileMatrixSetsClient.getTileMatrixDefinitionsWithResponse":"Customizations.TileMatrixSetsClient.getTileMatrixDefinitions","com.azure.planetarycomputer.TileMatrixSetsClient.getTileMatrixList":"Customizations.TileMatrixSetsClient.getTileMatrixList","com.azure.planetarycomputer.TileMatrixSetsClient.getTileMatrixListWithResponse":"Customizations.TileMatrixSetsClient.getTileMatrixList","com.azure.planetarycomputer.TileMatrixSetsClientBuilder":"Customizations.TileMatrixSetsClient","com.azure.planetarycomputer.com.azure.planetarycomputer.ingestionruns.models.IngestionRun":"Microsoft.PlanetaryComputer.Ingestions.IngestionRuns.IngestionRun","com.azure.planetarycomputer.com.azure.planetarycomputer.ingestionruns.models.IngestionRunOperation":"Microsoft.PlanetaryComputer.Ingestions.IngestionRuns.IngestionRunOperation","com.azure.planetarycomputer.com.azure.planetarycomputer.ingestionruns.models.IngestionRunsPagedResponse":"Microsoft.PlanetaryComputer.Ingestions.IngestionRuns.IngestionRunsPagedResponse","com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionDefinition":"Microsoft.PlanetaryComputer.Ingestions.IngestionDefinition","com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionDefinitionsPagedResponse":"Microsoft.PlanetaryComputer.Ingestions.IngestionDefinitionsPagedResponse","com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionSource":"Microsoft.PlanetaryComputer.IngestionSources.IngestionSource","com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionSourceSummary":"Microsoft.PlanetaryComputer.IngestionSources.IngestionSourceSummary","com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionSourceType":"Microsoft.PlanetaryComputer.IngestionSources.IngestionSourceType","com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionSourcesPagedResponse":"Microsoft.PlanetaryComputer.IngestionSources.IngestionSourcesPagedResponse","com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionStatus":"Microsoft.PlanetaryComputer.Ingestions.IngestionStatus","com.azure.planetarycomputer.com.azure.planetarycomputer.models.IngestionType":"Microsoft.PlanetaryComputer.Ingestions.IngestionType","com.azure.planetarycomputer.com.azure.planetarycomputer.models.ManagedIdentitiesPagedResponse":"Microsoft.PlanetaryComputer.IngestionSources.ManagedIdentitiesPagedResponse","com.azure.planetarycomputer.com.azure.planetarycomputer.models.ManagedIdentityConnection":"Microsoft.PlanetaryComputer.IngestionSources.ManagedIdentityConnection","com.azure.planetarycomputer.com.azure.planetarycomputer.models.ManagedIdentityIngestionSource":"Microsoft.PlanetaryComputer.IngestionSources.ManagedIdentityIngestionSource","com.azure.planetarycomputer.com.azure.planetarycomputer.models.ManagedIdentityMetadata":"Microsoft.PlanetaryComputer.IngestionSources.ManagedIdentityMetadata","com.azure.planetarycomputer.com.azure.planetarycomputer.models.SasTokenConnection":"Microsoft.PlanetaryComputer.IngestionSources.SasTokenConnection","com.azure.planetarycomputer.com.azure.planetarycomputer.models.SasTokenIngestionSource":"Microsoft.PlanetaryComputer.IngestionSources.SasTokenIngestionSource","com.azure.planetarycomputer.implementation.models.RegisterSearchRequest":"Customizations.registerSearch.Request.anonymous","com.azure.planetarycomputer.models.Algorithm":"Microsoft.PlanetaryComputer.Algorithm","com.azure.planetarycomputer.models.Asset":"Microsoft.PlanetaryComputer.Asset","com.azure.planetarycomputer.models.AssetMetadata":"Microsoft.PlanetaryComputer.AssetMetadata","com.azure.planetarycomputer.models.AssetStatisticsResponse":"Microsoft.PlanetaryComputer.AssetStatisticsResponse","com.azure.planetarycomputer.models.AuthConfig":"Microsoft.PlanetaryComputer.AuthConfig","com.azure.planetarycomputer.models.AzMapsClientId":"Microsoft.PlanetaryComputer.AzMapsClientId","com.azure.planetarycomputer.models.AzMapsToken":"Microsoft.PlanetaryComputer.AzMapsToken","com.azure.planetarycomputer.models.BandStatistics":"Microsoft.PlanetaryComputer.BandStatistics","com.azure.planetarycomputer.models.BoundsResponse":"Microsoft.PlanetaryComputer.BoundsResponse","com.azure.planetarycomputer.models.ClassmapLegendResponse":"ClassmapLegendResponse","com.azure.planetarycomputer.models.ColorMapNames":"Microsoft.PlanetaryComputer.ColorMapNames","com.azure.planetarycomputer.models.ConformanceClasses":"Microsoft.PlanetaryComputer.ConformanceClasses","com.azure.planetarycomputer.models.ContextExtension":"Microsoft.PlanetaryComputer.ContextExtension","com.azure.planetarycomputer.models.CqlFilter":"Microsoft.PlanetaryComputer.CqlFilter","com.azure.planetarycomputer.models.DefaultLocation":"Microsoft.PlanetaryComputer.DefaultLocation","com.azure.planetarycomputer.models.Extent":"Microsoft.PlanetaryComputer.Extent","com.azure.planetarycomputer.models.FeatureCollections":"Microsoft.PlanetaryComputer.FeatureCollections","com.azure.planetarycomputer.models.FeatureType":"FeatureType","com.azure.planetarycomputer.models.FileDetails":null,"com.azure.planetarycomputer.models.FilterLang":"Microsoft.PlanetaryComputer.FilterLang","com.azure.planetarycomputer.models.FormContent":"Microsoft.PlanetaryComputer.FormContent","com.azure.planetarycomputer.models.GeoJsonStatisticsItemCollectionResponse":"Microsoft.PlanetaryComputer.GeoJsonStatisticsItemCollectionResponse","com.azure.planetarycomputer.models.GeoJsonStatisticsItemResponse":"Microsoft.PlanetaryComputer.GeoJsonStatisticsItemResponse","com.azure.planetarycomputer.models.Geometry":"Geometry","com.azure.planetarycomputer.models.GeometryType":"GeometryType","com.azure.planetarycomputer.models.ImageRequest":"Microsoft.PlanetaryComputer.ImageRequest","com.azure.planetarycomputer.models.ImageRequestFormat":"Microsoft.PlanetaryComputer.ImageRequestFormat","com.azure.planetarycomputer.models.ImageType":"Microsoft.PlanetaryComputer.ImageType","com.azure.planetarycomputer.models.InfoOperationResponse":"Microsoft.PlanetaryComputer.InfoOperationResponse","com.azure.planetarycomputer.models.ItemCollectionModel":"Microsoft.PlanetaryComputer.ItemCollectionModel","com.azure.planetarycomputer.models.ItemCollectionType":"Microsoft.PlanetaryComputer.ItemCollectionType","com.azure.planetarycomputer.models.ItemProperties":"Microsoft.PlanetaryComputer.ItemProperties","com.azure.planetarycomputer.models.JsonSchema":"Microsoft.PlanetaryComputer.JsonSchema","com.azure.planetarycomputer.models.LandingPage":"Microsoft.PlanetaryComputer.LandingPage","com.azure.planetarycomputer.models.LegendConfigType":"Microsoft.PlanetaryComputer.LegendConfigType","com.azure.planetarycomputer.models.LineString":"LineString","com.azure.planetarycomputer.models.Link":"Microsoft.PlanetaryComputer.Link","com.azure.planetarycomputer.models.LinkMethod":"Microsoft.PlanetaryComputer.Link.method.anonymous","com.azure.planetarycomputer.models.LinkType":"Microsoft.PlanetaryComputer.LinkType","com.azure.planetarycomputer.models.Metadata":"Microsoft.PlanetaryComputer.Metadata","com.azure.planetarycomputer.models.MetadataType":"Microsoft.PlanetaryComputer.MetadataType","com.azure.planetarycomputer.models.Mosaic":"Microsoft.PlanetaryComputer.Mosaic","com.azure.planetarycomputer.models.MosaicInfo":"Microsoft.PlanetaryComputer.MosaicInfo","com.azure.planetarycomputer.models.MultiLineString":"MultiLineString","com.azure.planetarycomputer.models.MultiPoint":"MultiPoint","com.azure.planetarycomputer.models.MultiPolygon":"MultiPolygon","com.azure.planetarycomputer.models.NoDataType":"Microsoft.PlanetaryComputer.NoDataType","com.azure.planetarycomputer.models.Operation":"Microsoft.PlanetaryComputer.Operation","com.azure.planetarycomputer.models.OperationStatus":"Microsoft.PlanetaryComputer.OperationStatus","com.azure.planetarycomputer.models.OperationStatusHistoryItem":"Microsoft.PlanetaryComputer.OperationStatusHistoryItem","com.azure.planetarycomputer.models.OperationsPagedResponse":"Microsoft.PlanetaryComputer.OperationsPagedResponse","com.azure.planetarycomputer.models.PartitionType":"Microsoft.PlanetaryComputer.PartitionType","com.azure.planetarycomputer.models.PartitionTypeScheme":"Microsoft.PlanetaryComputer.PartitionTypeScheme","com.azure.planetarycomputer.models.PgStacSearch":"Microsoft.PlanetaryComputer.PgStacSearch","com.azure.planetarycomputer.models.PixelSelection":"Microsoft.PlanetaryComputer.PixelSelection","com.azure.planetarycomputer.models.Point":"Point","com.azure.planetarycomputer.models.Polygon":"Polygon","com.azure.planetarycomputer.models.Provider":"Microsoft.PlanetaryComputer.Provider","com.azure.planetarycomputer.models.QueryableDefinition":"Microsoft.PlanetaryComputer.QueryableDefinition","com.azure.planetarycomputer.models.QueryableDefinitionDataType":"Microsoft.PlanetaryComputer.QueryableDefinitionDataType","com.azure.planetarycomputer.models.QueryableDefinitionType":"Microsoft.PlanetaryComputer.QueryableDefinitionType","com.azure.planetarycomputer.models.RegisterResponse":"Microsoft.PlanetaryComputer.RegisterResponse","com.azure.planetarycomputer.models.RegisterSearchOptions":null,"com.azure.planetarycomputer.models.RenderOptionCondition":"Microsoft.PlanetaryComputer.RenderOptionCondition","com.azure.planetarycomputer.models.RenderOptionLegend":"Microsoft.PlanetaryComputer.RenderOptionLegend","com.azure.planetarycomputer.models.RenderOptionModel":"Microsoft.PlanetaryComputer.RenderOptionModel","com.azure.planetarycomputer.models.RenderOptionType":"Microsoft.PlanetaryComputer.RenderOptionType","com.azure.planetarycomputer.models.RenderOptionVectorOptions":"Microsoft.PlanetaryComputer.RenderOptionVectorOptions","com.azure.planetarycomputer.models.Resampling":"Microsoft.PlanetaryComputer.Resampling","com.azure.planetarycomputer.models.SasToken":"Microsoft.PlanetaryComputer.SasToken","com.azure.planetarycomputer.models.SearchPostRequest":"Microsoft.PlanetaryComputer.SearchPostRequest","com.azure.planetarycomputer.models.SearchPostRequestFields":"Microsoft.PlanetaryComputer.SearchPostRequestFields","com.azure.planetarycomputer.models.SignType":"Microsoft.PlanetaryComputer.SignType","com.azure.planetarycomputer.models.SortDirections":"Microsoft.PlanetaryComputer.SortDirections","com.azure.planetarycomputer.models.SortExtension":"Microsoft.PlanetaryComputer.SortExtension","com.azure.planetarycomputer.models.SpatialExtent":"Microsoft.PlanetaryComputer.SpatialExtent","com.azure.planetarycomputer.models.StacCollectionModel":"Microsoft.PlanetaryComputer.StacCollectionModel","com.azure.planetarycomputer.models.StacCollectionSummaries":"Microsoft.PlanetaryComputer.StacCollectionSummaries","com.azure.planetarycomputer.models.StacItemModel":"Microsoft.PlanetaryComputer.StacItemModel","com.azure.planetarycomputer.models.StacItemOrItemCollection":"Microsoft.PlanetaryComputer.StacItemOrItemCollection","com.azure.planetarycomputer.models.StacModelType":"Microsoft.PlanetaryComputer.StacModelType","com.azure.planetarycomputer.models.StacQuery":"Microsoft.PlanetaryComputer.StacQuery","com.azure.planetarycomputer.models.StatisticsResponse":"Microsoft.PlanetaryComputer.StatisticsResponse","com.azure.planetarycomputer.models.TileJsonResponse":"Microsoft.PlanetaryComputer.TileJsonResponse","com.azure.planetarycomputer.models.TileJsonScheme":"Microsoft.PlanetaryComputer.TileJsonScheme","com.azure.planetarycomputer.models.TileMatrix":"TileMatrix","com.azure.planetarycomputer.models.TileMatrixCornerOfOrigin":"TileMatrixCornerOfOrigin","com.azure.planetarycomputer.models.TileMatrixSet":"TileMatrixSet","com.azure.planetarycomputer.models.TileMatrixSetBoundingBox":"TileMatrixSetBoundingBox","com.azure.planetarycomputer.models.TileSettings":"Microsoft.PlanetaryComputer.TileSettings","com.azure.planetarycomputer.models.Tilematrixsetid":"Microsoft.PlanetaryComputer.Tilematrixsetid","com.azure.planetarycomputer.models.TilerInfo":"Microsoft.PlanetaryComputer.TilerInfo","com.azure.planetarycomputer.models.TilerInfoGeoJsonFeature":"Microsoft.PlanetaryComputer.TilerInfoGeoJsonFeature","com.azure.planetarycomputer.models.TimeInterval":"Microsoft.PlanetaryComputer.TimeInterval","com.azure.planetarycomputer.models.TitilerCoreModelsResponsesPoint":"Microsoft.PlanetaryComputer.TitilerCoreModelsResponsesPoint","com.azure.planetarycomputer.models.TitilerPgstacModelInfo":"Microsoft.PlanetaryComputer.TitilerPgstacModelInfo","com.azure.planetarycomputer.models.UnsignedLink":"Microsoft.PlanetaryComputer.UnsignedLink","com.azure.planetarycomputer.models.UserCollectionSettings":"Microsoft.PlanetaryComputer.UserCollectionSettings","com.azure.planetarycomputer.models.VariableMatrixWidth":"VariableMatrixWidth"}} \ No newline at end of file diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/main/resources/azure-planetarycomputer.properties b/sdk/planetarycomputer/azure-planetarycomputer/src/main/resources/azure-planetarycomputer.properties new file mode 100644 index 000000000000..ca812989b4f2 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/main/resources/azure-planetarycomputer.properties @@ -0,0 +1,2 @@ +name=${project.artifactId} +version=${project.version} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/src/samples/java/com/azure/planetarycomputer/ReadmeSamples.java b/sdk/planetarycomputer/azure-planetarycomputer/src/samples/java/com/azure/planetarycomputer/ReadmeSamples.java new file mode 100644 index 000000000000..9b117fdf1acd --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/src/samples/java/com/azure/planetarycomputer/ReadmeSamples.java @@ -0,0 +1,12 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.planetarycomputer; + +public final class ReadmeSamples { + public void readmeSamples() { + // BEGIN: com.azure.planetarycomputer.readme + // END: com.azure.planetarycomputer.readme + } +} diff --git a/sdk/planetarycomputer/azure-planetarycomputer/tsp-location.yaml b/sdk/planetarycomputer/azure-planetarycomputer/tsp-location.yaml new file mode 100644 index 000000000000..0b6a5f6ab005 --- /dev/null +++ b/sdk/planetarycomputer/azure-planetarycomputer/tsp-location.yaml @@ -0,0 +1,4 @@ +directory: specification/orbital/Microsoft.PlanetaryComputer +commit: d038c3119e2336da08802fdf78564e83e159ac78 +repo: Azure/azure-rest-api-specs +additionalDirectories: diff --git a/sdk/planetarycomputer/ci.yml b/sdk/planetarycomputer/ci.yml index c9057dbde0f5..0ddb8543d6b3 100644 --- a/sdk/planetarycomputer/ci.yml +++ b/sdk/planetarycomputer/ci.yml @@ -34,6 +34,10 @@ parameters: displayName: azure-resourcemanager-planetarycomputer type: boolean default: false + - name: release_azureplanetarycomputer + displayName: azure-planetarycomputer + type: boolean + default: true extends: template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml @@ -44,3 +48,7 @@ extends: groupId: com.azure.resourcemanager safeName: azureresourcemanagerplanetarycomputer releaseInBatch: ${{ parameters.release_azureresourcemanagerplanetarycomputer }} + - name: azure-planetarycomputer + groupId: com.azure + safeName: azureplanetarycomputer + releaseInBatch: ${{ parameters.release_azureplanetarycomputer }} diff --git a/sdk/planetarycomputer/pom.xml b/sdk/planetarycomputer/pom.xml index 0c75ac05f876..a47e2b4f7d9c 100644 --- a/sdk/planetarycomputer/pom.xml +++ b/sdk/planetarycomputer/pom.xml @@ -10,6 +10,7 @@ 1.0.0 + azure-planetarycomputer azure-resourcemanager-planetarycomputer