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 @@ -323,6 +323,7 @@ com.azure.resourcemanager:azure-resourcemanager-logz;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-storagepool;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-dataprotection;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-desktopvirtualization;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-confidentialledger;1.0.0-beta.1;1.0.0-beta.1
com.azure.tools:azure-sdk-archetype;1.0.0;1.0.0

# Unreleased dependencies: Copy the entry from above, prepend "unreleased_" and remove the current
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Release History

## 1.0.0-beta.1 (2021-11-25)

- Azure Resource Manager ConfidentialLedger client library for Java. This package contains Microsoft Azure SDK for ConfidentialLedger Management SDK. Microsoft Azure Confidential Compute Ledger Control Plane REST API version 2020-12-01-preview. Package tag package-2021-05-13-preview. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# Azure Resource Manager ConfidentialLedger client library for Java

Azure Resource Manager ConfidentialLedger client library for Java.

This package contains Microsoft Azure SDK for ConfidentialLedger Management SDK. Microsoft Azure Confidential Compute Ledger Control Plane REST API version 2020-12-01-preview. Package tag package-2021-05-13-preview. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).

## We'd love to hear your feedback

We're always working on improving our products and the way we communicate with our users. So we'd love to learn what's working and how we can do better.

If you haven't already, please take a few minutes to [complete this short survey][survey] we have put together.

Thank you in advance for your collaboration. We really appreciate your time!

## Documentation

Various documentation is available to help you get started

- [API reference documentation][docs]

