Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions eng/versioning/version_client.txt
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,7 @@ com.azure.spring:spring-cloud-azure-stream-binder-servicebus-core;5.22.0;5.23.0-
com.azure.spring:spring-cloud-azure-stream-binder-servicebus;5.22.0;5.23.0-beta.1
com.azure.spring:spring-cloud-azure-testcontainers;5.22.0;5.23.0-beta.1
com.azure:azure-spring-data-cosmos;5.22.0;5.23.0-beta.1
com.azure:azure-communication-programmableconnectivity;1.0.0-beta.1;1.0.0-beta.1
com.azure.resourcemanager:azure-resourcemanager;2.50.0;2.51.0-beta.1
com.azure.resourcemanager:azure-resourcemanager-appplatform;2.50.0;2.51.0-beta.1
com.azure.resourcemanager:azure-resourcemanager-appservice;2.50.0;2.51.0-beta.1
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Release History

## 1.0.0-beta.1 (Unreleased)

- Azure ProgrammableConnectivity client library for Java. This package contains Microsoft Azure ProgrammableConnectivity client library.

### Features Added

### Breaking Changes

### Bugs Fixed

### Other Changes
### Features Added

- Initial release for the azure-communication-programmableconnectivity Java SDK.
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Azure ProgrammableConnectivity client library for Java

Azure ProgrammableConnectivity client library for Java.

This package contains Microsoft Azure ProgrammableConnectivity 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-communication-programmableconnectivity;current})
```xml
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-programmableconnectivity</artifactId>
<version>1.0.0-beta.1</version>
</dependency>
```
[//]: # ({x-version-update-end})

### Authentication

[Azure Identity][azure_identity] package provides the default implementation for authenticating the client.

## Key concepts

## Examples

```java com.azure.communication.programmableconnectivity.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

<!-- LINKS -->
[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
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"AssetsRepo":"Azure/azure-sdk-assets","AssetsRepoPrefixPath":"java","TagPrefix":"java/communication/azure-communication-programmableconnectivity","Tag":""}
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
<!--
~ Copyright (c) Microsoft Corporation. All rights reserved.
~ Licensed under the MIT License.
~ Code generated by Microsoft (R) TypeSpec Code Generator.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.azure</groupId>
<artifactId>azure-client-sdk-parent</artifactId>
<version>1.7.0</version> <!-- {x-version-update;com.azure:azure-client-sdk-parent;current} -->
<relativePath>../../parents/azure-client-sdk-parent</relativePath>
</parent>

<groupId>com.azure</groupId>
<artifactId>azure-communication-programmableconnectivity</artifactId>
<version>1.0.0-beta.1</version> <!-- {x-version-update;com.azure:azure-communication-programmableconnectivity;current} -->
<packaging>jar</packaging>

<name>Microsoft Azure SDK for ProgrammableConnectivity</name>
<description>This package contains Microsoft Azure ProgrammableConnectivity client library.</description>
<url>https://github.com/Azure/azure-sdk-for-java</url>

<licenses>
<license>
<name>The MIT License (MIT)</name>
<url>http://opensource.org/licenses/MIT</url>
<distribution>repo</distribution>
</license>
</licenses>

<scm>
<url>https://github.com/Azure/azure-sdk-for-java</url>
<connection>scm:git:[email protected]:Azure/azure-sdk-for-java.git</connection>
<developerConnection>scm:git:[email protected]:Azure/azure-sdk-for-java.git</developerConnection>
<tag>HEAD</tag>
</scm>
<developers>
<developer>
<id>microsoft</id>
<name>Microsoft</name>
</developer>
</developers>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core</artifactId>
<version>1.55.3</version> <!-- {x-version-update;com.azure:azure-core;dependency} -->
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core-http-netty</artifactId>
<version>1.15.11</version> <!-- {x-version-update;com.azure:azure-core-http-netty;dependency} -->
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core-test</artifactId>
<version>1.27.0-beta.8</version> <!-- {x-version-update;com.azure:azure-core-test;dependency} -->
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.15.4</version> <!-- {x-version-update;com.azure:azure-identity;dependency} -->
<scope>test</scope>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
@@ -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.communication.programmableconnectivity;

import com.azure.communication.programmableconnectivity.implementation.DeviceLocationsImpl;
import com.azure.communication.programmableconnectivity.models.DeviceLocationVerificationContent;
import com.azure.communication.programmableconnectivity.models.DeviceLocationVerificationResult;
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 reactor.core.publisher.Mono;

/**
* Initializes a new instance of the asynchronous ProgrammableConnectivityClient type.
*/
@ServiceClient(builder = ProgrammableConnectivityClientBuilder.class, isAsync = true)
public final class DeviceLocationAsyncClient {
@Generated
private final DeviceLocationsImpl serviceClient;

/**
* Initializes an instance of DeviceLocationAsyncClient class.
*
* @param serviceClient the service client implementation.
*/
@Generated
DeviceLocationAsyncClient(DeviceLocationsImpl serviceClient) {
this.serviceClient = serviceClient;
}

/**
* Verifies whether a device is within a specified location area, defined as an accuracy (radius) around a point,
* specified by longitude and latitude.
* <p><strong>Request Body Schema</strong></p>
*
* <pre>
* {@code
* {
* networkIdentifier (Required): {
* identifierType: String (Required)
* identifier: String (Required)
* }
* latitude: double (Required)
* longitude: double (Required)
* accuracy: int (Required)
* device (Required): {
* networkAccessIdentifier: String (Optional)
* phoneNumber: String (Optional)
* ipv4Address (Optional): {
* ipv4: String (Required)
* port: int (Required)
* }
* ipv6Address (Optional): {
* ipv6: String (Required)
* port: int (Required)
* }
* }
* }
* }
* </pre>
*
* <p><strong>Response Body Schema</strong></p>
*
* <pre>
* {@code
* {
* verificationResult: boolean (Required)
* }
* }
* </pre>
*
* @param apcGatewayId The identifier of the APC Gateway resource which should handle this request.
* @param body Body 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 verifying location along with {@link Response} on successful completion of {@link Mono}.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
public Mono<Response<BinaryData>> verifyWithResponse(String apcGatewayId, BinaryData body,
RequestOptions requestOptions) {
return this.serviceClient.verifyWithResponseAsync(apcGatewayId, body, requestOptions);
}

/**
* Verifies whether a device is within a specified location area, defined as an accuracy (radius) around a point,
* specified by longitude and latitude.
*
* @param apcGatewayId The identifier of the APC Gateway resource which should handle this request.
* @param body Body 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 response verifying location on successful completion of {@link Mono}.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
public Mono<DeviceLocationVerificationResult> verify(String apcGatewayId, DeviceLocationVerificationContent body) {
// Generated convenience method for verifyWithResponse
RequestOptions requestOptions = new RequestOptions();
return verifyWithResponse(apcGatewayId, BinaryData.fromObject(body), requestOptions).flatMap(FluxUtil::toMono)
.map(protocolMethodData -> protocolMethodData.toObject(DeviceLocationVerificationResult.class));
}
}
Loading