## 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.resourcemanager:azure-resourcemanager-confidentialledger;current})
```xml
<dependency>
<groupId>com.azure.resourcemanager</groupId>
<artifactId>azure-resourcemanager-confidentialledger</artifactId>
<version>1.0.0-beta.1</version>
</dependency>
```
[//]: # ({x-version-update-end})

### Include the recommended packages

Azure Management Libraries require a `TokenCredential` implementation for authentication and an `HttpClient` implementation for HTTP client.

[Azure Identity][azure_identity] package and [Azure Core Netty HTTP][azure_core_http_netty] package provide the default implementation.

### Authentication

By default, Azure Active Directory token authentication depends on correct configure of following environment variables.

- `AZURE_CLIENT_ID` for Azure client ID.
- `AZURE_TENANT_ID` for Azure tenant ID.
- `AZURE_CLIENT_SECRET` or `AZURE_CLIENT_CERTIFICATE_PATH` for client secret or client certificate.

In addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.

With above configuration, `azure` client can be authenticated by following code:

```java
AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE);
TokenCredential credential = new DefaultAzureCredentialBuilder()
.authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint())
.build();
ConfidentialLedgerManager manager = ConfidentialLedgerManager
.authenticate(credential, profile);
```

The sample code assumes global Azure. Please change `AzureEnvironment.AZURE` variable if otherwise.

See [Authentication][authenticate] for more options.

## Key concepts

See [API design][design] for general introduction on design and key concepts on Azure Management Libraries.

## Examples

[Code snippets and samples](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/confidentialledger/azure-resourcemanager-confidentialledger/SAMPLE.md)


## 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 -->
[survey]: https://microsoft.qualtrics.com/jfe/form/SV_ehN0lIk2FKEBkwd?Q_CHL=DOCS
[docs]: https://azure.github.io/azure-sdk-for-java/
[jdk]: https://docs.microsoft.com/java/azure/jdk/
[azure_subscription]: https://azure.microsoft.com/free/
[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/identity/azure-identity
[azure_core_http_netty]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/core/azure-core-http-netty
[authenticate]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/AUTH.md
[design]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/DESIGN.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,266 @@
# Code snippets and samples


## Ledger

- [Create](#ledger_create)
- [Delete](#ledger_delete)
- [GetByResourceGroup](#ledger_getbyresourcegroup)
- [List](#ledger_list)
- [ListByResourceGroup](#ledger_listbyresourcegroup)
- [Update](#ledger_update)

## Operations

- [List](#operations_list)

## ResourceProvider

- [CheckNameAvailability](#resourceprovider_checknameavailability)
### Ledger_Create

```java
import com.azure.resourcemanager.confidentialledger.models.AadBasedSecurityPrincipal;
import com.azure.resourcemanager.confidentialledger.models.CertBasedSecurityPrincipal;
import com.azure.resourcemanager.confidentialledger.models.LedgerProperties;
import com.azure.resourcemanager.confidentialledger.models.LedgerRoleName;
import com.azure.resourcemanager.confidentialledger.models.LedgerType;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

/** Samples for Ledger Create. */
public final class LedgerCreateSamples {
/*
* x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_Create.json
*/
/**
* Sample code: ConfidentialLedgerCreate.
*
* @param manager Entry point to ConfidentialLedgerManager.
*/
public static void confidentialLedgerCreate(
com.azure.resourcemanager.confidentialledger.ConfidentialLedgerManager manager) {
manager
.ledgers()
.define("DummyLedgerName")
.withExistingResourceGroup("DummyResourceGroupName")
.withRegion("EastUS")
.withTags(mapOf("additionalProps1", "additional properties"))
.withProperties(
new LedgerProperties()
.withLedgerType(LedgerType.PUBLIC)
.withAadBasedSecurityPrincipals(
Arrays
.asList(
new AadBasedSecurityPrincipal()
.withPrincipalId("34621747-6fc8-4771-a2eb-72f31c461f2e")
.withTenantId("bce123b9-2b7b-4975-8360-5ca0b9b1cd08")
.withLedgerRoleName(LedgerRoleName.ADMINISTRATOR)))
.withCertBasedSecurityPrincipals(
Arrays
.asList(
new CertBasedSecurityPrincipal()
.withCert(
"MIIDBTCCAe2gAwIBAgIQXVogj9BAf49IpuOSIvztNDANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIwMDMxNzAwMDAwMFoXDTI1MDMxNzAwMDAwMFowLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANfLmdz9yIDskpZzrMXiDeVlCs75ZunrzwzBW5lz7UxdBjHu7Q9iT32otlBp++LOwBcKsVjuQ0GUbulX0FLsfLjEeCe58ZtSn//+6VRFSScg7i+WvDwEUWELR+vMPtCGcXBTpILEnYbSMz0No4+Jpkc1lyMIfDP/KSeqojo74xfW4RKtAgv39uwZ5Yz2hZ/IcWOvaQqMXp1lqhXLFIRWbwjLYYUbmwGwYpQ6++Cml0ucQoMkgYT88HpA/fzXQlLgrHamr3eE/lVp26ZWwfGLAvkdNBabQRSrk8k/c6BmY1mYpUFZo+795PI16mAdp1ioEwH8I5osis+/BR5GhPpwiA8CAwEAAaMhMB8wHQYDVR0OBBYEFF8MDGklOGhGNVJvsHHRCaqtzexcMA0GCSqGSIb3DQEBCwUAA4IBAQCKkegw/mdpCVl1lOpgU4G9RT+1gtcPqZK9kpimuDggSJju6KUQlOCi5/lIH5DCzpjFdmG17TjWVBNve5kowmrhLzovY0Ykk7+6hYTBK8dNNSmd4SK7zY++0aDIuOzHP2Cur+kgFC0gez50tPzotLDtMmp40gknXuzltwJfezNSw3gLgljDsGGcDIXK3qLSYh44qSuRGwulcN2EJUZBI9tIxoODpaWHIN8+z2uZvf8JBYFjA3+n9FRQn51X16CTcjq4QRTbNVpgVuQuyaYnEtx0ZnDvguB3RjGSPIXTRBkLl2x7e8/6uAZ6tchw8rhcOtPsFgJuoJokGjvcUSR/6Eqd")
.withLedgerRoleName(LedgerRoleName.READER))))
.create();
}

@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
```

### Ledger_Delete

```java
import com.azure.core.util.Context;

/** Samples for Ledger Delete. */
public final class LedgerDeleteSamples {
/*
* x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_Delete.json
*/
/**
* Sample code: ConfidentialLedgerDelete.
*
* @param manager Entry point to ConfidentialLedgerManager.
*/
public static void confidentialLedgerDelete(
com.azure.resourcemanager.confidentialledger.ConfidentialLedgerManager manager) {
manager.ledgers().delete("DummyResourceGroupName", "DummyLedgerName", Context.NONE);
}
}
```

### Ledger_GetByResourceGroup

```java
import com.azure.core.util.Context;

/** Samples for Ledger GetByResourceGroup. */
public final class LedgerGetByResourceGroupSamples {
/*
* x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_Get.json
*/
/**
* Sample code: ConfidentialLedgerGet.
*
* @param manager Entry point to ConfidentialLedgerManager.
*/
public static void confidentialLedgerGet(
com.azure.resourcemanager.confidentialledger.ConfidentialLedgerManager manager) {
manager.ledgers().getByResourceGroupWithResponse("DummyResourceGroupName", "DummyLedgerName", Context.NONE);
}
}
```

### Ledger_List

```java
import com.azure.core.util.Context;

/** Samples for Ledger List. */
public final class LedgerListSamples {
/*
* x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_ListBySub.json
*/
/**
* Sample code: ConfidentialLedgerListBySub.
*
* @param manager Entry point to ConfidentialLedgerManager.
*/
public static void confidentialLedgerListBySub(
com.azure.resourcemanager.confidentialledger.ConfidentialLedgerManager manager) {
manager.ledgers().list(null, Context.NONE);
}
}
```

### Ledger_ListByResourceGroup

```java
import com.azure.core.util.Context;

/** Samples for Ledger ListByResourceGroup. */
public final class LedgerListByResourceGroupSamples {
/*
* x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_List.json
*/
/**
* Sample code: ConfidentialLedgerList.
*
* @param manager Entry point to ConfidentialLedgerManager.
*/
public static void confidentialLedgerList(
com.azure.resourcemanager.confidentialledger.ConfidentialLedgerManager manager) {
manager.ledgers().listByResourceGroup("DummyResourceGroupName", null, Context.NONE);
}
}
```

### Ledger_Update

```java
import com.azure.core.util.Context;
import com.azure.resourcemanager.confidentialledger.models.ConfidentialLedger;
import com.azure.resourcemanager.confidentialledger.models.LedgerProperties;
import java.util.HashMap;
import java.util.Map;

/** Samples for Ledger Update. */
public final class LedgerUpdateSamples {
/*
* x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_Update.json
*/
/**
* Sample code: ConfidentialLedgerUpdate.
*
* @param manager Entry point to ConfidentialLedgerManager.
*/
public static void confidentialLedgerUpdate(
com.azure.resourcemanager.confidentialledger.ConfidentialLedgerManager manager) {
ConfidentialLedger resource =
manager
.ledgers()
.getByResourceGroupWithResponse("DummyResourceGroupName", "DummyLedgerName", Context.NONE)
.getValue();
resource
.update()
.withTags(mapOf("additionProps2", "additional property value", "additionalProps1", "additional properties"))
.withProperties(new LedgerProperties())
.apply();
}

@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
```

### Operations_List

```java
import com.azure.core.util.Context;

/** Samples for Operations List. */
public final class OperationsListSamples {
/*
* x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/Operations_Get.json
*/
/**
* Sample code: OperationsGet.
*
* @param manager Entry point to ConfidentialLedgerManager.
*/
public static void operationsGet(com.azure.resourcemanager.confidentialledger.ConfidentialLedgerManager manager) {
manager.operations().list(Context.NONE);
}
}
```

### ResourceProvider_CheckNameAvailability

```java
import com.azure.core.util.Context;
import com.azure.resourcemanager.confidentialledger.models.CheckNameAvailabilityRequest;

/** Samples for ResourceProvider CheckNameAvailability. */
public final class ResourceProviderCheckNameAvailabilitySamples {
/*
* x-ms-original-file: specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/CheckNameAvailability.json
*/
/**
* Sample code: CheckNameAvailability.
*
* @param manager Entry point to ConfidentialLedgerManager.
*/
public static void checkNameAvailability(
com.azure.resourcemanager.confidentialledger.ConfidentialLedgerManager manager) {
manager
.resourceProviders()
.checkNameAvailabilityWithResponse(
new CheckNameAvailabilityRequest()
.withName("sample-name")
.withType("Microsoft.ConfidentialLedger/ledgers"),
Context.NONE);
}
}
```

Loading